From af15269a37e81c1a6c236ad7ccf198b954eb5d71 Mon Sep 17 00:00:00 2001 From: Esa Kataja Date: Thu, 14 Nov 2024 15:59:01 +0200 Subject: [PATCH] Add Base site --- package.json | 1 + pnpm-lock.yaml | 344 ++++++++++++++++++++++++- src/app.css | 36 +++ src/app.html | 24 +- src/lib/components/Card.svelte | 34 +++ src/lib/components/CardList.svelte | 73 ++++++ src/lib/components/Footer.svelte | 3 + src/lib/components/Header.svelte | 21 ++ src/lib/components/Login.svelte | 25 ++ src/lib/components/MovieDetails.svelte | 30 +++ src/routes/+layout.svelte | 14 +- src/routes/+page.svelte | 2 - src/routes/login/+page.svelte | 5 + static/favicon-192x192.png | Bin 0 -> 21469 bytes static/favicon.ico | Bin 0 -> 15674 bytes static/favicon.png | Bin 1571 -> 0 bytes tailwind.config.ts | 34 ++- vite.config.ts | 5 +- 18 files changed, 632 insertions(+), 19 deletions(-) create mode 100644 src/lib/components/Card.svelte create mode 100644 src/lib/components/CardList.svelte create mode 100644 src/lib/components/Footer.svelte create mode 100644 src/lib/components/Header.svelte create mode 100644 src/lib/components/Login.svelte create mode 100644 src/lib/components/MovieDetails.svelte create mode 100644 src/routes/login/+page.svelte create mode 100644 static/favicon-192x192.png create mode 100644 static/favicon.ico delete mode 100644 static/favicon.png diff --git a/package.json b/package.json index 8756bf9..afc0904 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/enhanced-img": "^0.4.1", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^4.0.0", "@tailwindcss/aspect-ratio": "^0.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2614f4c..10add61 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@sveltejs/adapter-auto': specifier: ^3.0.0 version: 3.3.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11)) + '@sveltejs/enhanced-img': + specifier: ^0.4.1 + version: 0.4.1(rollup@4.26.0)(svelte@5.1.16)(vite@5.4.11) '@sveltejs/kit': specifier: ^2.0.0 version: 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11) @@ -61,7 +64,7 @@ importers: version: 5.1.16 svelte-check: specifier: ^4.0.0 - version: 4.0.7(svelte@5.1.16)(typescript@5.6.3) + version: 4.0.7(picomatch@4.0.2)(svelte@5.1.16)(typescript@5.6.3) tailwindcss: specifier: ^3.4.9 version: 3.4.14 @@ -85,6 +88,9 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@emnapi/runtime@1.3.1': + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -277,6 +283,111 @@ packages: resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -318,6 +429,15 @@ packages: '@polka/url@1.0.0-next.28': resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + '@rollup/pluginutils@5.1.3': + resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.26.0': resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==} cpu: [arm] @@ -413,6 +533,12 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 + '@sveltejs/enhanced-img@0.4.1': + resolution: {integrity: sha512-Z0xwQWM7tfdlNYuaFsAsbjEosEZb961yP7hlvZBLlh3+Rv4tI3BboD6bUkmInj+cC66p/5rybgvEtxX5LILSuw==} + peerDependencies: + svelte: ^5.0.0 + vite: '>= 5.0.0' + '@sveltejs/kit@2.8.1': resolution: {integrity: sha512-uuOfFwZ4xvnfPsiTB6a4H1ljjTUksGhWnYq5X/Y9z4x5+3uM2Md8q/YVeHL+7w+mygAwoEFdgKZ8YkUuk+VKww==} engines: {node: '>=18.13'} @@ -640,6 +766,13 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -676,6 +809,10 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + devalue@5.1.1: resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} @@ -784,6 +921,9 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -887,6 +1027,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + imagetools-core@7.0.1: + resolution: {integrity: sha512-XDUx3Ac1VrZ4XF5eAJNYdHbFXRPNyebHFrwJsZ4WHb7X2MitOVW23cFphSDByT3MH5rdWdxKr4edSW2agChvDg==} + engines: {node: '>=18.0.0'} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -898,6 +1042,9 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -1100,6 +1247,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -1297,6 +1448,10 @@ packages: set-cookie-parser@2.7.1: resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1309,6 +1464,9 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + sirv@3.0.0: resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} engines: {node: '>=18'} @@ -1367,6 +1525,11 @@ packages: svelte: optional: true + svelte-parse-markup@0.1.5: + resolution: {integrity: sha512-T6mqZrySltPCDwfKXWQ6zehipVLk4GWfH1zCMGgRtLlOIFPuw58ZxVYxVvotMJgJaurKi1i14viB2GIRKXeJTQ==} + peerDependencies: + svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.1 + svelte@5.1.16: resolution: {integrity: sha512-QcY+om9r8+uTcSfeFuv8++ExdfwVCKeT+Y7GPSZ6rQPczvy62BMtvMoi0rScabgv+upGE5jxKjd7M4u23+AjGA==} engines: {node: '>=18'} @@ -1406,6 +1569,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -1436,6 +1602,10 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + vite-imagetools@7.0.4: + resolution: {integrity: sha512-C9C7b2p/8/TCN2g26tE9haoer2i8K4x0v2RXUiHsIjiz221vQuKItCQ+VyiVCsUMPXfJC/tlZsmCZVBz5jh7uA==} + engines: {node: '>=18.0.0'} + vite@5.4.11: resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} engines: {node: ^18.0.0 || >=20.0.0} @@ -1517,6 +1687,11 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@emnapi/runtime@1.3.1': + dependencies: + tslib: 2.8.1 + optional: true + '@esbuild/aix-ppc64@0.21.5': optional: true @@ -1638,6 +1813,81 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.3.1 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -1681,6 +1931,14 @@ snapshots: '@polka/url@1.0.0-next.28': {} + '@rollup/pluginutils@5.1.3(rollup@4.26.0)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.26.0 + '@rollup/rollup-android-arm-eabi@4.26.0': optional: true @@ -1740,6 +1998,17 @@ snapshots: '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11) import-meta-resolve: 4.1.0 + '@sveltejs/enhanced-img@0.4.1(rollup@4.26.0)(svelte@5.1.16)(vite@5.4.11)': + dependencies: + magic-string: 0.30.12 + svelte: 5.1.16 + svelte-parse-markup: 0.1.5(svelte@5.1.16) + vite: 5.4.11 + vite-imagetools: 7.0.4(rollup@4.26.0) + zimmerframe: 1.1.2 + transitivePeerDependencies: + - rollup + '@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11)': dependencies: '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.16)(vite@5.4.11) @@ -2002,6 +2271,16 @@ snapshots: color-name@1.1.4: {} + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + commander@4.1.1: {} concat-map@0.0.1: {} @@ -2024,6 +2303,8 @@ snapshots: deepmerge@4.3.1: {} + detect-libc@2.0.3: {} + devalue@5.1.1: {} didyoumean@1.2.2: {} @@ -2181,6 +2462,8 @@ snapshots: estraverse@5.3.0: {} + estree-walker@2.0.2: {} + esutils@2.0.3: {} fast-deep-equal@3.1.3: {} @@ -2201,7 +2484,9 @@ snapshots: dependencies: reusify: 1.0.4 - fdir@6.4.2: {} + fdir@6.4.2(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 file-entry-cache@8.0.0: dependencies: @@ -2270,6 +2555,8 @@ snapshots: ignore@5.3.2: {} + imagetools-core@7.0.1: {} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -2279,6 +2566,8 @@ snapshots: imurmurhash@0.1.4: {} + is-arrayish@0.3.2: {} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 @@ -2441,6 +2730,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.2: {} + pify@2.3.0: {} pirates@4.0.6: {} @@ -2577,6 +2868,32 @@ snapshots: set-cookie-parser@2.7.1: {} + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -2585,6 +2902,10 @@ snapshots: signal-exit@4.1.0: {} + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + sirv@3.0.0: dependencies: '@polka/url': 1.0.0-next.28 @@ -2631,11 +2952,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.0.7(svelte@5.1.16)(typescript@5.6.3): + svelte-check@4.0.7(picomatch@4.0.2)(svelte@5.1.16)(typescript@5.6.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.1 - fdir: 6.4.2 + fdir: 6.4.2(picomatch@4.0.2) picocolors: 1.1.1 sade: 1.8.1 svelte: 5.1.16 @@ -2653,6 +2974,10 @@ snapshots: optionalDependencies: svelte: 5.1.16 + svelte-parse-markup@0.1.5(svelte@5.1.16): + dependencies: + svelte: 5.1.16 + svelte@5.1.16: dependencies: '@ampproject/remapping': 2.3.0 @@ -2723,6 +3048,9 @@ snapshots: ts-interface-checker@0.1.13: {} + tslib@2.8.1: + optional: true + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -2752,6 +3080,14 @@ snapshots: util-deprecate@1.0.2: {} + vite-imagetools@7.0.4(rollup@4.26.0): + dependencies: + '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + imagetools-core: 7.0.1 + sharp: 0.33.5 + transitivePeerDependencies: + - rollup + vite@5.4.11: dependencies: esbuild: 0.21.5 diff --git a/src/app.css b/src/app.css index a31e444..7fb21fc 100644 --- a/src/app.css +++ b/src/app.css @@ -1,3 +1,39 @@ @import 'tailwindcss/base'; @import 'tailwindcss/components'; @import 'tailwindcss/utilities'; +@import url('https://fonts.cdnfonts.com/css/chewy'); +@import url('https://fonts.cdnfonts.com/css/raleway-5'); +@import url('https://fonts.cdnfonts.com/css/nunito'); +@import url('https://fonts.cdnfonts.com/css/mountains-of-christmas'); + +body { + @apply bg-primary-FestiveRed text-primary-SnowyWhite; + +} + +* { + font-family: 'raleway', sans-serif; +} + +h1, h2, h3, h4, h5, h6 { + font-family: 'mountains of christmas', cursive; +} + +.input-text { + @apply border-2 rounded-md p-2 bg-primary-FestiveRed border-primary-SantaSuitBlack-light; +} + +.button { + @apply border-2 rounded-md p-2; +} + +.button-primary { + @apply border-primary-GoldTinsel bg-primary-GoldTinsel-dark text-primary-SantaSuitBlack font-bold mx-auto px-6 hover:bg-primary-GoldTinsel-light +} + +.movie-poster { + @apply rounded-md mx-2 w-[60rem] + /* aspect-ratio: auto; */ + /* width: 100%; */ + +} \ No newline at end of file diff --git a/src/app.html b/src/app.html index 77a5ff5..f57de04 100644 --- a/src/app.html +++ b/src/app.html @@ -1,12 +1,16 @@ - - - - - %sveltekit.head% - - -
%sveltekit.body%
- - + + + + + + + %sveltekit.head% + + + +
%sveltekit.body%
+ + + \ No newline at end of file diff --git a/src/lib/components/Card.svelte b/src/lib/components/Card.svelte new file mode 100644 index 0000000..6d6dd71 --- /dev/null +++ b/src/lib/components/Card.svelte @@ -0,0 +1,34 @@ + + +
+
+ + + + + + +
+
+ + diff --git a/src/lib/components/CardList.svelte b/src/lib/components/CardList.svelte new file mode 100644 index 0000000..6c6be91 --- /dev/null +++ b/src/lib/components/CardList.svelte @@ -0,0 +1,73 @@ + + +
+ {#each cards as card} + + {/each} + + +
diff --git a/src/lib/components/Footer.svelte b/src/lib/components/Footer.svelte new file mode 100644 index 0000000..cb55827 --- /dev/null +++ b/src/lib/components/Footer.svelte @@ -0,0 +1,3 @@ +
+

Paska Joululeffa 2024© Kessinen

+
diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte new file mode 100644 index 0000000..1730cc0 --- /dev/null +++ b/src/lib/components/Header.svelte @@ -0,0 +1,21 @@ + + +
+ +

Paska Joululeffa 2024

+
+ + Sisään + + +
diff --git a/src/lib/components/Login.svelte b/src/lib/components/Login.svelte new file mode 100644 index 0000000..2db805d --- /dev/null +++ b/src/lib/components/Login.svelte @@ -0,0 +1,25 @@ + + +
+

Kirjaudu sisään

+
+ + + + +
+ +
+
diff --git a/src/lib/components/MovieDetails.svelte b/src/lib/components/MovieDetails.svelte new file mode 100644 index 0000000..630f473 --- /dev/null +++ b/src/lib/components/MovieDetails.svelte @@ -0,0 +1,30 @@ +
+

Maple Valley Christmas

+
+
+ Poster +
+
+
+

Vuosi:

+

2022

+

Näyttelijät:

+

Peyton List, Andrew W. Walker, Frances Flanagan

+
+
+

Juoni:

+
+

+ Erica on karjatilan omistaja, joka on viettänyt koko elämänsä työskennellen perheensä + tilalla äitinsä ja siskonsa kanssa. Kun Aaron saapuu ja sotkee hänen suunnitelmansa, + Erica alkaa pohtia, mitä hän oikeastaan haluaa elämältään. +

+
+
+
+
+
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 9b776b7..b444b99 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,6 +1,18 @@ -{@render children()} + + Paska joululeffa 2024 + + +
+
+
+ {@render children()} +
+
+
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index cc88df0..e69de29 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,2 +0,0 @@ -

Welcome to SvelteKit

-

Visit svelte.dev/docs/kit to read the documentation

diff --git a/src/routes/login/+page.svelte b/src/routes/login/+page.svelte new file mode 100644 index 0000000..a5e7826 --- /dev/null +++ b/src/routes/login/+page.svelte @@ -0,0 +1,5 @@ + + + diff --git a/static/favicon-192x192.png b/static/favicon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..1c5ee2b01fd4cd5901ea3496e1bb8e21ba2adbe6 GIT binary patch literal 21469 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 literal 0 HcmV?d00001 diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ebc470a478cd01b2849dddcd3c81031c30f4e048 GIT binary patch literal 15674 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 Y|Fr3S7X2sx@39BsfB*UY2Wa5G0etct8UO$Q literal 0 HcmV?d00001 diff --git a/static/favicon.png b/static/favicon.png deleted file mode 100644 index 825b9e65af7c104cfb07089bb28659393b4f2097..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1571 zcmV+;2Hg3HP)Px)-AP12RCwC$UE6KzI1p6{F2N z1VK2vi|pOpn{~#djwYcWXTI_im_u^TJgMZ4JMOsSj!0ma>B?-(Hr@X&W@|R-$}W@Z zgj#$x=!~7LGqHW?IO8+*oE1MyDp!G=L0#^lUx?;!fXv@l^6SvTnf^ac{5OurzC#ZMYc20lI%HhX816AYVs1T3heS1*WaWH z%;x>)-J}YB5#CLzU@GBR6sXYrD>Vw(Fmt#|JP;+}<#6b63Ike{Fuo!?M{yEffez;| zp!PfsuaC)>h>-AdbnwN13g*1LowNjT5?+lFVd#9$!8Z9HA|$*6dQ8EHLu}U|obW6f z2%uGv?vr=KNq7YYa2Roj;|zooo<)lf=&2yxM@e`kM$CmCR#x>gI>I|*Ubr({5Y^rb zghxQU22N}F51}^yfDSt786oMTc!W&V;d?76)9KXX1 z+6Okem(d}YXmmOiZq$!IPk5t8nnS{%?+vDFz3BevmFNgpIod~R{>@#@5x9zJKEHLHv!gHeK~n)Ld!M8DB|Kfe%~123&Hz1Z(86nU7*G5chmyDe ziV7$pB7pJ=96hpxHv9rCR29%bLOXlKU<_13_M8x)6;P8E1Kz6G<&P?$P^%c!M5`2` zfY2zg;VK5~^>TJGQzc+33-n~gKt{{of8GzUkWmU110IgI0DLxRIM>0US|TsM=L|@F z0Bun8U!cRB7-2apz=y-7*UxOxz@Z0)@QM)9wSGki1AZ38ceG7Q72z5`i;i=J`ILzL z@iUO?SBBG-0cQuo+an4TsLy-g-x;8P4UVwk|D8{W@U1Zi z!M)+jqy@nQ$p?5tsHp-6J304Q={v-B>66$P0IDx&YT(`IcZ~bZfmn11#rXd7<5s}y zBi9eim&zQc0Dk|2>$bs0PnLmDfMP5lcXRY&cvJ=zKxI^f0%-d$tD!`LBf9^jMSYUA zI8U?CWdY@}cRq6{5~y+)#h1!*-HcGW@+gZ4B};0OnC~`xQOyH19z*TA!!BJ%9s0V3F?CAJ{hTd#*tf+ur-W9MOURF-@B77_-OshsY}6 zOXRY=5%C^*26z?l)1=$bz30!so5tfABdSYzO+H=CpV~aaUefmjvfZ3Ttu9W&W3Iu6 zROlh0MFA5h;my}8lB0tAV-Rvc2Zs_CCSJnx@d`**$idgy-iMob4dJWWw|21b4NB=LfsYp0Aeh{Ov)yztQi;eL4y5 zMi>8^SzKqk8~k?UiQK^^-5d8c%bV?$F8%X~czyiaKCI2=UH