diff --git a/_docs/contributing/development-environment/index.md b/_docs/contributing/development-environment/index.md index a3db8e64d..082cbf576 100755 --- a/_docs/contributing/development-environment/index.md +++ b/_docs/contributing/development-environment/index.md @@ -15,13 +15,15 @@ There are a few options for running Playnite Web for local development. Choose a ## Running Playnite Web -| Application | Command | Notes | -| :--------------- | :------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Playnite Web App | `yarn nx run playnite-web:start` | Run Playnite Web application locally. Navigate to [http://localhost:3000](http://localhost:3000) in a browser. Environment variables are pulled from `./apps/playnite-web/local.env`. | -| Playnite Web App | `yarn nx run playnite-web:test/components` | Run component tests for development. | -| Playnite Web App | `yarn nx run playnite-web:test/components/update` | Run component tests with intention to update a baseline screenshot. | -| Playnite Web App | `yarn nx run playnite-web-app:test/e2e` | Run end-to-end (e2e) tests for development (including visual regression capabilities). A consistent database restored along with consistent game assets. This ensures a reliable data set to test against. | -| Playnite Web App | `yarn nx run playnite-web-app:test/e2e/update` | Run end-to-end (e2e) tests with intention to update a baseline screenshot. | +| Application | Command | Notes | +| :--------------- | :----------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Playnite Web App | `yarn nx run playnite-web:start` | Run Playnite Web application locally. Navigate to [http://localhost:3000](http://localhost:3000) in a browser. Environment variables are pulled from `./apps/playnite-web/local.env`. | +| Playnite Web App | `yarn nx run playnite-web:test/components` | Run component tests for development. | +| Playnite Web App | `yarn nx run playnite-web:test/components/update` | Run component tests with intention to update a baseline screenshot. | +| Playnite Web App | `yarn nx run playnite-web:test/components/update $GLOB_FILE_MATCH` | Run component tests with intention to update baseline screenshots. Runs only tests matching glob CLI parameter; e.g. `yarn nx run playnite-web:test/components/update FilterForm*` | +| Playnite Web App | `yarn nx run playnite-web-app:test/e2e` | Run end-to-end (e2e) tests for development (including visual regression capabilities). A consistent database restored along with consistent game assets. This ensures a reliable data set to test against. | +| Playnite Web App | `yarn nx run playnite-web-app:test/e2e/update` | Run end-to-end (e2e) tests with intention to update a baseline screenshot. | +| Playnite Web App | `yarn nx run playnite-web-app:test/e2e/update $GLOB_FILE_MATCH` | Run end-to-end (e2e) tests with intention to update a baseline screenshot. Runs only tests matching glob CLI parameter' e.g. `yarn nx run playnite-web-app:test/e2e/update **/browse*` | ## Playnite Web Plugin Development diff --git a/apps/playnite-web/cypress.config.mjs b/apps/playnite-web/cypress.config.mjs index 6c6237edc..1dde530c7 100755 --- a/apps/playnite-web/cypress.config.mjs +++ b/apps/playnite-web/cypress.config.mjs @@ -29,7 +29,7 @@ const config = { `--window-size=${viewportWidth},${viewportHeight}`, ) launchOptions.args.push( - `--force-device-scale-factor=${process.env.LOCAL === 'true' ? '2' : '1'}`, + `--force-device-scale-factor=${process.env.LOCAL === 'true' ? process.env.SCALE && '1' : '1'}`, ) break case 'electron': @@ -37,7 +37,7 @@ const config = { launchOptions.preferences.width = viewportWidth launchOptions.preferences.height = viewportHeight launchOptions.args.push( - `--force-device-scale-factor=${process.env.LOCAL === 'true' ? '2' : '1'}`, + `--force-device-scale-factor=${process.env.LOCAL === 'true' ? process.env.SCALE && '1' : '1'}`, ) } @@ -148,7 +148,7 @@ const config = { `--window-size=${viewportWidth},${viewportHeight}`, ) launchOptions.args.push( - `--force-device-scale-factor=${process.env.LOCAL === 'true' ? '2' : '1'}`, + `--force-device-scale-factor=${process.env.LOCAL === 'true' ? process.env.SCALE && '1' : '1'}`, ) break case 'electron': @@ -156,7 +156,7 @@ const config = { launchOptions.preferences.width = viewportWidth launchOptions.preferences.height = viewportHeight launchOptions.args.push( - `--force-device-scale-factor=${process.env.LOCAL === 'true' ? '2' : '1'}`, + `--force-device-scale-factor=${process.env.LOCAL === 'true' ? process.env.SCALE && '1' : '1'}`, ) } diff --git a/apps/playnite-web/cypress/e2e/on-deck/index.cy.ts b/apps/playnite-web/cypress/e2e/on-deck/index.cy.ts index 7422742f0..62409450e 100755 --- a/apps/playnite-web/cypress/e2e/on-deck/index.cy.ts +++ b/apps/playnite-web/cypress/e2e/on-deck/index.cy.ts @@ -12,15 +12,10 @@ describe('On deck.', () => { - Each game shows the game's cover image and name. - Playing playlist shows games that have the game state: "On Deck".`, () => { cy.visit('/') - - cy.contains('h4', 'On Deck').parents('[data-test="playlist"]') - cy.get('[data-test="GameFigure"]').should('have.length', 8) - cy.get('[data-test="GameFigure"]') - .eq(0) - .should('have.text', 'Star Wars Outlaws') + cy.wait(300) cy.compareSnapshot({ - name: 'on-deck-playlist', + name: `on-deck-playlist_${breakpointName}`, }) }) }) diff --git a/apps/playnite-web/project.json b/apps/playnite-web/project.json index d833361c0..dcd187007 100755 --- a/apps/playnite-web/project.json +++ b/apps/playnite-web/project.json @@ -10,10 +10,12 @@ "{projectRoot}/_packaged", "{projectRoot}/.test-runs", "{projectRoot}/build", - "{projectRoot}/.nyc_output" + "{projectRoot}/.nyc_output", + "{projectRoot}/visual-regression-tests/component-report", + "{projectRoot}/visual-regression-tests/e2e-report" ], "options": { - "command": "yarn rimraf server.production.cjs .dist _packaged .test-runs build .nyc_output", + "command": "yarn rimraf server.production.cjs .dist _packaged .test-runs build .nyc_output visual-regression-tests/*report", "cwd": "{projectRoot}" } }, @@ -143,10 +145,7 @@ "dependsOn": ["test/components:ci/local"], "options": { "parallel": false, - "commands": [ - "yarn tsx scripts/component-for-update.ts", - "yarn cypress-image-diff-html-report start --reportJsonDir visual-regression-tests/component-report --autoOpen" - ], + "command": "yarn tsx scripts/component-for-update.ts", "cwd": "{projectRoot}" } }, @@ -198,7 +197,7 @@ "commands": [ "yarn nx run playnite-web-app:start/services:ci", "yarn nx run playnite-web-app:package/instrumented", - "yarn start-server-and-test 'yarn cross-env DEBUG=\"playnite*\" NODE_ENV=production yarn node _packaged/server.production.cjs' http://localhost:3000 'yarn cross-env TEST=e2e CI=true LOCAL=true yarn cypress run --e2e --browser electron'" + "yarn start-server-and-test 'yarn cross-env DEBUG=\"playnite*\" NODE_ENV=production yarn node _packaged/server.production.cjs' http://localhost:3000 'yarn cross-env TEST=e2e CI=true LOCAL=true yarn cypress open --e2e --browser electron'" ] } } @@ -218,10 +217,7 @@ ], "options": { "parallel": false, - "commands": [ - "yarn tsx scripts/e2e-for-update.ts", - "yarn cypress-image-diff-html-report start --reportJsonDir visual-regression-tests/e2e-report --autoOpen" - ], + "command": "yarn tsx scripts/e2e-for-update.ts", "cwd": "{projectRoot}", "env": { "INSTRUMENT": "true" diff --git a/apps/playnite-web/scripts/component-for-update.ts b/apps/playnite-web/scripts/component-for-update.ts index 89a05846c..09719210b 100644 --- a/apps/playnite-web/scripts/component-for-update.ts +++ b/apps/playnite-web/scripts/component-for-update.ts @@ -1,7 +1,14 @@ import sh from 'shelljs' async function run() { - sh.exec(`yarn nx run playnite-web-app:test/components:ci/local`) + const [, , specFilter] = process.argv + sh.exec( + `yarn cypress run --component --browser electron ${specFilter && `--spec src/**/__component_tests__/${specFilter}`}`, + ) + + sh.exec( + 'yarn cypress-image-diff-html-report start --reportJsonDir visual-regression-tests/component-report --autoOpen', + ) } run() diff --git a/apps/playnite-web/scripts/e2e-for-update.ts b/apps/playnite-web/scripts/e2e-for-update.ts index f5cf866b0..c7ad94e61 100644 --- a/apps/playnite-web/scripts/e2e-for-update.ts +++ b/apps/playnite-web/scripts/e2e-for-update.ts @@ -1,7 +1,16 @@ import sh from 'shelljs' - async function run() { - sh.exec(`yarn nx run playnite-web-app:test/e2e:ci/local`) + sh.exec('yarn nx run playnite-web-app:start/services:ci') + sh.exec('yarn nx run playnite-web-app:package/instrumented') + + const [, , specFilter] = process.argv + sh.exec( + `yarn start-server-and-test 'yarn cross-env DEBUG=\"playnite*\" NODE_ENV=production yarn node _packaged/server.production.cjs' http://localhost:3000 'yarn cross-env TEST=e2e CI=true LOCAL=true yarn cypress run --e2e --browser electron ${specFilter && `--spec cypress/e2e/**/${specFilter}`}'`, + ) + + sh.exec( + `yarn cypress-image-diff-html-report start --reportJsonDir visual-regression-tests/e2e-report --autoOpen`, + ) } run() diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/browse.cy.ts-filter-by-platform-selection_ipad-mini-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/browse.cy.ts-filter-by-platform-selection_ipad-mini-portrait.png index 8e4ca5892..27ab7b748 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/browse.cy.ts-filter-by-platform-selection_ipad-mini-portrait.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/browse.cy.ts-filter-by-platform-selection_ipad-mini-portrait.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/browse.cy.ts-filter-by-platform-selection_ipad-pro-12-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/browse.cy.ts-filter-by-platform-selection_ipad-pro-12-portrait.png index ed04b9b92..faa8894ab 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/browse.cy.ts-filter-by-platform-selection_ipad-pro-12-portrait.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/browse.cy.ts-filter-by-platform-selection_ipad-pro-12-portrait.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-desktop.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-desktop.png index 2b3222e14..709057ade 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-desktop.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-desktop.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-ipad-mini-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-ipad-mini-landscape.png index 5a0cd5c7f..e4a517b41 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-ipad-mini-landscape.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-ipad-mini-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-ipad-pro-12-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-ipad-pro-12-landscape.png index 63adab431..62913f8f7 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-ipad-pro-12-landscape.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-Browse-ipad-pro-12-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-desktop.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-desktop.png index e4e45ad28..0e3c101c8 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-desktop.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-desktop.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-ipad-mini-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-ipad-mini-landscape.png index 4e5c08849..cbd85279a 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-ipad-mini-landscape.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-ipad-mini-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-ipad-pro-12-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-ipad-pro-12-landscape.png index 6f531d709..02c1ce81c 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-ipad-pro-12-landscape.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-ipad-pro-12-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-iphone-16-pro-max-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-iphone-16-pro-max-portrait.png index a32287269..f14acb8c5 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-iphone-16-pro-max-portrait.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-game-details-On Deck-iphone-16-pro-max-portrait.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_desktop.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_desktop.png index 19c8799cf..b7a6db54b 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_desktop.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_desktop.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_ipad-mini-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_ipad-mini-landscape.png index a9b5fff4c..b3170d3b9 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_ipad-mini-landscape.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_ipad-mini-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_ipad-pro-12-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_ipad-pro-12-landscape.png index 4af33f10f..7421cff98 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_ipad-pro-12-landscape.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_ipad-pro-12-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_iphone-16-pro-max-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_iphone-16-pro-max-portrait.png index b382e8770..9fdea67c4 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_iphone-16-pro-max-portrait.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_iphone-16-pro-max-portrait.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_iphone-16-pro-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_iphone-16-pro-portrait.png index 851ae001e..70f86cac9 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_iphone-16-pro-portrait.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-play-button-visible_iphone-16-pro-portrait.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_desktop.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_desktop.png index 19c8799cf..b7a6db54b 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_desktop.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_desktop.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_ipad-mini-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_ipad-mini-landscape.png index a9b5fff4c..b3170d3b9 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_ipad-mini-landscape.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_ipad-mini-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_ipad-pro-12-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_ipad-pro-12-landscape.png index 4af33f10f..7421cff98 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_ipad-pro-12-landscape.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_ipad-pro-12-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_iphone-16-pro-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_iphone-16-pro-portrait.png index 851ae001e..76ac22446 100755 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_iphone-16-pro-portrait.png and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/game-details.cy.ts-restart-stop-buttons-visible_iphone-16-pro-portrait.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist.png deleted file mode 100755 index 1e51daaee..000000000 Binary files a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist.png and /dev/null differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_desktop.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_desktop.png new file mode 100755 index 000000000..09c6e9c06 Binary files /dev/null and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_desktop.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-mini-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-mini-landscape.png new file mode 100755 index 000000000..c68eb40f7 Binary files /dev/null and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-mini-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-mini-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-mini-portrait.png new file mode 100755 index 000000000..801aed045 Binary files /dev/null and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-mini-portrait.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-pro-12-landscape.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-pro-12-landscape.png new file mode 100755 index 000000000..3ad1c194b Binary files /dev/null and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-pro-12-landscape.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-pro-12-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-pro-12-portrait.png new file mode 100755 index 000000000..47f4d3818 Binary files /dev/null and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_ipad-pro-12-portrait.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_iphone-16-pro-max-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_iphone-16-pro-max-portrait.png new file mode 100755 index 000000000..42116f9b7 Binary files /dev/null and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_iphone-16-pro-max-portrait.png differ diff --git a/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_iphone-16-pro-portrait.png b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_iphone-16-pro-portrait.png new file mode 100755 index 000000000..00fd6c57b Binary files /dev/null and b/apps/playnite-web/visual-regression-tests/e2e-screenshots/baseline/index.cy.ts-on-deck-playlist_iphone-16-pro-portrait.png differ