diff --git a/package.json b/package.json index 9b83dba..3a623fe 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "@cloudflare/speedtest": "^1.4.1", "@fontsource-variable/nunito": "^5.2.5", "@fontsource/geist-mono": "^5.2.6", + "@jis3r/icons": "^1.1.5", "@prgm/sveltekit-progress-bar": "2.0.0", "@thaunknown/web-irc": "^1.0.3", "@urql/core": "^5.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 60bd340..c4cec35 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,9 @@ importers: '@fontsource/geist-mono': specifier: ^5.2.6 version: 5.2.6 + '@jis3r/icons': + specifier: ^1.1.5 + version: 1.1.5(react@19.0.0) '@prgm/sveltekit-progress-bar': specifier: 2.0.0 version: 2.0.0(@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.19(terser@5.43.1)))(svelte@4.2.19)(vite@5.4.19(terser@5.43.1)))(svelte@4.2.19) @@ -176,7 +179,7 @@ importers: version: 1.8.10(@gql.tada/svelte-support@1.0.1(svelte@4.2.19)(typescript@5.8.3))(graphql@16.10.0)(typescript@5.8.3) hayase-extensions: specifier: github:hayase-app/extensions - version: https://codeload.github.com/hayase-app/extensions/tar.gz/675c4a7cfa1e2b4e88c2d11c4c195c33c68116e0 + version: https://codeload.github.com/hayase-app/extensions/tar.gz/785940de1833af9b5eb0f41dc3a537c881cb6276 jassub: specifier: ^1.8.6 version: 1.8.6 @@ -491,6 +494,9 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@jis3r/icons@1.1.5': + resolution: {integrity: sha512-A3W+SEI/EST0+UM9G/a7e5hwFpr6BTbEgJ74MeIfpH2pdUdNWR7AWzzBPCG8k36XSi2qqqg3kI1kxFj3i5kYOQ==} + '@jridgewell/gen-mapping@0.3.12': resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} @@ -498,6 +504,9 @@ packages: resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -518,6 +527,11 @@ packages: '@jridgewell/trace-mapping@0.3.29': resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + '@lucide/svelte@0.535.0': + resolution: {integrity: sha512-LSVs0G+IXSHHxMl/U6bHTnDP/pbmwpS7/mkCDXmWD9Wi0oQlZihKFoFLjDFhC+6mdfRE6ZgBasXTusvrOYv0lA==} + peerDependencies: + svelte: ^5 + '@melt-ui/svelte@0.76.2': resolution: {integrity: sha512-7SbOa11tXUS95T3fReL+dwDs5FyJtCEqrqG3inRziDws346SYLsxOQ6HmX+4BkIsQh1R8U3XNa+EMmdMt38lMA==} peerDependencies: @@ -535,6 +549,11 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@number-flow/svelte@0.3.9': + resolution: {integrity: sha512-CTw1+e0074GzbPX2IHcNCaK8nqxGNCOIUnQUjEjhcmBwBxOAhN3GYLQ6cJHvhQnWwplVe4eQ3z+c25Vttr2stQ==} + peerDependencies: + svelte: ^4 || ^5 + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -542,6 +561,9 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@posthog/core@1.0.2': + resolution: {integrity: sha512-hWk3rUtJl2crQK0WNmwg13n82hnTwB99BT99/XI5gZSvIlYZ1TPmMZE8H2dhJJ98J/rm9vYJ/UXNzw3RV5HTpQ==} + '@prgm/sveltekit-progress-bar@2.0.0': resolution: {integrity: sha512-N9SlYDfpqaY9MyG85Wk38R9/BipIUdTJ4U7LVPY5cFn5cwGZrVA1lsXC3I2kmGtwz+DF6v/DvySkYOWCPmJV4A==} engines: {node: '>=18'} @@ -1060,6 +1082,10 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + commander@14.0.0: + resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==} + engines: {node: '>=20'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -1080,6 +1106,9 @@ packages: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} + core-js@3.45.1: + resolution: {integrity: sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1378,6 +1407,9 @@ packages: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} + esrap@2.1.0: + resolution: {integrity: sha512-yzmPNpl7TBbMRC5Lj2JlJZNPml0tzqoqP5B1JXycNUwtqma9AKCO0M2wHrdgsHcy1WRW7S9rJknAMtByg3usgA==} + esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -1424,6 +1456,9 @@ packages: picomatch: optional: true + fflate@0.4.8: + resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -1457,6 +1492,20 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + framer-motion@12.23.12: + resolution: {integrity: sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + fs-extra@11.3.0: resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} @@ -1583,13 +1632,16 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/675c4a7cfa1e2b4e88c2d11c4c195c33c68116e0: - resolution: {tarball: https://codeload.github.com/hayase-app/extensions/tar.gz/675c4a7cfa1e2b4e88c2d11c4c195c33c68116e0} + hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/785940de1833af9b5eb0f41dc3a537c881cb6276: + resolution: {tarball: https://codeload.github.com/hayase-app/extensions/tar.gz/785940de1833af9b5eb0f41dc3a537c881cb6276} version: 1.0.6 idb-keyval@6.2.2: resolution: {integrity: sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==} + iflog@0.3.0: + resolution: {integrity: sha512-H66Mn4YfPG+GdTLniaV0Fa+Op19nNdXbWEIgSlq6ZuEr8M0znKEoWmKkg5XpEAaPQBK/IgPkl23PxB9HtBRa9Q==} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1882,9 +1934,34 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mode-watcher@0.5.1: + resolution: {integrity: sha512-adEC6T7TMX/kzQlaO/MtiQOSFekZfQu4MC+lXyoceQG+U5sKpJWZ4yKXqw846ExIuWJgedkOIPqAYYRk/xHm+w==} + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.1 + moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + motion-dom@12.23.12: + resolution: {integrity: sha512-RcR4fvMCTESQBD/uKQe49D5RUeDOokkGRmz4ceaJKDBgHYtZtntC/s2vLvY38gqGaytinij/yi3hMcWVcEF5Kw==} + + motion-utils@12.23.6: + resolution: {integrity: sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==} + + motion@12.23.12: + resolution: {integrity: sha512-8jCD8uW5GD1csOoqh1WhH1A6j5APHVE15nuBkFeRiMzYBdRwyAHmSP/oXSuW0WJPZRXTFdBoG4hY9TFWNhhwng==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -1919,6 +1996,9 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -1943,6 +2023,9 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + number-flow@0.5.8: + resolution: {integrity: sha512-FPr1DumWyGi5Nucoug14bC6xEz70A1TnhgSHhKyfqjgji2SOTz+iLJxKtv37N5JyJbteGYCm6NQ9p1O4KZ7iiA==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -2133,6 +2216,24 @@ packages: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + posthog-js@1.261.0: + resolution: {integrity: sha512-jyiXqyrCU+VlpbNNVRA6OQYAVut0XZMYNELCZH+XvTd981VqbE4jXn4XCBreo7XCL2gdPgDVxUVOuzNvEuKcmw==} + peerDependencies: + '@rrweb/types': 2.0.0-alpha.17 + rrweb-snapshot: 2.0.0-alpha.17 + peerDependenciesMeta: + '@rrweb/types': + optional: true + rrweb-snapshot: + optional: true + + preact@10.27.1: + resolution: {integrity: sha512-V79raXEWch/rbqoNc7nT9E4ep7lu+mI3+sBmfRD4i1M73R3WLYcCtdI0ibxGVf4eQL8ZIz2nFacqEC+rmnOORQ==} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2246,6 +2347,10 @@ packages: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} + shadcn-svelte@1.0.7: + resolution: {integrity: sha512-WM012JGATJpEqCaSNd9eAscFr/HKwLmRD5TplBXvhuMgbAVUNsjKiOSyvvjrZDx9L2FEqoEu9Ld5JpKr3xe2yQ==} + hasBin: true + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -2467,6 +2572,10 @@ packages: resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} engines: {node: '>=16'} + svelte@5.38.6: + resolution: {integrity: sha512-ltBPlkvqk3bgCK7/N323atUpP3O3Y+DrGV4dcULrsSn4fZaaNnOmdplNznwfdWclAgvSr5rxjtzn/zJhRm6TKg==} + engines: {node: '>=18'} + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -2667,6 +2776,9 @@ packages: vscode-languageserver-textdocument@1.0.12: resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + web-vitals@4.2.4: + resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -2761,6 +2873,9 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + zimmerframe@1.1.2: + resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} + snapshots: '@0no-co/graphql.web@1.1.2(graphql@16.10.0)': @@ -2966,11 +3081,27 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jis3r/icons@1.1.5(react@19.0.0)': + dependencies: + '@lucide/svelte': 0.535.0(svelte@5.38.6) + '@number-flow/svelte': 0.3.9(svelte@5.38.6) + iflog: 0.3.0 + mode-watcher: 0.5.1(svelte@5.38.6) + motion: 12.23.12(react@19.0.0) + posthog-js: 1.261.0 + shadcn-svelte: 1.0.7 + svelte: 5.38.6 + transitivePeerDependencies: + - '@emotion/is-prop-valid' + - '@rrweb/types' + - react + - react-dom + - rrweb-snapshot + '@jridgewell/gen-mapping@0.3.12': dependencies: '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.29 - optional: true '@jridgewell/gen-mapping@0.3.8': dependencies: @@ -2978,6 +3109,11 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} @@ -2999,7 +3135,10 @@ snapshots: dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - optional: true + + '@lucide/svelte@0.535.0(svelte@5.38.6)': + dependencies: + svelte: 5.38.6 '@melt-ui/svelte@0.76.2(svelte@4.2.19)': dependencies: @@ -3023,11 +3162,19 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 + '@number-flow/svelte@0.3.9(svelte@5.38.6)': + dependencies: + esm-env: 1.2.2 + number-flow: 0.5.8 + svelte: 5.38.6 + '@pkgjs/parseargs@0.11.0': optional: true '@polka/url@1.0.0-next.29': {} + '@posthog/core@1.0.2': {} + '@prgm/sveltekit-progress-bar@2.0.0(@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.19(terser@5.43.1)))(svelte@4.2.19)(vite@5.4.19(terser@5.43.1)))(svelte@4.2.19)': dependencies: '@sveltejs/kit': 2.21.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.19(terser@5.43.1)))(svelte@4.2.19)(vite@5.4.19(terser@5.43.1)) @@ -3624,6 +3771,8 @@ snapshots: color-name@1.1.4: {} + commander@14.0.0: {} + commander@2.20.3: {} commander@4.1.1: {} @@ -3638,6 +3787,8 @@ snapshots: cookie@0.6.0: {} + core-js@3.45.1: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -4066,6 +4217,10 @@ snapshots: dependencies: estraverse: 5.3.0 + esrap@2.1.0: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 @@ -4104,6 +4259,8 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fflate@0.4.8: {} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -4139,6 +4296,14 @@ snapshots: fraction.js@4.3.7: {} + framer-motion@12.23.12(react@19.0.0): + dependencies: + motion-dom: 12.23.12 + motion-utils: 12.23.6 + tslib: 2.8.1 + optionalDependencies: + react: 19.0.0 + fs-extra@11.3.0: dependencies: graceful-fs: 4.2.11 @@ -4276,10 +4441,12 @@ snapshots: dependencies: function-bind: 1.1.2 - hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/675c4a7cfa1e2b4e88c2d11c4c195c33c68116e0: {} + hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/785940de1833af9b5eb0f41dc3a537c881cb6276: {} idb-keyval@6.2.2: {} + iflog@0.3.0: {} + ignore@5.3.2: {} ignore@7.0.4: {} @@ -4553,8 +4720,25 @@ snapshots: minipass@7.1.2: {} + mode-watcher@0.5.1(svelte@5.38.6): + dependencies: + svelte: 5.38.6 + moment@2.30.1: {} + motion-dom@12.23.12: + dependencies: + motion-utils: 12.23.6 + + motion-utils@12.23.6: {} + + motion@12.23.12(react@19.0.0): + dependencies: + framer-motion: 12.23.12(react@19.0.0) + tslib: 2.8.1 + optionalDependencies: + react: 19.0.0 + mri@1.2.0: {} mrmime@2.0.1: {} @@ -4580,6 +4764,8 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 + node-fetch-native@1.6.7: {} + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 @@ -4593,6 +4779,10 @@ snapshots: normalize-range@0.1.2: {} + number-flow@0.5.8: + dependencies: + esm-env: 1.2.2 + object-assign@4.1.1: {} object-hash@3.0.0: {} @@ -4771,6 +4961,22 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + posthog-js@1.261.0: + dependencies: + '@posthog/core': 1.0.2 + core-js: 3.45.1 + fflate: 0.4.8 + preact: 10.27.1 + web-vitals: 4.2.4 + + preact@10.27.1: {} + prelude-ls@1.2.1: {} punycode@2.3.1: {} @@ -4922,6 +5128,12 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 + shadcn-svelte@1.0.7: + dependencies: + commander: 14.0.0 + node-fetch-native: 1.6.7 + postcss: 8.5.6 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -5192,6 +5404,23 @@ snapshots: magic-string: 0.30.17 periscopic: 3.1.0 + svelte@5.38.6: + dependencies: + '@jridgewell/remapping': 2.3.5 + '@jridgewell/sourcemap-codec': 1.5.0 + '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) + '@types/estree': 1.0.7 + acorn: 8.14.1 + aria-query: 5.3.2 + axobject-query: 4.1.0 + clsx: 2.1.1 + esm-env: 1.2.2 + esrap: 2.1.0 + is-reference: 3.0.3 + locate-character: 3.0.0 + magic-string: 0.30.17 + zimmerframe: 1.1.2 + tabbable@6.2.0: {} tailwind-merge@3.0.2: {} @@ -5405,6 +5634,8 @@ snapshots: vscode-languageserver-textdocument@1.0.12: {} + web-vitals@4.2.4: {} + webidl-conversions@3.0.1: {} webidl-conversions@4.0.2: @@ -5511,3 +5742,5 @@ snapshots: yaml@2.6.0: {} yocto-queue@0.1.0: {} + + zimmerframe@1.1.2: {} diff --git a/src/app.css b/src/app.css index b885983..c9b6605 100644 --- a/src/app.css +++ b/src/app.css @@ -282,6 +282,12 @@ details, height: 4px !important; } +/* animated SVG icons */ +.animated-icon:not(:hover):not(:focus-visible):not(:active) .target-animated-icon { + animation: none !important; + transform: translateX(0) translateX(0) translateZ(0) translate(0, 0) !important; +} + /* Backplate related things */ body { diff --git a/src/lib/components/EntryEditor.svelte b/src/lib/components/EntryEditor.svelte index 37b5206..3357b78 100644 --- a/src/lib/components/EntryEditor.svelte +++ b/src/lib/components/EntryEditor.svelte @@ -1,5 +1,5 @@ + + + + + + diff --git a/src/lib/components/icons/animated/bookmark.svelte b/src/lib/components/icons/animated/bookmark.svelte new file mode 100644 index 0000000..e99a60c --- /dev/null +++ b/src/lib/components/icons/animated/bookmark.svelte @@ -0,0 +1,47 @@ + + + + + + + diff --git a/src/lib/components/icons/animated/calendar.svelte b/src/lib/components/icons/animated/calendar.svelte new file mode 100644 index 0000000..6e499ff --- /dev/null +++ b/src/lib/components/icons/animated/calendar.svelte @@ -0,0 +1,68 @@ + + + + + + + + {#each DOTS as dot, index (index)} + + {/each} + + + diff --git a/src/lib/components/icons/animated/chevronleft.svelte b/src/lib/components/icons/animated/chevronleft.svelte new file mode 100644 index 0000000..73cf2d7 --- /dev/null +++ b/src/lib/components/icons/animated/chevronleft.svelte @@ -0,0 +1,33 @@ + + + + + + + diff --git a/src/lib/components/icons/animated/chevronright.svelte b/src/lib/components/icons/animated/chevronright.svelte new file mode 100644 index 0000000..0901028 --- /dev/null +++ b/src/lib/components/icons/animated/chevronright.svelte @@ -0,0 +1,33 @@ + + + + + + + diff --git a/src/lib/components/icons/animated/clapperboard.svelte b/src/lib/components/icons/animated/clapperboard.svelte new file mode 100644 index 0000000..effb2a4 --- /dev/null +++ b/src/lib/components/icons/animated/clapperboard.svelte @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + diff --git a/src/lib/components/icons/animated/download.svelte b/src/lib/components/icons/animated/download.svelte new file mode 100644 index 0000000..4ec4b88 --- /dev/null +++ b/src/lib/components/icons/animated/download.svelte @@ -0,0 +1,37 @@ + + + + + + + + + + + diff --git a/src/lib/components/icons/animated/fileimage.svelte b/src/lib/components/icons/animated/fileimage.svelte new file mode 100644 index 0000000..3a017c0 --- /dev/null +++ b/src/lib/components/icons/animated/fileimage.svelte @@ -0,0 +1,50 @@ + + + + + + + + + + diff --git a/src/lib/components/icons/animated/heart.svelte b/src/lib/components/icons/animated/heart.svelte new file mode 100644 index 0000000..c34b7bf --- /dev/null +++ b/src/lib/components/icons/animated/heart.svelte @@ -0,0 +1,60 @@ + + + + + + + diff --git a/src/lib/components/icons/animated/home.svelte b/src/lib/components/icons/animated/home.svelte new file mode 100644 index 0000000..bf94858 --- /dev/null +++ b/src/lib/components/icons/animated/home.svelte @@ -0,0 +1,52 @@ + + + + + + + + diff --git a/src/lib/components/icons/animated/index.ts b/src/lib/components/icons/animated/index.ts new file mode 100644 index 0000000..2d8e169 --- /dev/null +++ b/src/lib/components/icons/animated/index.ts @@ -0,0 +1,18 @@ +export { default as Home } from './home.svelte' +export { default as Search } from './search.svelte' +export { default as Calendar } from './calendar.svelte' +export { default as Users } from './users.svelte' +export { default as Download } from './download.svelte' +export { default as Bolt } from './bolt.svelte' +export { default as LogIn } from './login.svelte' +export { default as Messages } from './messages.svelte' +export { default as PencilLine } from './pencilline.svelte' +export { default as Heart } from './heart.svelte' +export { default as Bookmark } from './bookmark.svelte' +export { default as Clapperboard } from './clapperboard.svelte' +export { default as ChevronRight } from './chevronright.svelte' +export { default as ChevronLeft } from './chevronleft.svelte' +export { default as Trash } from './trash.svelte' +export { default as FileImage } from './fileimage.svelte' +export { default as Minimize } from './minimize.svelte' +export { default as Maximize } from './maximize.svelte' diff --git a/src/lib/components/icons/animated/login.svelte b/src/lib/components/icons/animated/login.svelte new file mode 100644 index 0000000..d4b34b6 --- /dev/null +++ b/src/lib/components/icons/animated/login.svelte @@ -0,0 +1,37 @@ + + + + + + + + + + + diff --git a/src/lib/components/icons/animated/maximize.svelte b/src/lib/components/icons/animated/maximize.svelte new file mode 100644 index 0000000..05fb4a6 --- /dev/null +++ b/src/lib/components/icons/animated/maximize.svelte @@ -0,0 +1,55 @@ + + + + + + + + + + diff --git a/src/lib/components/icons/animated/messages.svelte b/src/lib/components/icons/animated/messages.svelte new file mode 100644 index 0000000..2c32409 --- /dev/null +++ b/src/lib/components/icons/animated/messages.svelte @@ -0,0 +1,48 @@ + + + + + + + + diff --git a/src/lib/components/icons/animated/minimize.svelte b/src/lib/components/icons/animated/minimize.svelte new file mode 100644 index 0000000..d03d8e4 --- /dev/null +++ b/src/lib/components/icons/animated/minimize.svelte @@ -0,0 +1,51 @@ + + + + + + + + + + diff --git a/src/lib/components/icons/animated/pencilline.svelte b/src/lib/components/icons/animated/pencilline.svelte new file mode 100644 index 0000000..66a265e --- /dev/null +++ b/src/lib/components/icons/animated/pencilline.svelte @@ -0,0 +1,51 @@ + + + + + + + + + diff --git a/src/lib/components/icons/animated/search.svelte b/src/lib/components/icons/animated/search.svelte new file mode 100644 index 0000000..b763847 --- /dev/null +++ b/src/lib/components/icons/animated/search.svelte @@ -0,0 +1,46 @@ + + + + + + + + diff --git a/src/lib/components/icons/animated/trash.svelte b/src/lib/components/icons/animated/trash.svelte new file mode 100644 index 0000000..fa4c736 --- /dev/null +++ b/src/lib/components/icons/animated/trash.svelte @@ -0,0 +1,41 @@ + + + + + + + + + + + diff --git a/src/lib/components/icons/animated/users.svelte b/src/lib/components/icons/animated/users.svelte new file mode 100644 index 0000000..9189717 --- /dev/null +++ b/src/lib/components/icons/animated/users.svelte @@ -0,0 +1,47 @@ + + + + + + + + + + diff --git a/src/lib/components/ui/button/bookmark.svelte b/src/lib/components/ui/button/bookmark.svelte index 3ca4697..59c2d61 100644 --- a/src/lib/components/ui/button/bookmark.svelte +++ b/src/lib/components/ui/button/bookmark.svelte @@ -1,11 +1,11 @@ - diff --git a/src/lib/components/ui/button/extra.ts b/src/lib/components/ui/button/extra.ts index c8850e9..7892bad 100644 --- a/src/lib/components/ui/button/extra.ts +++ b/src/lib/components/ui/button/extra.ts @@ -1,9 +1,11 @@ import Bookmark from './bookmark.svelte' import Favorite from './favorite.svelte' import Play from './play.svelte' +import Transition from './transition.svelte' export { Play as PlayButton, Favorite as FavoriteButton, - Bookmark as BookmarkButton + Bookmark as BookmarkButton, + Transition as TransitionButton } diff --git a/src/lib/components/ui/button/favorite.svelte b/src/lib/components/ui/button/favorite.svelte index 7caf31a..94f3c52 100644 --- a/src/lib/components/ui/button/favorite.svelte +++ b/src/lib/components/ui/button/favorite.svelte @@ -1,11 +1,11 @@ - diff --git a/src/lib/components/ui/button/transition.svelte b/src/lib/components/ui/button/transition.svelte new file mode 100644 index 0000000..2d631f2 --- /dev/null +++ b/src/lib/components/ui/button/transition.svelte @@ -0,0 +1,40 @@ + + + diff --git a/src/lib/components/ui/player/player.svelte b/src/lib/components/ui/player/player.svelte index 90401af..8d0aa4b 100644 --- a/src/lib/components/ui/player/player.svelte +++ b/src/lib/components/ui/player/player.svelte @@ -8,8 +8,6 @@ import DecimalsArrowRight from 'lucide-svelte/icons/decimals-arrow-right' import FastForward from 'lucide-svelte/icons/fast-forward' import List from 'lucide-svelte/icons/list' - import Maximize from 'lucide-svelte/icons/maximize' - import Minimize from 'lucide-svelte/icons/minimize' import Pause from 'lucide-svelte/icons/pause' import PictureInPicture2 from 'lucide-svelte/icons/picture-in-picture-2' import Proportions from 'lucide-svelte/icons/proportions' @@ -50,6 +48,7 @@ import PictureInPictureExit from '$lib/components/icons/PictureInPictureExit.svelte' import Play from '$lib/components/icons/Play.svelte' import Subtitles from '$lib/components/icons/Subtitles.svelte' + import { Maximize, Minimize } from '$lib/components/icons/animated' import { Button, iconSizes } from '$lib/components/ui/button' import * as Sheet from '$lib/components/ui/sheet' import { client } from '$lib/modules/anilist' @@ -62,7 +61,7 @@ import { server } from '$lib/modules/torrent' import { w2globby } from '$lib/modules/w2g/lobby' import { getAnimeProgress, setAnimeProgress } from '$lib/modules/watchProgress' - import { toTS, fastPrettyBits } from '$lib/utils' + import { toTS, fastPrettyBits, scaleBlurFade } from '$lib/utils' export let mediaInfo: MediaInfo export let otherFiles: TorrentFile[] @@ -852,7 +851,7 @@ {/if} + class='{($settings.minimalPlayerUI || SUPPORTS.isAndroid) ? 'inline-flex' : 'mobile:inline-flex hidden'} p-3 size-12 absolute z-[1] top-4 left-4 bg-black/20 pointer-events-auto transition-opacity select:opacity-100 delay-150 {immersed && 'opacity-0'}' /> {#if fastForwarding}
x2
{/if} @@ -928,20 +927,24 @@
- {#if prev} - {/if} {#if next} - {/if} @@ -955,19 +958,23 @@ {/if} {#if subtitles} - {/if} - {#if false} - {/if} -
@@ -987,11 +998,15 @@
{:else}
-
diff --git a/src/lib/components/ui/sidebar/SidebarButton.svelte b/src/lib/components/ui/sidebar/SidebarButton.svelte index 80c59a6..2272e3c 100644 --- a/src/lib/components/ui/sidebar/SidebarButton.svelte +++ b/src/lib/components/ui/sidebar/SidebarButton.svelte @@ -28,11 +28,9 @@ $: isActive = href && matchPath(href, $page) - diff --git a/src/lib/components/ui/sidebar/sidebarlist.svelte b/src/lib/components/ui/sidebar/sidebarlist.svelte index f08ed00..98d3af3 100644 --- a/src/lib/components/ui/sidebar/sidebarlist.svelte +++ b/src/lib/components/ui/sidebar/sidebarlist.svelte @@ -1,14 +1,6 @@