From 8f4e924e57d2c06dfbd378a5d99a160a210f65c3 Mon Sep 17 00:00:00 2001 From: Cooper Ransom Date: Tue, 9 Apr 2024 22:21:13 -0400 Subject: [PATCH] New sexy discover page media cards --- package.json | 6 +-- pnpm-lock.yaml | 100 ++++++++++++++++++++--------------------- src/pages/Discover.tsx | 77 ++++++++++++++----------------- 3 files changed, 87 insertions(+), 96 deletions(-) diff --git a/package.json b/package.json index f2e0acdc..93f0e937 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "fscreen": "^1.2.0", "fuse.js": "^7.0.0", "hls.js": "^1.5.7", - "i18next": "^23.10.1", + "i18next": "^23.11.1", "immer": "^10.0.4", "jwt-decode": "^4.0.0", "lodash.isequal": "^4.5.0", @@ -82,9 +82,9 @@ "@types/lodash.isequal": "^4.5.8", "@types/lodash.merge": "^4.6.9", "@types/lodash.throttle": "^4.1.9", - "@types/node": "^20.12.5", + "@types/node": "^20.12.7", "@types/pako": "^2.0.3", - "@types/react": "^18.2.74", + "@types/react": "^18.2.75", "@types/react-dom": "^18.2.24", "@types/react-helmet": "^6.1.11", "@types/react-lazy-load-image-component": "^1.6.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e77cb450..0fd4f145 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,8 +70,8 @@ dependencies: specifier: ^1.5.7 version: 1.5.7 i18next: - specifier: ^23.10.1 - version: 23.10.1 + specifier: ^23.11.1 + version: 23.11.1 immer: specifier: ^10.0.4 version: 10.0.4 @@ -113,7 +113,7 @@ dependencies: version: 2.0.4(react-dom@18.2.0)(react@18.2.0) react-i18next: specifier: ^14.1.0 - version: 14.1.0(i18next@23.10.1)(react-dom@18.2.0)(react@18.2.0) + version: 14.1.0(i18next@23.11.1)(react-dom@18.2.0)(react@18.2.0) react-lazy-with-preload: specifier: ^2.2.1 version: 2.2.1 @@ -140,7 +140,7 @@ dependencies: version: 2.1.2 zustand: specifier: ^4.5.2 - version: 4.5.2(@types/react@18.2.74)(immer@10.0.4)(react@18.2.0) + version: 4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0) devDependencies: '@babel/core': @@ -177,14 +177,14 @@ devDependencies: specifier: ^4.1.9 version: 4.1.9 '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^20.12.7 + version: 20.12.7 '@types/pako': specifier: ^2.0.3 version: 2.0.3 '@types/react': - specifier: ^18.2.74 - version: 18.2.74 + specifier: ^18.2.75 + version: 18.2.75 '@types/react-dom': specifier: ^18.2.24 version: 18.2.24 @@ -295,7 +295,7 @@ devDependencies: version: 5.4.4 vite: specifier: ^5.2.8 - version: 5.2.8(@types/node@20.12.5) + version: 5.2.8(@types/node@20.12.7) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.57.0)(typescript@5.4.4)(vite@5.2.8) @@ -310,7 +310,7 @@ devDependencies: version: 1.0.2(vite@5.2.8) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(jsdom@23.2.0) + version: 1.4.0(@types/node@20.12.7)(jsdom@23.2.0) workbox-window: specifier: ^7.0.0 version: 7.0.0 @@ -2255,11 +2255,11 @@ packages: /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 dev: false - /@types/node@20.12.5: - resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 @@ -2273,19 +2273,19 @@ packages: /@types/react-dom@18.2.24: resolution: {integrity: sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg==} dependencies: - '@types/react': 18.2.74 + '@types/react': 18.2.75 dev: true /@types/react-helmet@6.1.11: resolution: {integrity: sha512-0QcdGLddTERotCXo3VFlUSWO3ztraw8nZ6e3zJSgG7apwV5xt+pJUS8ewPBqT4NYB1optGLprNQzFleIY84u/g==} dependencies: - '@types/react': 18.2.74 + '@types/react': 18.2.75 dev: true /@types/react-lazy-load-image-component@1.6.3: resolution: {integrity: sha512-HsIsYz7yWWTh/bftdzGnijKD26JyofLRqM/RM80sxs7Gk13G83ew8R/ra2XzXuiZfjNEjAq/Va+NBHFF9ciwxA==} dependencies: - '@types/react': 18.2.74 + '@types/react': 18.2.75 csstype: 3.1.3 dev: true @@ -2293,7 +2293,7 @@ packages: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.74 + '@types/react': 18.2.75 '@types/react-router': 5.1.20 dev: true @@ -2301,23 +2301,23 @@ packages: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.74 + '@types/react': 18.2.75 dev: true /@types/react-stickynode@4.0.3: resolution: {integrity: sha512-K7YkwdhXQE4YVxIVweix4nkpdG4onm/dcnKK+qCj0vgUrNiKng+09zOfjF5AlOcC1HQkg5yxVLwp/0AzT84R0w==} dependencies: - '@types/react': 18.2.74 + '@types/react': 18.2.75 dev: true /@types/react-transition-group@4.4.10: resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} dependencies: - '@types/react': 18.2.74 + '@types/react': 18.2.75 dev: true - /@types/react@18.2.74: - resolution: {integrity: sha512-9AEqNZZyBx8OdZpxzQlaFEVCSFUM2YXJH46yPOiOpm078k6ZLOCcuAzGum/zK8YBwY+dbahVNbHrbgrAwIRlqw==} + /@types/react@18.2.75: + resolution: {integrity: sha512-+DNnF7yc5y0bHkBTiLKqXFe+L4B3nvOphiMY3tuA5X10esmjqk7smyBZzbGTy2vsiy/Bnzj8yFIBL8xhRacoOg==} dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 @@ -2325,7 +2325,7 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 dev: true /@types/semver@7.5.8: @@ -2483,7 +2483,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - supports-color dev: true @@ -2750,7 +2750,7 @@ packages: postcss: '>=8.4.31' dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001606 + caniuse-lite: 1.0.30001607 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -2854,8 +2854,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001606 - electron-to-chromium: 1.4.729 + caniuse-lite: 1.0.30001607 + electron-to-chromium: 1.4.731 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) @@ -2894,8 +2894,8 @@ packages: engines: {node: '>= 6'} dev: true - /caniuse-lite@1.0.30001606: - resolution: {integrity: sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg==} + /caniuse-lite@1.0.30001607: + resolution: {integrity: sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w==} /chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} @@ -3361,8 +3361,8 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.729: - resolution: {integrity: sha512-bx7+5Saea/qu14kmPTDHQxkp2UnziG3iajUQu3BxFvCOnpAJdDbMV4rSl+EqFDkkpNNVUFlR1kDfpL59xfy1HA==} + /electron-to-chromium@1.4.731: + resolution: {integrity: sha512-+TqVfZjpRz2V/5SPpmJxq9qK620SC5SqCnxQIOi7i/U08ZDcTpKbT7Xjj9FU5CbXTMUb4fywbIr8C7cGv4hcjw==} /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4340,8 +4340,8 @@ packages: resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} dev: false - /i18next@23.10.1: - resolution: {integrity: sha512-NDiIzFbcs3O9PXpfhkjyf7WdqFn5Vq6mhzhtkXzj51aOcNuPNcTwuYNuXCpHsanZGHlHKL35G7huoFeVic1hng==} + /i18next@23.11.1: + resolution: {integrity: sha512-mXw4A24BiPZKRsbb9ewgSvjYd6fxFCNwJyfK6nYfSTIAX2GkCWcb598m3DFkDZmqADatvuASrKo6qwORz3VwTQ==} dependencies: '@babel/runtime': 7.24.4 dev: false @@ -4678,7 +4678,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -5651,7 +5651,7 @@ packages: shallowequal: 1.1.0 dev: false - /react-i18next@14.1.0(i18next@23.10.1)(react-dom@18.2.0)(react@18.2.0): + /react-i18next@14.1.0(i18next@23.11.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3KwX6LHpbvGQ+sBEntjV4sYW3Zovjjl3fpoHbUwSgFHf0uRBcbeCBLR5al6ikncI5+W0EFb71QXZmfop+J6NrQ==} peerDependencies: i18next: '>= 23.2.3' @@ -5666,7 +5666,7 @@ packages: dependencies: '@babel/runtime': 7.24.4 html-parse-stringify: 3.0.1 - i18next: 23.10.1 + i18next: 23.11.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6748,7 +6748,7 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite-node@1.4.0(@types/node@20.12.5): + /vite-node@1.4.0(@types/node@20.12.7): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -6757,7 +6757,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' - less @@ -6813,7 +6813,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.3 typescript: 5.4.4 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -6825,7 +6825,7 @@ packages: peerDependencies: vite: '>=2.0.0-beta.69' dependencies: - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) dev: true /vite-plugin-pwa@0.17.5(vite@5.2.8)(workbox-build@7.0.0)(workbox-window@7.0.0): @@ -6839,7 +6839,7 @@ packages: debug: 4.3.4 fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) workbox-build: 7.0.0 workbox-window: 7.0.0 transitivePeerDependencies: @@ -6856,10 +6856,10 @@ packages: fast-glob: 3.3.2 fs-extra: 11.2.0 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) dev: true - /vite@5.2.8(@types/node@20.12.5): + /vite@5.2.8(@types/node@20.12.7): resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -6887,7 +6887,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 rollup: /@rollup/wasm-node@4.14.1 @@ -6895,7 +6895,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.5)(jsdom@23.2.0): + /vitest@1.4.0(@types/node@20.12.7)(jsdom@23.2.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -6920,7 +6920,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -6939,8 +6939,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.6.0 tinypool: 0.8.3 - vite: 5.2.8(@types/node@20.12.5) - vite-node: 1.4.0(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) + vite-node: 1.4.0(@types/node@20.12.7) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -7360,7 +7360,7 @@ packages: engines: {node: '>=12.20'} dev: true - /zustand@4.5.2(@types/react@18.2.74)(immer@10.0.4)(react@18.2.0): + /zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0): resolution: {integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==} engines: {node: '>=12.7.0'} peerDependencies: @@ -7375,7 +7375,7 @@ packages: react: optional: true dependencies: - '@types/react': 18.2.74 + '@types/react': 18.2.75 immer: 10.0.4 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) diff --git a/src/pages/Discover.tsx b/src/pages/Discover.tsx index fe57cc17..d6a210ee 100644 --- a/src/pages/Discover.tsx +++ b/src/pages/Discover.tsx @@ -252,13 +252,13 @@ export function Discover() { ? `${category} Shows` : `${category} Movies`; return ( -
-

+
+

{displayCategory}