From 2ca0f64034b6c2ca852ee44a10727989c7b1d685 Mon Sep 17 00:00:00 2001 From: Vicente Date: Fri, 6 Dec 2024 15:10:54 +0100 Subject: [PATCH 01/14] some versions updated --- index.html | 2 +- package.json | 13 +- yarn.lock | 617 +++++++++++++++++++++++++++++++++++++-------------- 3 files changed, 458 insertions(+), 174 deletions(-) diff --git a/index.html b/index.html index 90729610..d915adbf 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> - + =16.9.11", "@types/react@^18.0.0": +"@types/react@*", "@types/react@>=16.9.11": version "18.0.0" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.0.tgz#4be8aa3a2d04afc3ac2cc1ca43d39b0bd412890c" integrity sha512-7+K7zEQYu7NzOwQGLR91KwWXXDzmTFODRVizJyIALf6RfLv2GDpqpknX64pvRVILXCpXi7O/pua8NGk44dLvJw== @@ -3032,6 +3270,13 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.0.tgz#fbbb53ce223f4e2b750ad5dd09580b2c43522bbf" + integrity sha512-MY3oPudxvMYyesqs/kW1Bh8y9VqSmf+tzqw3ae8a9DZW68pUe3zAdHeI1jc6iAysuRdACnVknHP8AhwD4/dxtg== + dependencies: + csstype "^3.0.2" + "@types/resize-observer-browser@^0.1.3": version "0.1.7" resolved "https://registry.yarnpkg.com/@types/resize-observer-browser/-/resize-observer-browser-0.1.7.tgz#294aaadf24ac6580b8fbd1fe3ab7b59fe85f9ef3" @@ -3081,16 +3326,16 @@ dependencies: "@types/yargs-parser" "*" -"@vitejs/plugin-react@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240" - integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== +"@vitejs/plugin-react@4.3.4": + version "4.3.4" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz#c64be10b54c4640135a5b28a2432330e88ad7c20" + integrity sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug== dependencies: - "@babel/core" "^7.20.12" - "@babel/plugin-transform-react-jsx-self" "^7.18.6" - "@babel/plugin-transform-react-jsx-source" "^7.19.6" - magic-string "^0.27.0" - react-refresh "^0.14.0" + "@babel/core" "^7.26.0" + "@babel/plugin-transform-react-jsx-self" "^7.25.9" + "@babel/plugin-transform-react-jsx-source" "^7.25.9" + "@types/babel__core" "^7.20.5" + react-refresh "^0.14.2" "@webassemblyjs/ast@1.9.0": version "1.9.0" @@ -3903,6 +4148,16 @@ browserslist@^4.22.2: node-releases "^2.0.14" update-browserslist-db "^1.0.13" +browserslist@^4.24.0: + version "4.24.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" + integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== + dependencies: + caniuse-lite "^1.0.30001669" + electron-to-chromium "^1.5.41" + node-releases "^2.0.18" + update-browserslist-db "^1.1.1" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -4089,6 +4344,11 @@ caniuse-lite@^1.0.30001580: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001583.tgz#abb2970cc370801dc7e27bf290509dc132cfa390" integrity sha512-acWTYaha8xfhA/Du/z4sNZjHUWjkiuoAi2LM+T/aL+kemKQgPT1xBb/YKjlQ0Qo8gvbHsGNplrEJ+9G3gL7i4Q== +caniuse-lite@^1.0.30001669: + version "1.0.30001687" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz#d0ac634d043648498eedf7a3932836beba90ebae" + integrity sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ== + cardinal@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" @@ -4245,10 +4505,10 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -clsx@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" - integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== +clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== cmd-shim@^5.0.0: version "5.0.0" @@ -4621,6 +4881,11 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== +dayjs@^1.11.7: + version "1.11.13" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" + integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== + debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -4758,10 +5023,10 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -dequal@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d" - integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug== +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== des.js@^1.0.0: version "1.0.1" @@ -4930,6 +5195,11 @@ electron-to-chromium@^1.4.84: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.106.tgz#e7a3bfa9d745dd9b9e597616cb17283cc349781a" integrity sha512-ZYfpVLULm67K7CaaGP7DmjyeMY4naxsbTy+syVVxT6QHI1Ww8XbJjmr9fDckrhq44WzCrcC5kH3zGpdusxwwqg== +electron-to-chromium@^1.5.41: + version "1.5.71" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.71.tgz#d8b5dba1e55b320f2f4e9b1ca80738f53fcfec2b" + integrity sha512-dB68l59BI75W1BUGVTAEJy45CEVuEGy9qPVVQ8pnHyHMn36PLPPoE1mjLH+lo9rKulO3HC2OhbACI/8tCqJBcA== + elliptic@^6.5.3: version "6.6.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210" @@ -5142,6 +5412,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -5487,10 +5762,11 @@ fragment-cache@^0.2.1: map-cache "^0.2.2" framer-motion@^6.2.8: - version "6.2.9" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-6.2.9.tgz#7de11140f57141ebaad4c99d6a492f00cb733d04" - integrity sha512-XMP4Z5j9KlGw8aeo7n8BXTJFbt1Vv5XRzHVOKiAna1yBG4SPwTdk/8bJRfztYb0Jmw90hzBTC/3Q2dhfdtXisQ== + version "6.5.1" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-6.5.1.tgz#802448a16a6eb764124bf36d8cbdfa6dd6b931a7" + integrity sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw== dependencies: + "@motionone/dom" "10.12.0" framesync "6.0.1" hey-listen "^1.0.8" popmotion "11.0.3" @@ -5741,6 +6017,11 @@ glob@^8.0.1: minimatch "^5.0.1" once "^1.3.0" +globalize@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/globalize/-/globalize-0.1.1.tgz#4d04ba65a580a8b0bdcc9ed974aeb497b9c80a56" + integrity sha512-5e01v8eLGfuQSOvx2MsDMOWS0GFtCx1wPzQSmcHw4hkxFzrQDBO3Xwg/m8Hr/7qXMrHeOIE29qWVzyv06u1TZA== + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -5936,7 +6217,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -6647,6 +6928,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" @@ -7022,7 +7308,7 @@ lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -7060,6 +7346,11 @@ lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== +luxon@^3.2.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.5.0.tgz#6b6f65c5cd1d61d1fd19dbf07ee87a50bf4b8e20" + integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== + magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" @@ -7067,13 +7358,6 @@ magic-string@^0.25.0, magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" -magic-string@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" - integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" - make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -7486,6 +7770,18 @@ modify-values@^1.0.0: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== +moment-timezone@^0.5.40: + version "0.5.46" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.46.tgz#a21aa6392b3c6b3ed916cd5e95858a28d893704a" + integrity sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw== + dependencies: + moment "^2.29.4" + +moment@^2.29.4: + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -7657,6 +7953,11 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + node-releases@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" @@ -8270,6 +8571,11 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -8610,30 +8916,34 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-big-calendar@^0.40.1: - version "0.40.1" - resolved "https://registry.yarnpkg.com/react-big-calendar/-/react-big-calendar-0.40.1.tgz#734e1010a321d6f6546eeb1d6a1538d2b8a671df" - integrity sha512-dFjyygtT9eu1L6K6eZPpluWtLtY+8vA464AnjZlta1+SZgGwNDXg7aRllXpDlAe9iTRXmSQVT/45LlHosZ4Ziw== +react-big-calendar@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/react-big-calendar/-/react-big-calendar-1.15.0.tgz#6045558d74e5d79f112082c6e15f6e1b28da3bba" + integrity sha512-RNiPH1Vh/fpJpNIValpl6lHvuEroWkDvS8z3YW2QpmGUuAk6a0Q1uEujlQTd/gQrpKAaBA4Gyc1mzCdNIQ7DZQ== dependencies: - "@babel/runtime" "^7.17.2" - clsx "^1.1.1" + "@babel/runtime" "^7.20.7" + clsx "^1.2.1" date-arithmetic "^4.1.0" + dayjs "^1.11.7" dom-helpers "^5.2.1" + globalize "^0.1.1" invariant "^2.2.4" lodash "^4.17.21" lodash-es "^4.17.21" + luxon "^3.2.1" memoize-one "^6.0.0" + moment "^2.29.4" + moment-timezone "^0.5.40" prop-types "^15.8.1" - react-overlays "^4.1.1" + react-overlays "^5.2.1" uncontrollable "^7.2.1" -react-dom@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.0.0.tgz#26b88534f8f1dbb80853e1eabe752f24100d8023" - integrity sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw== +react-dom@19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0.tgz#43446f1f01c65a4cd7f7588083e686a6726cfb57" + integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ== dependencies: - loose-envify "^1.1.0" - scheduler "^0.21.0" + scheduler "^0.25.0" react-fast-compare@^3.1.1: version "3.2.0" @@ -8670,11 +8980,6 @@ react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.4: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.0.0.tgz#026f6c4a27dbe33bf4a35655b9e1327c4e55e3f5" - integrity sha512-yUcBYdBBbo3QiPsgYDcfQcIkGZHfxOaoE6HLSnr1sPzMhdyxusbfKOSUbSd/ocGi32dxcj366PsTj+5oggeKKw== - react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" @@ -8685,36 +8990,32 @@ react-longpressable@^1.1.1: resolved "https://registry.yarnpkg.com/react-longpressable/-/react-longpressable-1.1.1.tgz#3a51aecb6e235385d6927060b32f7acdda4fff2e" integrity sha512-Q8S7CzZVNmP123tHrMp0U0+/fgDEZCi5CpOGkabz3a2zQ0aek5IAizetxtxBAt1hQHHaAYynPHhtcSkLIkqEzQ== -react-overlays@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-4.1.1.tgz#0060107cbe1c5171a744ccda3fbf0556d064bc5f" - integrity sha512-WtJifh081e6M24KnvTQoNjQEpz7HoLxqt8TwZM7LOYIkYJ8i/Ly1Xi7RVte87ZVnmqQ4PFaFiNHZhSINPSpdBQ== +react-overlays@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-5.2.1.tgz#49dc007321adb6784e1f212403f0fb37a74ab86b" + integrity sha512-GLLSOLWr21CqtJn8geSwQfoJufdt3mfdsnIiQswouuQ2MMPns+ihZklxvsTDKD3cR2tF8ELbi5xUsvqVhR6WvA== dependencies: - "@babel/runtime" "^7.12.1" - "@popperjs/core" "^2.5.3" - "@restart/hooks" "^0.3.25" + "@babel/runtime" "^7.13.8" + "@popperjs/core" "^2.11.6" + "@restart/hooks" "^0.4.7" "@types/warning" "^3.0.0" dom-helpers "^5.2.0" prop-types "^15.7.2" - uncontrollable "^7.0.0" + uncontrollable "^7.2.1" warning "^4.0.3" -react-redux@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.1.tgz#2bc029f5ada9b443107914c373a2750f6bc0f40c" - integrity sha512-LMZMsPY4DYdZfLJgd7i79n5Kps5N9XVLCJJeWAaPYTV+Eah2zTuBjTxKtNEbjiyitbq80/eIkm55CYSLqAub3w== +react-redux@9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.1.2.tgz#deba38c64c3403e9abd0c3fbeab69ffd9d8a7e4b" + integrity sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w== dependencies: - "@babel/runtime" "^7.12.1" - "@types/hoist-non-react-statics" "^3.3.1" "@types/use-sync-external-store" "^0.0.3" - hoist-non-react-statics "^3.3.2" - react-is "^18.0.0" use-sync-external-store "^1.0.0" -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== +react-refresh@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" + integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== react-router-dom@^6.3.0: version "6.3.0" @@ -8736,12 +9037,10 @@ react-side-effect@^2.1.0: resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.1.tgz#66c5701c3e7560ab4822a4ee2742dee215d72eb3" integrity sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ== -react@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.0.0.tgz#b468736d1f4a5891f38585ba8e8fb29f91c3cb96" - integrity sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A== - dependencies: - loose-envify "^1.1.0" +react@19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/react/-/react-19.0.0.tgz#6e1969251b9f108870aa4bff37a0ce9ddfaaabdd" + integrity sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ== read-cache@^1.0.0: version "1.0.0" @@ -8867,7 +9166,7 @@ redux-thunk@^2.4.1: resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.1.tgz#0dd8042cf47868f4b29699941de03c9301a75714" integrity sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q== -redux@^4.0.0, redux@^4.1.2: +redux@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw== @@ -8908,6 +9207,11 @@ regenerator-runtime@^0.13.4: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + regenerator-transform@^0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" @@ -9211,12 +9515,10 @@ sass@^1.60.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -scheduler@^0.21.0: - version "0.21.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" - integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== - dependencies: - loose-envify "^1.1.0" +scheduler@^0.25.0: + version "0.25.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015" + integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA== schema-utils@^1.0.0: version "1.0.0" @@ -9667,16 +9969,7 @@ strict-uri-encode@^2.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -9774,14 +10067,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -10136,10 +10422,10 @@ tslib@^2.0.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -tslib@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.1.0, tslib@^2.3.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tty-browserify@0.0.0: version "0.0.0" @@ -10220,7 +10506,7 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -uncontrollable@^7.0.0, uncontrollable@^7.2.1: +uncontrollable@^7.2.1: version "7.2.1" resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.2.1.tgz#1fa70ba0c57a14d5f78905d533cf63916dc75738" integrity sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ== @@ -10328,6 +10614,14 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -10773,16 +11067,7 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From 58f415b539c1e5b006ae603a86d22d0b58a1d6e0 Mon Sep 17 00:00:00 2001 From: Vicente Date: Sat, 4 Jan 2025 11:30:29 +0100 Subject: [PATCH 02/14] wip updated motion --- .github/workflows/ci.yml | 10 +- bun.lockb | Bin 0 -> 443368 bytes package.json | 21 +- src/components/Collapsable/Collapsable.tsx | 7 +- src/components/Navigation/NavigationTabs.tsx | 2 +- src/components/Rating.tsx | 5 +- src/components/Seasons/Episodes.tsx | 2 +- src/components/Seasons/SeasonSelector.tsx | 2 +- src/index.tsx | 2 - src/pages/Profile.tsx | 3 + src/pages/shows/Shows.tsx | 2 +- yarn.lock | 11175 ----------------- 12 files changed, 27 insertions(+), 11204 deletions(-) create mode 100644 bun.lockb delete mode 100644 yarn.lock diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 02e21713..bdec25ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,13 +11,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 20 - - run: yarn install + node-version: 22 + - name: Setup bun + uses: oven-sh/setup-bun@v2 + - run: bun install - name: Release env: GITHUB_TOKEN: ${{ secrets.TWISO_DEPLOY_TOKEN }} - run: npx semantic-release + run: bunx semantic-release diff --git a/bun.lockb b/bun.lockb new file mode 100644 index 0000000000000000000000000000000000000000..050e079d675b7edd02660e5c9c29f9ee136b0731 GIT binary patch literal 443368 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%0D_JI6@R{_+>|sMlw@ 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 uf=EpZly$i8$V=fF7GC8LG__C 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 = ({
= ({ rating = 0, votes = 0 }) => { - const { t } = useTranslate(); - const totalVotes = useMemo(() => { if (votes < 999) { return votes; @@ -19,7 +16,7 @@ const Rating: React.FC = ({ rating = 0, votes = 0 }) => { }, [votes]); return ( -
+
{Math.floor((rating ?? 0) * 10)}% 路 {totalVotes}
diff --git a/src/components/Seasons/Episodes.tsx b/src/components/Seasons/Episodes.tsx index dd230e84..f5d6e25d 100644 --- a/src/components/Seasons/Episodes.tsx +++ b/src/components/Seasons/Episodes.tsx @@ -112,7 +112,7 @@ const Episodes: React.FC = ({ title: getTranslated('title', e), overview: `${getFormattedDate( e.first_aired, - 'long' + 'long', )}\n${getTranslated('overview', e)}`, }) } diff --git a/src/components/Seasons/SeasonSelector.tsx b/src/components/Seasons/SeasonSelector.tsx index c4ef1b1d..9085f9a8 100644 --- a/src/components/Seasons/SeasonSelector.tsx +++ b/src/components/Seasons/SeasonSelector.tsx @@ -1,7 +1,7 @@ import { useTranslate, useWindowSize } from 'hooks'; import React, { useEffect, useRef } from 'react'; import { Season, ShowProgress } from '../../models'; -import { motion } from 'framer-motion'; +import { motion } from 'motion/react'; interface ISeasonsProps { progress?: ShowProgress; diff --git a/src/index.tsx b/src/index.tsx index 6c85f2a4..8a6908cb 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,5 +1,4 @@ import * as Sentry from '@sentry/react'; -import { BrowserTracing } from '@sentry/tracing'; import React from 'react'; import { createRoot } from 'react-dom/client'; import initReactFastclick from 'react-fastclick'; @@ -15,7 +14,6 @@ initReactFastclick(); Sentry.init({ release: `twiso@${packageInfo.version}`, dsn: process.env.SENTRY_DSN, - integrations: [new BrowserTracing()], tracesSampleRate: 1.0, }); diff --git a/src/pages/Profile.tsx b/src/pages/Profile.tsx index 34a992cd..4cf323b2 100644 --- a/src/pages/Profile.tsx +++ b/src/pages/Profile.tsx @@ -121,6 +121,9 @@ export default function Profile() {

Version: {packageInfo.version}

+
+ API status + {isLogged ? ( \n
\n
\n\n
\n
\n

Should show

\n \n Loading...
}\n unloader={
\u274E test failed
}\n />\n
\n
\n

Should not show anything

\n \u2705 test passed
}\n />\n
\n
\n

Should show unloader

\n Loading...
}\n unloader={
\u2705 test passed
}\n />\n \n
\n \n
\n
\n

Suspense

\n \n \n Loading... (Suspense fallback)
}>\n \n \n \n \n
\n

Suspense wont load

\n \u2705 test passed
}>\n Loading... (Suspense fallback)}>\n \n \n \n \n
\n \n
\n
\n
\n \n

using hooks & suspense

\n \n Loading...
}>\n \n \n \n
\n \n
\n \n \n \n
\n \n \n
\n
\n
\n
\n
\n
\n
\n \n )\n}\n\nconst node = document.createElement('div')\nnode.id = 'root'\ndocument.body.appendChild(node)\nconst rootElement = document.getElementById('root') as HTMLElement\ncreateRoot(rootElement).render()\n", "import React, {forwardRef, JSX} from 'react'\nimport useImage, {useImageProps} from './useImage'\nimport imagePromiseFactory from './imagePromiseFactory'\n\nexport type ImgProps = Omit<\n React.DetailedHTMLProps<\n React.ImgHTMLAttributes,\n HTMLImageElement\n >,\n 'src'\n> &\n Omit & {\n src: useImageProps['srcList'] // same types, different name\n loader?: JSX.Element | null\n unloader?: JSX.Element | null\n decode?: boolean\n crossorigin?: string\n container?: (children: React.ReactNode) => JSX.Element\n loaderContainer?: (children: React.ReactNode) => JSX.Element\n unloaderContainer?: (children: React.ReactNode) => JSX.Element\n }\n\nconst passthroughContainer = (x) => x\n\nfunction Img(\n {\n decode = true,\n src: srcList = [],\n loader = null,\n unloader = null,\n container = passthroughContainer,\n loaderContainer = passthroughContainer,\n unloaderContainer = passthroughContainer,\n imgPromise,\n crossorigin,\n useSuspense = false,\n ...imgProps // anything else will be passed to the element\n }: ImgProps,\n ref,\n): JSX.Element | null {\n imgPromise =\n imgPromise || imagePromiseFactory({decode, crossOrigin: crossorigin})\n const {src, isLoading} = useImage({\n srcList,\n imgPromise,\n useSuspense,\n })\n\n // console.log({src, isLoading, resolvedSrc, useSuspense})\n\n // show img if loaded\n if (src) return container()\n\n // show loader if we have one and were still trying to load image\n if (!useSuspense && isLoading) return loaderContainer(loader)\n\n // show unloader if we have one and we have no more work to do\n if (!useSuspense && unloader) return unloaderContainer(unloader)\n\n return null\n}\n\nexport default forwardRef(Img)\n", "import React, {useState} from 'react'\nimport imagePromiseFactory from './imagePromiseFactory'\n\nexport type useImageProps = {\n srcList: string | string[]\n imgPromise?: (...args: any[]) => Promise\n useSuspense?: boolean\n}\n\nconst removeBlankArrayElements = (a) => a.filter((x) => x)\nconst stringToArray = (x) => (Array.isArray(x) ? x : [x])\nconst cache = {}\n\n// sequential map.find for promises\nconst promiseFind = (arr, promiseFactory) => {\n let done = false\n return new Promise((resolve, reject) => {\n const queueNext = (src) => {\n return promiseFactory(src).then(() => {\n done = true\n resolve(src)\n })\n }\n\n arr\n .reduce((p, src) => {\n // ensure we aren't done before enqueuing the next source\n return p.catch(() => {\n if (!done) return queueNext(src)\n })\n }, queueNext(arr.shift()))\n .catch(reject)\n })\n}\n\nexport default function useImage({\n srcList,\n imgPromise = imagePromiseFactory({decode: true}),\n useSuspense = true,\n}: useImageProps): {src: string | undefined; isLoading: boolean; error: any} {\n const [, setIsSettled] = useState(false)\n const sourceList = removeBlankArrayElements(stringToArray(srcList))\n const sourceKey = sourceList.join('')\n\n if (!cache[sourceKey]) {\n // create promise to loop through sources and try to load one\n cache[sourceKey] = {\n promise: promiseFind(sourceList, imgPromise),\n cache: 'pending',\n error: null,\n }\n }\n\n // when promise resolves/reject, update cache & state\n if (cache[sourceKey].cache === 'resolved') {\n return {src: cache[sourceKey].src, isLoading: false, error: null}\n }\n\n if (cache[sourceKey].cache === 'rejected') {\n if (useSuspense) throw cache[sourceKey].error\n return {isLoading: false, error: cache[sourceKey].error, src: undefined}\n }\n\n cache[sourceKey].promise\n // if a source was found, update cache\n // when not using suspense, update state to force a rerender\n .then((src) => {\n cache[sourceKey] = {...cache[sourceKey], cache: 'resolved', src}\n if (!useSuspense) setIsSettled(sourceKey)\n })\n\n // if no source was found, or if another error occurred, update cache\n // when not using suspense, update state to force a rerender\n .catch((error) => {\n cache[sourceKey] = {...cache[sourceKey], cache: 'rejected', error}\n if (!useSuspense) setIsSettled(sourceKey)\n })\n\n // cache[sourceKey].cache === 'pending')\n if (useSuspense) throw cache[sourceKey].promise\n return {isLoading: true, src: undefined, error: null}\n}\n", "// returns a Promisized version of Image() api\nexport default ({decode = true, crossOrigin = ''}) =>\n (src): Promise => {\n return new Promise((resolve, reject) => {\n const i = new Image()\n if (crossOrigin) i.crossOrigin = crossOrigin\n i.onload = () => {\n decode && i.decode ? i.decode().then(resolve).catch(reject) : resolve()\n }\n i.onerror = reject\n i.src = src\n })\n }\n", "import React, {Component} from 'react'\n\nexport interface ErrorBoundary {\n props: {\n children: React.ReactNode\n onError?: React.ReactNode\n }\n}\nexport class ErrorBoundary extends Component implements ErrorBoundary {\n state: {\n hasError: boolean\n error: Error | null\n }\n onError: React.ReactNode\n\n constructor(props) {\n super(props)\n this.state = {hasError: false, error: null}\n this.onError = props.onError\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return {hasError: error, error}\n }\n\n render() {\n if (this.state.hasError) {\n if (this.onError) return this.onError\n // You can render any custom fallback UI\n return Something went wrong. {this.state.error?.message}\n }\n\n return this.props.children\n }\n}\n"], + "mappings": "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", + "names": ["require_react_production", "__commonJSMin", "exports", "REACT_ELEMENT_TYPE", "REACT_PORTAL_TYPE", "REACT_FRAGMENT_TYPE", "REACT_STRICT_MODE_TYPE", "REACT_PROFILER_TYPE", "REACT_CONSUMER_TYPE", "REACT_CONTEXT_TYPE", "REACT_FORWARD_REF_TYPE", "REACT_SUSPENSE_TYPE", "REACT_MEMO_TYPE", "REACT_LAZY_TYPE", "MAYBE_ITERATOR_SYMBOL", "getIteratorFn", "maybeIterable", "ReactNoopUpdateQueue", "assign", "emptyObject", "Component", "props", "context", "updater", "partialState", "callback", "ComponentDummy", "PureComponent", "pureComponentPrototype", "isArrayImpl", "ReactSharedInternals", "hasOwnProperty", "ReactElement", "type", "key", "self", "source", "owner", "cloneAndReplaceKey", "oldElement", "newKey", "isValidElement", "object", "escape", "escaperLookup", "match", "userProvidedKeyEscapeRegex", "getElementKey", "element", "index", "noop$1", "resolveThenable", "thenable", "fulfilledValue", "error", "mapIntoArray", "children", "array", "escapedPrefix", "nameSoFar", "invokeCallback", "c", "nextNamePrefix", "i", "mapChildren", "func", "result", "count", "child", "lazyInitializer", "payload", "ctor", "moduleObject", "reportGlobalError", "event", "noop", "forEachFunc", "forEachContext", "n", "fn", "config", "propName", "childArray", "defaultValue", "childrenLength", "render", "compare", "scope", "prevTransition", "currentTransition", "returnValue", "onStartTransitionFinish", "usable", "action", "initialState", "permalink", "deps", "Context", "value", "initialValue", "create", "ref", "passthrough", "reducer", "initialArg", "init", "subscribe", "getSnapshot", "getServerSnapshot", "require_react", "__commonJSMin", "exports", "module", "require_scheduler_production", "__commonJSMin", "exports", "push", "heap", "node", "index", "a", "parentIndex", "parent", "compare", "peek", "pop", "first", "last", "length", "halfLength", "leftIndex", "left", "rightIndex", "right", "b", "diff", "localPerformance", "localDate", "initialTime", "taskQueue", "timerQueue", "taskIdCounter", "currentTask", "currentPriorityLevel", "isPerformingWork", "isHostCallbackScheduled", "isHostTimeoutScheduled", "localSetTimeout", "localClearTimeout", "localSetImmediate", "advanceTimers", "currentTime", "timer", "handleTimeout", "requestHostCallback", "firstTimer", "requestHostTimeout", "isMessageLoopRunning", "taskTimeoutID", "frameInterval", "startTime", "shouldYieldToHost", "performWorkUntilDeadline", "hasMoreWork", "previousPriorityLevel", "callback", "continuationCallback", "schedulePerformWorkUntilDeadline", "channel", "port", "ms", "task", "fps", "eventHandler", "priorityLevel", "options", "timeout", "parentPriorityLevel", "require_scheduler", "__commonJSMin", "exports", "module", "require_react_dom_production", "__commonJSMin", "exports", "React", "formatProdErrorMessage", "code", "url", "i", "noop", "Internals", "REACT_PORTAL_TYPE", "createPortal$1", "children", "containerInfo", "implementation", "key", "ReactSharedInternals", "getCrossOriginStringAs", "as", "input", "container", "fn", "previousTransition", "previousUpdatePriority", "href", "options", "crossOrigin", "integrity", "fetchPriority", "form", "a", "action", "initialState", "permalink", "require_react_dom", "__commonJSMin", "exports", "module", "checkDCE", "err", "require_react_dom_client_production", "__commonJSMin", "exports", "Scheduler", "React", "ReactDOM", "formatProdErrorMessage", "code", "url", "i", "isValidContainer", "node", "REACT_LEGACY_ELEMENT_TYPE", "REACT_ELEMENT_TYPE", "REACT_PORTAL_TYPE", "REACT_FRAGMENT_TYPE", "REACT_STRICT_MODE_TYPE", "REACT_PROFILER_TYPE", "REACT_PROVIDER_TYPE", "REACT_CONSUMER_TYPE", "REACT_CONTEXT_TYPE", "REACT_FORWARD_REF_TYPE", "REACT_SUSPENSE_TYPE", "REACT_SUSPENSE_LIST_TYPE", "REACT_MEMO_TYPE", "REACT_LAZY_TYPE", "REACT_OFFSCREEN_TYPE", "REACT_MEMO_CACHE_SENTINEL", "MAYBE_ITERATOR_SYMBOL", "getIteratorFn", "maybeIterable", "REACT_CLIENT_REFERENCE", "getComponentNameFromType", "type", "innerType", "ReactSharedInternals", "assign", "prefix", "suffix", "describeBuiltInComponentFrame", "name", "x", "match", "reentry", "describeNativeComponentFrame", "fn", "construct", "previousPrepareStackTrace", "RunInRootFrame", "Fake", "control", "x$0", "x$1", "sample", "namePropDescriptor", "_RunInRootFrame$Deter", "sampleStack", "controlStack", "sampleLines", "controlLines", "frame", "describeFiber", "fiber", "getStackByFiberInDevAndProd", "workInProgress", "info", "getNearestMountedFiber", "nearestMounted", "getSuspenseInstanceFromFiber", "suspenseState", "assertIsMounted", "findCurrentFiberUsingSlowPath", "alternate", "a", "b", "parentA", "parentB", "didFindChild", "child$2", "findCurrentHostFiberImpl", "tag", "isArrayImpl", "ReactDOMSharedInternals", "sharedNotPendingObject", "valueStack", "index", "createCursor", "defaultValue", "pop", "cursor", "push", "value", "contextStackCursor", "contextFiberStackCursor", "rootInstanceStackCursor", "hostTransitionProviderCursor", "pushHostContainer", "nextRootInstance", "getOwnHostContext", "getChildHostContextProd", "popHostContainer", "pushHostContext", "context", "JSCompiler_inline_result", "popHostContext", "HostTransitionContext", "hasOwnProperty", "scheduleCallback$3", "cancelCallback$1", "shouldYield", "requestPaint", "now", "getCurrentPriorityLevel", "ImmediatePriority", "UserBlockingPriority", "NormalPriority$1", "LowPriority", "IdlePriority", "log$1", "unstable_setDisableYieldValue", "rendererID", "injectedHook", "onCommitRoot", "root", "setIsStrictModeForDevtools", "newIsStrictMode", "clz32", "clz32Fallback", "log", "LN2", "nextTransitionLane", "nextRetryLane", "getHighestPriorityLanes", "lanes", "pendingSyncLanes", "getNextLanes", "wipLanes", "pendingLanes", "nextLanes", "suspendedLanes", "pingedLanes", "warmLanes", "nonIdlePendingLanes", "checkIfRootIsPrerendering", "renderLanes", "computeExpirationTime", "lane", "currentTime", "claimNextTransitionLane", "claimNextRetryLane", "createLaneMap", "initial", "laneMap", "markRootUpdated$1", "updateLane", "markRootFinished", "finishedLanes", "remainingLanes", "spawnedLane", "updatedLanes", "suspendedRetryLanes", "previouslyPendingLanes", "entanglements", "expirationTimes", "hiddenUpdates", "index$7", "hiddenUpdatesForLane", "update", "markSpawnedDeferredLane", "entangledLanes", "spawnedLaneIndex", "markRootEntangled", "rootEntangledLanes", "index$8", "lanesToEventPriority", "resolveUpdatePriority", "updatePriority", "getEventPriority", "runWithPriority", "priority", "previousPriority", "randomKey", "internalInstanceKey", "internalPropsKey", "internalContainerInstanceKey", "internalEventHandlersKey", "internalEventHandlerListenersKey", "internalEventHandlesSetKey", "internalRootNodeResourcesKey", "internalHoistableMarker", "detachDeletedInstance", "getClosestInstanceFromNode", "targetNode", "targetInst", "parentNode", "getParentSuspenseInstance", "getInstanceFromNode", "getNodeFromInstance", "inst", "getResourcesFromRoot", "resources", "markNodeAsHoistable", "allNativeEvents", "registrationNameDependencies", "registerTwoPhaseEvent", "registrationName", "dependencies", "registerDirectEvent", "canUseDOM", "VALID_ATTRIBUTE_NAME_REGEX", "illegalAttributeNameCache", "validatedAttributeNameCache", "isAttributeNameSafe", "attributeName", "setValueForAttribute", "prefix$10", "setValueForKnownAttribute", "setValueForNamespacedAttribute", "namespace", "getToStringValue", "isCheckable", "elem", "trackValueOnNode", "valueField", "descriptor", "currentValue", "get", "set", "track", "updateValueIfChanged", "tracker", "lastValue", "getActiveElement", "doc", "escapeSelectorAttributeValueInsideDoubleQuotesRegex", "escapeSelectorAttributeValueInsideDoubleQuotes", "ch", "updateInput", "element", "lastDefaultValue", "checked", "defaultChecked", "setDefaultValue", "initInput", "isHydrating", "updateOptions", "multiple", "propValue", "setDefaultSelected", "updateTextarea", "initTextarea", "children", "setTextContent", "text", "firstChild", "unitlessNumbers", "setValueForStyle", "style", "styleName", "isCustomProperty", "setValueForStyles", "styles", "prevStyles", "styleName$16", "styleName$17", "isCustomElement", "tagName", "aliases", "isJavaScriptProtocol", "sanitizeURL", "currentReplayingEvent", "getEventTarget", "nativeEvent", "restoreTarget", "restoreQueue", "restoreStateOfTarget", "target", "internalInstance", "props", "otherNode", "otherProps", "isInsideEventHandler", "batchedUpdates$1", "flushSyncWork$1", "getListener", "stateNode", "passiveBrowserEventsSupported", "options", "startText", "fallbackText", "getData", "start", "startValue", "startLength", "end", "endValue", "endLength", "minEnd", "getEventCharCode", "keyCode", "functionThatReturnsTrue", "functionThatReturnsFalse", "createSyntheticEvent", "Interface", "SyntheticBaseEvent", "reactName", "reactEventType", "nativeEventTarget", "propName", "event", "EventInterface", "SyntheticEvent", "UIEventInterface", "SyntheticUIEvent", "lastMovementX", "lastMovementY", "lastMouseEvent", "MouseEventInterface", "getEventModifierState", "SyntheticMouseEvent", "DragEventInterface", "SyntheticDragEvent", "FocusEventInterface", "SyntheticFocusEvent", "AnimationEventInterface", "SyntheticAnimationEvent", "ClipboardEventInterface", "SyntheticClipboardEvent", "CompositionEventInterface", "SyntheticCompositionEvent", "normalizeKey", "translateToKey", "modifierKeyToProp", "modifierStateGetter", "keyArg", "KeyboardEventInterface", "key", "SyntheticKeyboardEvent", "PointerEventInterface", "SyntheticPointerEvent", "TouchEventInterface", "SyntheticTouchEvent", "TransitionEventInterface", "SyntheticTransitionEvent", "WheelEventInterface", "SyntheticWheelEvent", "ToggleEventInterface", "SyntheticToggleEvent", "END_KEYCODES", "canUseCompositionEvent", "documentMode", "canUseTextInputEvent", "useFallbackCompositionData", "SPACEBAR_CHAR", "hasSpaceKeypress", "isFallbackCompositionEnd", "domEventName", "getDataFromCustomEvent", "isComposing", "getNativeBeforeInputChars", "getFallbackBeforeInputChars", "supportedInputTypes", "isTextInputElement", "nodeName", "createAndAccumulateChangeEvent", "dispatchQueue", "accumulateTwoPhaseListeners", "activeElement$1", "activeElementInst$1", "runEventInBatch", "processDispatchQueue", "getInstIfValueChanged", "getTargetInstForChangeEvent", "isInputEventSupported", "isSupported$jscomp$inline_418", "element$jscomp$inline_419", "JSCompiler_inline_result$jscomp$283", "stopWatchingForValueChange", "handlePropertyChange", "handleEventsForInputEventPolyfill", "getTargetInstForInputEventPolyfill", "getTargetInstForClickEvent", "getTargetInstForInputOrChangeEvent", "is", "y", "objectIs", "shallowEqual", "objA", "objB", "keysA", "keysB", "currentKey", "getLeafNode", "getNodeForCharacterOffset", "offset", "nodeEnd", "containsNode", "outerNode", "innerNode", "getActiveElementDeep", "containerInfo", "hasSelectionCapabilities", "restoreSelection", "priorSelectionInformation", "curFocusedElem", "priorSelectionRange", "length", "endMarker", "skipSelectionChangeEvent", "activeElement", "activeElementInst", "lastSelection", "mouseDown", "constructSelectEvent", "makePrefixMap", "styleProp", "eventName", "prefixes", "vendorPrefixes", "prefixedEventNames", "getVendorPrefixedEventName", "prefixMap", "ANIMATION_END", "ANIMATION_ITERATION", "ANIMATION_START", "TRANSITION_RUN", "TRANSITION_START", "TRANSITION_CANCEL", "TRANSITION_END", "topLevelEventsToReactNames", "simpleEventPluginEvents", "registerSimpleEvent", "concurrentQueues", "concurrentQueuesIndex", "concurrentlyUpdatedLanes", "finishQueueingConcurrentUpdates", "endIndex", "queue", "pending", "markUpdateLaneFromFiberToRoot", "enqueueUpdate$1", "enqueueConcurrentHookUpdate", "getRootForUpdatedFiber", "enqueueConcurrentRenderForLane", "sourceFiber", "isHidden", "parent", "nestedUpdateCount", "rootWithNestedUpdates", "emptyContextObject", "CapturedStacks", "createCapturedValueAtFiber", "source", "existing", "forkStack", "forkStackIndex", "treeForkProvider", "treeForkCount", "idStack", "idStackIndex", "treeContextProvider", "treeContextId", "treeContextOverflow", "pushTreeFork", "totalChildren", "pushTreeId", "baseIdWithLeadingBit", "baseLength", "numberOfOverflowBits", "pushMaterializedTreeId", "popTreeContext", "hydrationParentFiber", "nextHydratableInstance", "hydrationErrors", "rootOrSingletonContext", "HydrationMismatchException", "throwOnHydrationMismatch", "error", "queueHydrationError", "prepareToHydrateHostInstance", "instance", "listenToNonDelegatedEvent", "mediaEventTypes", "checkForUnmatchedText", "noop$1", "popToNextHostParent", "popHydrationState", "shouldClear", "JSCompiler_temp", "shouldSetTextContent", "getNextHydratable", "resetHydrationState", "SuspenseException", "SuspenseyCommitException", "noopSuspenseyCommitThenable", "isThenableResolved", "thenable", "noop$3", "trackUsedThenable", "thenableState", "workInProgressRoot", "fulfilledValue", "fulfilledThenable", "rejectedThenable", "suspendedThenable", "getSuspendedThenable", "thenableState$1", "thenableIndexCounter$1", "unwrapThenable", "coerceRef", "throwOnInvalidObjectType", "returnFiber", "newChild", "resolveLazy", "lazyType", "init", "createChildReconciler", "shouldTrackSideEffects", "deleteChild", "childToDelete", "deletions", "deleteRemainingChildren", "currentFirstChild", "mapRemainingChildren", "existingChildren", "useFiber", "pendingProps", "createWorkInProgress", "placeChild", "newFiber", "lastPlacedIndex", "newIndex", "placeSingleChild", "updateTextNode", "current", "textContent", "createFiberFromText", "updateElement", "elementType", "updateFragment", "createFiberFromTypeAndProps", "updatePortal", "portal", "createFiberFromPortal", "fragment", "createFiberFromFragment", "createChild", "readContextDuringReconciliation", "updateSlot", "oldFiber", "updateFromMap", "newIdx", "reconcileChildrenArray", "newChildren", "resultingFirstChild", "previousNewFiber", "nextOldFiber", "child", "reconcileChildrenIterator", "step", "reconcileChildFibersImpl", "firstChildFiber", "createFiberImplClass", "reconcileChildFibers", "mountChildFibers", "currentTreeHiddenStackCursor", "prevEntangledRenderLanesCursor", "pushHiddenContext", "entangledRenderLanes", "reuseHiddenContextOnStack", "popHiddenContext", "suspenseHandlerStackCursor", "shellBoundary", "pushPrimaryTreeSuspenseHandler", "handler", "suspenseStackCursor", "pushOffscreenSuspenseHandler", "reuseSuspenseHandlerOnStack", "popSuspenseHandler", "findFirstSuspended", "row", "state", "AbortControllerLocal", "listeners", "signal", "listener", "scheduleCallback$2", "NormalPriority", "CacheContext", "createCache", "releaseCache", "cache", "currentEntangledListeners", "currentEntangledPendingCount", "currentEntangledLane", "currentEntangledActionThenable", "entangleAsyncAction", "transition", "entangledListeners", "requestTransitionLane", "resolve", "pingEngtangledActionScope", "chainThenableValue", "result", "thenableWithOverride", "prevOnStartTransitionFinish", "returnValue", "resumedCache", "peekCacheFromPool", "cacheResumedFromPreviousRender", "pushTransition", "offscreenWorkInProgress", "prevCachePool", "getSuspendedCache", "cacheFromPool", "currentlyRenderingFiber$1", "currentHook", "workInProgressHook", "didScheduleRenderPhaseUpdate", "didScheduleRenderPhaseUpdateDuringThisPass", "shouldDoubleInvokeUserFnsInHooksDEV", "localIdCounter", "thenableIndexCounter", "globalClientIdCounter", "throwInvalidHookError", "areHookInputsEqual", "nextDeps", "prevDeps", "renderWithHooks", "Component", "secondArg", "nextRenderLanes", "HooksDispatcherOnMount", "HooksDispatcherOnUpdate", "renderWithHooksAgain", "finishRenderingHooks", "ContextOnlyDispatcher", "didRenderTooFewHooks", "didReceiveUpdate", "checkIfContextChanged", "numberOfReRenders", "HooksDispatcherOnRerender", "TransitionAwareHostComponent", "dispatcher", "maybeThenable", "useThenable", "checkDidRenderIdHook", "didRenderIdHook", "bailoutHooks", "resetHooksOnUnwind", "mountWorkInProgressHook", "hook", "updateWorkInProgressHook", "nextCurrentHook", "nextWorkInProgressHook", "createFunctionComponentUpdateQueue", "use", "usable", "readContext", "useMemoCache", "size", "memoCache", "updateQueue", "array", "basicStateReducer", "action", "updateReducer", "reducer", "updateReducerImpl", "baseQueue", "pendingQueue", "baseFirst", "newBaseQueueFirst", "newBaseQueueLast", "didReadFromEntangledAsyncAction$54", "workInProgressRootRenderLanes", "revertLane", "workInProgressRootSkippedLanes", "rerenderReducer", "dispatch", "lastRenderPhaseUpdate", "newState", "updateSyncExternalStore", "subscribe", "getSnapshot", "getServerSnapshot", "isHydrating$jscomp$0", "snapshotChanged", "updateEffect", "subscribeToStore", "pushEffect", "updateStoreInstance", "pushStoreConsistencyCheck", "renderedSnapshot", "nextSnapshot", "checkIfSnapshotChanged", "forceStoreRerender", "latestGetSnapshot", "nextValue", "scheduleUpdateOnFiber", "mountStateImpl", "initialState", "initialStateInitializer", "updateOptimisticImpl", "passthrough", "dispatchActionState", "actionQueue", "setPendingState", "setState", "payload", "isRenderPhaseUpdate", "actionNode", "runActionStateAction", "prevState", "prevTransition", "currentTransition", "onStartTransitionFinish", "handleActionReturnValue", "onActionError", "error$60", "nextState", "onActionSuccess", "notifyActionListeners", "last", "actionStateReducer", "oldState", "mountActionState", "initialStateProp", "ssrFormState", "JSCompiler_inline_result$jscomp$0", "inRootOrSingleton", "dispatchSetState", "dispatchOptimisticSetState", "updateActionState", "stateHook", "updateActionStateImpl", "currentStateHook", "actionQueueHook", "actionStateActionEffect", "rerenderActionState", "create", "deps", "updateRef", "mountEffectImpl", "fiberFlags", "hookFlags", "updateEffectImpl", "mountEffect", "updateInsertionEffect", "updateLayoutEffect", "imperativeHandleEffect", "ref", "refCleanup", "updateImperativeHandle", "mountDebugValue", "updateCallback", "callback", "updateMemo", "nextCreate", "mountDeferredValueImpl", "initialValue", "requestDeferredLane", "updateDeferredValueImpl", "prevValue", "startTransition", "pendingState", "finishedState", "thenableForFinishedState", "dispatchSetStateInternal", "requestUpdateLane", "noop$2", "startHostTransition", "formFiber", "formData", "ensureFormComponentIsStateful", "requestFormReset$1", "existingStateHook", "initialResetState", "resetStateQueue", "useHostTransitionStatus", "updateId", "updateRefresh", "refreshCache", "provider", "createUpdate", "root$63", "enqueueUpdate", "entangleTransitions", "dispatchReducerAction", "enqueueRenderPhaseUpdate", "entangleTransitionUpdate", "currentState", "eagerState", "throwIfDuringRender", "queueLanes", "initialArg", "identifierPrefix", "idWithLeadingBit", "booleanOrThenable", "applyDerivedStateFromProps", "ctor", "getDerivedStateFromProps", "nextProps", "classComponentUpdater", "component", "checkShouldComponentUpdate", "oldProps", "newProps", "nextContext", "callComponentWillReceiveProps", "resolveClassComponentProps", "baseProps", "propName$67", "reportGlobalError", "defaultOnUncaughtError", "defaultOnCaughtError", "defaultOnRecoverableError", "logUncaughtError", "errorInfo", "onUncaughtError", "e$68", "logCaughtError", "boundary", "onCaughtError", "e$69", "createRootErrorUpdate", "createClassErrorUpdate", "initializeClassErrorUpdate", "getDerivedStateFromError", "legacyErrorBoundariesThatAlreadyFailed", "stack", "throwException", "rootRenderLanes", "propagateParentContextChanges", "renderDidSuspendDelayIfPossible", "workInProgressRootExitStatus", "attachPingListener", "enqueueCapturedUpdate", "wrapperError", "workInProgressRootConcurrentErrors", "SelectiveHydrationException", "reconcileChildren", "nextChildren", "updateForwardRef", "propsWithoutRef", "prepareToReadContext", "bailoutOnAlreadyFinishedWork", "updateMemoComponent", "shouldConstruct", "updateSimpleMemoComponent", "checkScheduledUpdateOrContext", "prevProps", "updateFunctionComponent", "updateOffscreenComponent", "nextIsDetached", "markRef", "deferHiddenOffscreenComponent", "nextBaseLanes", "replayFunctionComponent", "updateClassComponent", "contextType", "initializeUpdateQueue", "processUpdateQueue", "suspendIfUpdateReadFromEntangledAsyncAction", "unresolvedOldProps", "oldContext", "contextType$jscomp$0", "hasForceUpdate", "cloneUpdateQueue", "mountHostRootWithoutHydrating", "SUSPENDED_MARKER", "mountSuspenseOffscreenState", "getRemainingWorkInPrimaryTree", "primaryTreeDidDefer", "workInProgressDeferredLane", "updateSuspenseComponent", "showFallback", "didSuspend", "nextInstance", "JSCompiler_temp$jscomp$0", "c", "mountWorkInProgressOffscreenFiber", "mountSuspensePrimaryChildren", "retrySuspenseComponentWithoutHydrating", "digest", "retryDehydratedSuspenseBoundary", "primaryChildren", "offscreenProps", "mode", "createFiberFromOffscreen", "scheduleSuspenseWorkOnFiber", "propagationRoot", "scheduleContextWorkOnParentPath", "initSuspenseListRenderState", "isBackwards", "tail", "lastContentRow", "tailMode", "renderState", "updateSuspenseListComponent", "revealOrder", "attemptEarlyBailoutIfNoScheduledUpdate", "pushProvider", "didSuspendBefore", "beginWork", "lazyComponent", "propagateContextChanges", "getResource", "getOwnerDocumentFromRootContainer", "setInitialProperties", "resolveSingletonInstance", "canHydrateInstance", "canHydrateTextInstance", "valueCursor", "currentlyRenderingFiber", "lastContextDependency", "providerFiber", "popProvider", "contexts", "forcePropagateEntireTree", "list", "nextFiber", "dependency", "isInsidePropagationBailout", "currentParent", "currentDependencies", "readContextForConsumer", "consumer", "executionContext", "capturedUpdate", "newFirst", "newLast", "clone", "didReadFromEntangledAsyncAction", "entangledActionThenable", "workInProgress$jscomp$0", "instance$jscomp$0", "firstBaseUpdate", "lastBaseUpdate", "lastPendingUpdate", "firstPendingUpdate", "isHiddenUpdate", "callCallback", "commitCallbacks", "callbacks", "commitHookEffectListMount", "flags", "finishedWork", "lastEffect", "firstEffect", "captureCommitPhaseError", "commitHookEffectListUnmount", "nearestMountedAncestor$jscomp$0", "destroy", "nearestMountedAncestor", "commitClassCallbacks", "safelyCallComponentWillUnmount", "safelyAttachRef", "instanceToUse", "safelyDetachRef", "error$112", "commitHostMount", "commitHostUpdate", "domElement", "updateProperties", "isHostParent", "getHostSibling", "insertOrAppendPlacementNodeIntoContainer", "before", "insertOrAppendPlacementNode", "offscreenSubtreeIsHidden", "offscreenSubtreeWasHidden", "needsFormReset", "PossiblyWeakSet", "nextEffect", "shouldFireAfterActiveInstanceBlur", "commitBeforeMutationEffects", "eventsEnabled", "_enabled", "selection", "anchorOffset", "focusNode", "indexWithinAnchor", "indexWithinFocus", "next", "selectionInformation", "resolvedPrevProps", "clearContainerSparingly", "commitLayoutEffectOnFiber", "finishedRoot", "recursivelyTraverseLayoutEffects", "error$111", "commitSuspenseHydrationCallbacks", "prevOffscreenSubtreeIsHidden", "prevOffscreenSubtreeWasHidden", "recursivelyTraverseReappearLayoutEffects", "detachFiberAfterEffects", "hostParent", "hostParentIsContainer", "recursivelyTraverseDeletionEffects", "commitDeletionEffectsOnFiber", "deletedFiber", "prevHostParent", "prevHostParentIsContainer", "prevHostParentIsContainer$119", "clearSuspenseBoundary", "retryIfBlockedOn", "getRetryCache", "retryCache", "attachSuspenseRetryListeners", "wakeables", "wakeable", "retry", "resolveRetryWakeable", "recursivelyTraverseMutationEffects", "root$jscomp$0", "parentFiber", "commitMutationEffectsOnFiber", "currentHoistableRoot", "commitReconciliationEffects", "hoistableRoot", "currentResource", "maybeNodes", "getHydratableHoistableCache", "mountHoistable", "acquireResource", "nextNode", "attributes", "tagCaches", "getHoistableRoot", "recursivelyResetForms", "globalMostRecentFallbackTime", "recursivelyTraverseDisappearLayoutEffects", "display", "parent$jscomp$0", "parent$113", "before$114", "parent$115", "before$116", "finishedRoot$jscomp$0", "includeWorkInProgressEffects", "hiddenCallbacks", "commitOffscreenPassiveMountEffects", "previousCache", "commitCachePassiveMountEffect", "recursivelyTraversePassiveMountEffects", "committedLanes", "committedTransitions", "commitPassiveMountOnFiber", "_finishedWork$memoize2", "id", "onPostCommit", "recursivelyTraverseAtomicPassiveEffects", "recursivelyTraverseReconnectPassiveEffects", "committedLanes$jscomp$0", "committedTransitions$jscomp$0", "suspenseyCommitFlag", "recursivelyAccumulateSuspenseyCommit", "accumulateSuspenseyCommitOnFiber", "suspendResource", "previousHoistableRoot", "detachAlternateSiblings", "previousFiber", "recursivelyTraversePassiveUnmountEffects", "commitPassiveUnmountEffectsInsideOfDeletedTree_begin", "commitPassiveUnmountOnFiber", "recursivelyTraverseDisconnectPassiveEffects", "deletedSubtreeRoot", "sibling", "FiberNode", "resetWorkInProgress", "owner", "fiberTag", "isHostHoistableType", "elements", "primaryChildInstance", "content", "markUpdate", "preloadResourceAndSuspendIfNeeded", "resource", "preloadResource", "scheduleRetryEffect", "retryQueue", "workInProgressSuspendedRetryLanes", "cutOffTailIfNeeded", "hasRenderedATailFallback", "lastTailNode", "lastTailNode$131", "bubbleProperties", "completedWork", "didBailout", "newChildLanes", "subtreeFlags", "child$132", "completeWork", "queueRecoverableErrors", "cache$144", "listenToAllSupportedEvents", "workInProgressRootRenderTargetTime", "unwindWork", "unwindInterruptedWork", "interruptedWork", "DefaultAsyncDispatcher", "resourceType", "cacheForType", "PossiblyWeakMap", "workInProgressSuspendedReason", "workInProgressThrownValue", "workInProgressRootDidSkipSuspendedSiblings", "workInProgressRootIsPrerendering", "workInProgressRootDidAttachPingListener", "workInProgressRootInterleavedUpdatedLanes", "workInProgressRootPingedLanes", "workInProgressRootRecoverableErrors", "workInProgressRootDidIncludeRecursiveRenderUpdate", "workInProgressTransitions", "rootDoesHavePassiveEffects", "rootWithPendingPassiveEffects", "pendingPassiveEffectsLanes", "pendingPassiveEffectsRemainingLanes", "pendingPassiveTransitions", "actionScopeLane", "suspenseHandler", "prepareFreshStack", "markRootSuspended", "ensureRootIsScheduled", "performWorkOnRoot", "forceSync", "shouldTimeSlice", "exitStatus", "renderRootConcurrent", "renderRootSync", "renderWasConcurrent", "isRenderConsistentWithExternalStores", "wasRootDehydrated", "scheduleTimeout", "commitRootWhenReady", "errors", "recoverableErrors", "transitions", "didIncludeRenderPhaseUpdate", "didSkipSuspendedSiblings", "suspendedCommitReason", "completedRenderStartTime", "completedRenderEndTime", "suspendedState", "noop", "waitForCommitToBeReady", "commitRoot", "check", "didAttemptEntireTree", "index$6", "flushSyncWorkAcrossRoots_impl", "resetWorkInProgressStack", "timeoutHandle", "cancelTimeout", "allEntangledLanes", "index$4", "handleThrow", "thrownValue", "pushDispatcher", "prevDispatcher", "pushAsyncDispatcher", "prevAsyncDispatcher", "shouldYieldForPrerendering", "prevExecutionContext", "unitOfWork", "reason", "throwAndUnwindWorkLoop", "workLoopSync", "thrownValue$164", "performUnitOfWork", "replaySuspendedUnitOfWork", "hostFiber", "completeUnitOfWork", "workLoopConcurrent", "thrownValue$166", "suspendedReason", "unwindUnitOfWork", "skipSiblings", "previousUpdateLanePriority", "commitRootImpl", "renderPriorityLevel", "flushPassiveEffects", "scheduleCallback$1", "releaseRootPooledCache", "root$170", "renderPriority", "captureCommitPhaseErrorOnRoot", "rootFiber", "pingCache", "threadIDs", "pingSuspendedRoot", "retryTimedOutBoundary", "boundaryFiber", "retryLane", "priorityLevel", "firstScheduledRoot", "lastScheduledRoot", "didScheduleMicrotask", "mightHavePendingSyncWork", "isFlushingWork", "currentEventTransitionLane", "scheduleImmediateTask", "processRootScheduleInMicrotask", "syncTransitionLanes", "onlyLegacy", "didPerformSomeWork", "root$172", "performSyncWorkOnRoot", "shouldAttemptEagerTransition", "prev", "scheduleTaskForRootDuringMicrotask", "index$5", "expirationTime", "performWorkOnRootViaSchedulerTask", "didTimeout", "originalCallbackNode", "workInProgressRootRenderLanes$jscomp$0", "cb", "scheduleMicrotask", "coerceFormActionProp", "actionProp", "createFormDataWithSubmitter", "form", "submitter", "temp", "extractEvents$1", "maybeTargetInst", "i$jscomp$inline_1439", "eventName$jscomp$inline_1440", "domEventName$jscomp$inline_1441", "capitalizedEvent$jscomp$inline_1442", "nonDelegatedEvents", "eventSystemFlags", "_dispatchQueue$i", "previousInstance", "i$jscomp$0", "_dispatchListeners$i", "currentTarget", "targetElement", "listenerSetKey", "addTrappedEventListener", "listenToNativeEvent", "isCapturePhaseListener", "listeningMarker", "rootContainerElement", "ownerDocument", "targetContainer", "listenerWrapper", "dispatchDiscreteEvent", "dispatchContinuousEvent", "dispatchEvent", "dispatchEventForPluginEventSystem", "targetInst$jscomp$0", "ancestorInst", "nodeTag", "container", "grandTag", "SyntheticEventCtor", "inCapturePhase", "accumulateTargetOnly", "reactEventName", "lastHostComponent", "_instance", "createDispatchListener", "getParent", "accumulateEnterLeaveListenersForEvent", "getTargetInstFunc", "handleEventFunc", "fallbackData", "eventType", "targetFiber", "captureName", "_instance2", "common", "_instance3", "NORMALIZE_NEWLINES_REGEX", "NORMALIZE_NULL_AND_REPLACEMENT_REGEX", "normalizeMarkupForTextOrAttribute", "markup", "serverText", "clientText", "setProp", "setPropOnCustomElement", "hasSrc", "hasSrcSet", "propKey", "propValue$186", "lastProps", "lastProp", "propKey$203", "propKey$219", "propKey$224", "propKey$229", "propKey$234", "namespaceURI", "parentNamespace", "currentPopstateTransitionEvent", "localPromise", "handleErrorInNextTick", "parentInstance", "suspenseInstance", "depth", "anyProps", "nodeType", "targetInstance", "data", "rootContainerInstance", "preloadPropsMap", "preconnectsSet", "previousDispatcher", "flushSyncWork", "requestFormReset", "prefetchDNS", "preconnect", "preload", "preloadModule", "preinitScript", "preinitStyle", "preinitModuleScript", "previousWasRendering", "wasRendering", "formInst", "globalDocument", "preconnectAs", "rel", "href", "crossOrigin", "limitedEscapedHref", "as", "preloadSelector", "getStyleKey", "getScriptKey", "getStylesheetSelectorFromKey", "getScriptSelectorFromKey", "precedence", "adoptPreloadPropsForStylesheet", "link", "reject", "insertStylesheet", "src", "scripts", "adoptPreloadPropsForScript", "currentProps", "styles$242", "resource$243", "preloadStylesheet", "stylesheetPropsFromRawProps", "rawProps", "preloadProps", "styleProps", "instance$248", "linkInstance", "nodes", "prior", "stylesheetProps", "scriptProps", "keyAttribute", "caches", "nodeKey", "hostContext", "onUnsuspend", "insertSuspendedStylesheets", "commit", "stylesheetTimer", "unsuspend", "precedencesByRoot", "insertStylesheetIntoRoot", "precedences", "FiberRootNode", "hydrate", "onRecoverableError", "formState", "createFiberRoot", "initialChildren", "hydrationCallbacks", "isStrictMode", "transitionCallbacks", "getContextForSubtree", "parentComponent", "updateContainerImpl", "markRetryLaneImpl", "markRetryLaneIfNotHydrated", "attemptContinuousHydration", "blockedOn", "findInstanceBlockingEvent", "return_targetInst", "clearIfContinuousEvent", "queueIfContinuousEvent", "discreteReplayableEvents", "findInstanceBlockingTarget", "hasScheduledReplayAttempt", "queuedFocus", "queuedDrag", "queuedMouse", "queuedPointers", "queuedPointerCaptures", "queuedExplicitHydrationTargets", "accumulateOrCreateContinuousQueuedReplayableEvent", "existingQueuedEvent", "pointerId", "attemptExplicitHydrationTarget", "queuedTarget", "attemptReplayContinuousQueuedEvent", "queuedEvent", "targetContainers", "nextBlockedOn", "nativeEventClone", "attemptReplayContinuousQueuedEventInMap", "map", "replayUnblockedEvents", "scheduleCallbackIfUnblocked", "unblocked", "lastScheduledReplayQueue", "scheduleReplayQueueIfNeeded", "formReplayingQueue", "submitterOrAction", "unblock", "formProps", "ReactDOMRoot", "internalRoot", "ReactDOMHydrationRoot", "isomorphicReactPackageVersion$jscomp$inline_1686", "componentOrElement", "internals$jscomp$inline_2165", "hook$jscomp$inline_2166", "require_client", "__commonJSMin", "exports", "module", "checkDCE", "err", "import_react", "import_client", "import_react", "import_react", "imagePromiseFactory_default", "decode", "crossOrigin", "src", "resolve", "reject", "i", "removeBlankArrayElements", "a", "x", "stringToArray", "cache", "promiseFind", "arr", "promiseFactory", "done", "resolve", "reject", "queueNext", "src", "p", "useImage", "srcList", "imgPromise", "imagePromiseFactory_default", "useSuspense", "setIsSettled", "sourceList", "sourceKey", "error", "passthroughContainer", "x", "Img", "decode", "srcList", "loader", "unloader", "container", "loaderContainer", "unloaderContainer", "imgPromise", "crossorigin", "useSuspense", "imgProps", "ref", "imagePromiseFactory_default", "src", "isLoading", "useImage", "React", "Img_default", "import_react", "ErrorBoundary", "props", "error", "React", "randSeconds", "min", "max", "Timer", "delay", "startTime", "setStartTime", "elapsedTime", "setElapsedTime", "maxTimeReached", "remainingTime", "timer", "React", "GlobalTimer", "until", "HooksLegacyExample", "rand", "src", "isLoading", "error", "useImage", "HooksSuspenseExample", "ReuseCache", "renderId", "networkCalls", "setNetworkCalls", "entires", "ErrorBoundary", "Img_default", "ChangeSrc", "getSrc", "setSrc", "loadedSecondSource", "setLoadedSecondSource", "imgRef", "id", "prev", "url", "index", "App", "imageOn404", "tmdbImg", "rand1", "rand2", "rand3", "rand4", "rand5", "setRenderId", "swRegistered", "setSwRegistered", "node", "rootElement"] +} diff --git a/src/lib/react-image/dev/index.html b/src/lib/react-image/dev/index.html new file mode 100644 index 00000000..0a2cd12c --- /dev/null +++ b/src/lib/react-image/dev/index.html @@ -0,0 +1,6 @@ + + +
+ + + diff --git a/src/lib/react-image/dev/sw.js b/src/lib/react-image/dev/sw.js new file mode 100644 index 00000000..f5edd308 --- /dev/null +++ b/src/lib/react-image/dev/sw.js @@ -0,0 +1,2 @@ +var n=e=>new Promise(t=>setTimeout(t,e));self.addEventListener("install",()=>self.skipWaiting());self.addEventListener("activate",e=>{e.waitUntil(clients.claim())});async function i(e){let[t,s]=e.pathname.match(/\/delay\/(\d*).*/,"");await n(s);let a=new Request(e.pathname.replace(/\/delay\/\d*\//,""));return await fetch(a)}self.addEventListener("fetch",async e=>{let t=new URL(e.request.url);if(!e.request.url.startsWith(t.origin+"/delay/"))return console.log("not delaying",e.request.url),fetch(e.request);e.respondWith(i(t))}); +//# sourceMappingURL=sw.js.map diff --git a/src/lib/react-image/dev/sw.js.map b/src/lib/react-image/dev/sw.js.map new file mode 100644 index 00000000..792283c6 --- /dev/null +++ b/src/lib/react-image/dev/sw.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../dev/sw.js"], + "sourcesContent": ["const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))\n\nself.addEventListener('install', () => self.skipWaiting())\nself.addEventListener('activate', (e) => {\n e.waitUntil(clients.claim())\n})\n\nasync function delayFetch(url) {\n const [_, delay] = url.pathname.match(/\\/delay\\/(\\d*).*/, '')\n await sleep(delay)\n const request = new Request(url.pathname.replace(/\\/delay\\/\\d*\\//, ''))\n return await fetch(request)\n}\n\nself.addEventListener('fetch', async (event) => {\n const url = new URL(event.request.url)\n\n if (!event.request.url.startsWith(url.origin + '/delay/')) {\n console.log('not delaying', event.request.url)\n return fetch(event.request)\n }\n\n event.respondWith(delayFetch(url))\n})\n"], + "mappings": "AAAA,IAAMA,EAASC,GAAO,IAAI,QAASC,GAAY,WAAWA,EAASD,CAAE,CAAC,EAEtE,KAAK,iBAAiB,UAAW,IAAM,KAAK,YAAY,CAAC,EACzD,KAAK,iBAAiB,WAAa,GAAM,CACvC,EAAE,UAAU,QAAQ,MAAM,CAAC,CAC7B,CAAC,EAED,eAAeE,EAAWC,EAAK,CAC7B,GAAM,CAACC,EAAGC,CAAK,EAAIF,EAAI,SAAS,MAAM,mBAAoB,EAAE,EAC5D,MAAMJ,EAAMM,CAAK,EACjB,IAAMC,EAAU,IAAI,QAAQH,EAAI,SAAS,QAAQ,iBAAkB,EAAE,CAAC,EACtE,OAAO,MAAM,MAAMG,CAAO,CAC5B,CAEA,KAAK,iBAAiB,QAAS,MAAOC,GAAU,CAC9C,IAAMJ,EAAM,IAAI,IAAII,EAAM,QAAQ,GAAG,EAErC,GAAI,CAACA,EAAM,QAAQ,IAAI,WAAWJ,EAAI,OAAS,SAAS,EACtD,eAAQ,IAAI,eAAgBI,EAAM,QAAQ,GAAG,EACtC,MAAMA,EAAM,OAAO,EAG5BA,EAAM,YAAYL,EAAWC,CAAG,CAAC,CACnC,CAAC", + "names": ["sleep", "ms", "resolve", "delayFetch", "url", "_", "delay", "request", "event"] +} diff --git a/src/lib/react-image/esm/Img.js b/src/lib/react-image/esm/Img.js new file mode 100644 index 00000000..0ea7e8d9 --- /dev/null +++ b/src/lib/react-image/esm/Img.js @@ -0,0 +1 @@ +import{a}from"./chunk-EKASCT5O.js";import"./chunk-BVVURGNJ.js";export{a as default}; diff --git a/src/lib/react-image/esm/chunk-BVVURGNJ.js b/src/lib/react-image/esm/chunk-BVVURGNJ.js new file mode 100644 index 00000000..89df9d55 --- /dev/null +++ b/src/lib/react-image/esm/chunk-BVVURGNJ.js @@ -0,0 +1 @@ +import{useState as u}from"react";var a=({decode:o=!0,crossOrigin:n=""})=>t=>new Promise((s,c)=>{let e=new Image;n&&(e.crossOrigin=n),e.onload=()=>{o&&e.decode?e.decode().then(s).catch(c):s()},e.onerror=c,e.src=t});var f=o=>o.filter(n=>n),m=o=>Array.isArray(o)?o:[o],r={},l=(o,n)=>{let t=!1;return new Promise((s,c)=>{let e=i=>n(i).then(()=>{t=!0,s(i)});o.reduce((i,d)=>i.catch(()=>{if(!t)return e(d)}),e(o.shift())).catch(c)})};function g({srcList:o,imgPromise:n=a({decode:!0}),useSuspense:t=!0}){let[,s]=u(!1),c=f(m(o)),e=c.join("");if(r[e]||(r[e]={promise:l(c,n),cache:"pending",error:null}),r[e].cache==="resolved")return{src:r[e].src,isLoading:!1,error:null};if(r[e].cache==="rejected"){if(t)throw r[e].error;return{isLoading:!1,error:r[e].error,src:void 0}}if(r[e].promise.then(i=>{r[e]={...r[e],cache:"resolved",src:i},t||s(e)}).catch(i=>{r[e]={...r[e],cache:"rejected",error:i},t||s(e)}),t)throw r[e].promise;return{isLoading:!0,src:void 0,error:null}}export{a,g as b}; diff --git a/src/lib/react-image/esm/chunk-EKASCT5O.js b/src/lib/react-image/esm/chunk-EKASCT5O.js new file mode 100644 index 00000000..1ea3f9ec --- /dev/null +++ b/src/lib/react-image/esm/chunk-EKASCT5O.js @@ -0,0 +1 @@ +import{a as l,b as m}from"./chunk-BVVURGNJ.js";import E,{forwardRef as R}from"react";var n=e=>e;function L({decode:e=!0,src:c=[],loader:i=null,unloader:o=null,container:s=n,loaderContainer:g=n,unloaderContainer:u=n,imgPromise:r,crossorigin:d,useSuspense:t=!1,...f},p){r=r||l({decode:e,crossOrigin:d});let{src:a,isLoading:I}=m({srcList:c,imgPromise:r,useSuspense:t});return a?s(E.createElement("img",{src:a,...f,ref:p})):!t&&I?g(i):!t&&o?u(o):null}var M=R(L);export{M as a}; diff --git a/src/lib/react-image/esm/index.js b/src/lib/react-image/esm/index.js new file mode 100644 index 00000000..62aa703c --- /dev/null +++ b/src/lib/react-image/esm/index.js @@ -0,0 +1 @@ +import{a as e}from"./chunk-EKASCT5O.js";import{b as m}from"./chunk-BVVURGNJ.js";export{e as Img,m as useImage}; diff --git a/src/lib/react-image/esm/useImage-65024c8f.js b/src/lib/react-image/esm/useImage-65024c8f.js new file mode 100644 index 00000000..639ebf1e --- /dev/null +++ b/src/lib/react-image/esm/useImage-65024c8f.js @@ -0,0 +1,117 @@ +import _defineProperty from '@babel/runtime/helpers/defineProperty'; +import { useState } from 'react'; + +// returns a Promisized version of Image() api +var imagePromiseFactory = (function (_ref) { + var _ref$decode = _ref.decode, + decode = _ref$decode === void 0 ? true : _ref$decode, + _ref$crossOrigin = _ref.crossOrigin, + crossOrigin = _ref$crossOrigin === void 0 ? '' : _ref$crossOrigin; + return function (src) { + return new Promise(function (resolve, reject) { + var i = new Image(); + if (crossOrigin) i.crossOrigin = crossOrigin; + i.onload = function () { + decode && i.decode ? i.decode().then(resolve)["catch"](reject) : resolve(); + }; + i.onerror = reject; + i.src = src; + }); + }; +}); + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +var removeBlankArrayElements = function removeBlankArrayElements(a) { + return a.filter(function (x) { + return x; + }); +}; +var stringToArray = function stringToArray(x) { + return Array.isArray(x) ? x : [x]; +}; +var cache = {}; +// sequential map.find for promises +var promiseFind = function promiseFind(arr, promiseFactory) { + var done = false; + return new Promise(function (resolve, reject) { + var queueNext = function queueNext(src) { + return promiseFactory(src).then(function () { + done = true; + resolve(src); + }); + }; + arr.reduce(function (p, src) { + // ensure we aren't done before enqueuing the next source + return p["catch"](function () { + if (!done) return queueNext(src); + }); + }, queueNext(arr.shift()))["catch"](reject); + }); +}; +function useImage(_ref) { + var srcList = _ref.srcList, + _ref$imgPromise = _ref.imgPromise, + imgPromise = _ref$imgPromise === void 0 ? imagePromiseFactory({ + decode: true + }) : _ref$imgPromise, + _ref$useSuspense = _ref.useSuspense, + useSuspense = _ref$useSuspense === void 0 ? true : _ref$useSuspense; + var _useState = useState(false), + setIsSettled = _useState[1]; + var sourceList = removeBlankArrayElements(stringToArray(srcList)); + var sourceKey = sourceList.join(''); + if (!cache[sourceKey]) { + // create promise to loop through sources and try to load one + cache[sourceKey] = { + promise: promiseFind(sourceList, imgPromise), + cache: 'pending', + error: null + }; + } + // when promise resolves/reject, update cache & state + if (cache[sourceKey].cache === 'resolved') { + return { + src: cache[sourceKey].src, + isLoading: false, + error: null + }; + } + if (cache[sourceKey].cache === 'rejected') { + if (useSuspense) throw cache[sourceKey].error; + return { + isLoading: false, + error: cache[sourceKey].error, + src: undefined + }; + } + cache[sourceKey].promise + // if a source was found, update cache + // when not using suspense, update state to force a rerender + .then(function (src) { + cache[sourceKey] = _objectSpread(_objectSpread({}, cache[sourceKey]), {}, { + cache: 'resolved', + src: src + }); + if (!useSuspense) setIsSettled(sourceKey); + }) + // if no source was found, or if another error occurred, update cache + // when not using suspense, update state to force a rerender + ["catch"](function (error) { + cache[sourceKey] = _objectSpread(_objectSpread({}, cache[sourceKey]), {}, { + cache: 'rejected', + error: error + }); + if (!useSuspense) setIsSettled(sourceKey); + }); + // cache[sourceKey].cache === 'pending') + if (useSuspense) throw cache[sourceKey].promise; + return { + isLoading: true, + src: undefined, + error: null + }; +} + +export { imagePromiseFactory as i, useImage as u }; +//# sourceMappingURL=useImage-65024c8f.js.map diff --git a/src/lib/react-image/esm/useImage.js b/src/lib/react-image/esm/useImage.js new file mode 100644 index 00000000..4788f589 --- /dev/null +++ b/src/lib/react-image/esm/useImage.js @@ -0,0 +1 @@ +import{b as a}from"./chunk-BVVURGNJ.js";export{a as default}; diff --git a/src/lib/react-image/imagePromiseFactory.d.ts b/src/lib/react-image/imagePromiseFactory.d.ts new file mode 100644 index 00000000..7820d492 --- /dev/null +++ b/src/lib/react-image/imagePromiseFactory.d.ts @@ -0,0 +1,5 @@ +declare const _default: ({ decode, crossOrigin }: { + decode?: boolean | undefined; + crossOrigin?: string | undefined; +}) => (src: any) => Promise; +export default _default; diff --git a/src/lib/react-image/index.d.ts b/src/lib/react-image/index.d.ts new file mode 100644 index 00000000..6d65836c --- /dev/null +++ b/src/lib/react-image/index.d.ts @@ -0,0 +1,3 @@ +import Img, { ImgProps } from './Img'; +import useImage, { useImageProps } from './useImage'; +export { Img, useImage, type ImgProps, type useImageProps }; diff --git a/src/lib/react-image/package.json b/src/lib/react-image/package.json new file mode 100644 index 00000000..819dc249 --- /dev/null +++ b/src/lib/react-image/package.json @@ -0,0 +1,103 @@ +{ + "name": "react-image", + "version": "4.1.0", + "description": "React Image is an tag replacement for react, featuring preloader and multiple image fallback support", + "scripts": { + "build": "npm run build:types && NODE_ENV=production rollup -c && for i in cjs esm umd; do cp src/*test.js $i; done && rm -rf jsSrc", + "build:types": "tsc -p tsconfig.json", + "codecov": "codecov", + "dev": "webpack-dev-server", + "pretty": "prettier *.js src/**/*.js --write", + "isNewerThanPublished": "semver `npm -s view $npm_package_name dist-tags.${TAG:-latest}` --range \"<$npm_package_version\" > /dev/null && echo true || echo false", + "test": "jest --projects jest*.js" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/mbrevda/react-image.git" + }, + "keywords": [ + "reactjs", + "img", + "image", + "loader", + "fallback", + "react image", + "react-image", + "react img multi", + "react-img-multi", + "react image fallback", + "react image loader", + "react image preloader", + "react images", + "placeholder", + "placeholders", + "react image transition", + "react image fade", + "image transition", + "image fade" + ], + "files": [ + "*.md", + "es/*.js", + "esm/*.js", + "umd/*.js", + "cjs/*.js", + "!**/*.test.js", + "*.d.ts" + ], + "module": "esm/index.js", + "main": "cjs/index.js", + "browser": "umd/index.js", + "types": "react-image.d.ts", + "author": "mbrevda@gmail.com", + "license": "MIT", + "bugs": { + "url": "https://github.com/mbrevda/react-image/issues" + }, + "homepage": "https://github.com/mbrevda/react-image#readme", + "devDependencies": { + "@babel/cli": "7.18.6", + "@babel/core": "7.18.6", + "@babel/plugin-proposal-class-properties": "7.18.6", + "@babel/plugin-proposal-object-rest-spread": "7.18.6", + "@babel/plugin-transform-runtime": "7.18.6", + "@babel/preset-env": "7.18.6", + "@babel/preset-react": "7.18.6", + "@babel/preset-typescript": "7.18.6", + "@babel/runtime": "7.18.6", + "@testing-library/react": "14.0.0", + "@types/jest": "28.1.4", + "@types/react": "18.0.14", + "@types/react-dom": "18.0.5", + "babel-core": "7.0.0-bridge.0", + "babel-jest": "29.5.0", + "babel-loader": "8.2.5", + "babel-plugin-transform-inline-environment-variables": "0.4.4", + "codecov": "3.8.3", + "commander": "9.3.0", + "express": "4.18.1", + "html-webpack-plugin": "5.5.0", + "jest": "29.5.0", + "jest-environment-jsdom": "29.5.0", + "prettier": "2.7.1", + "react": "18.2.0", + "react-dom": "18.2.0", + "rollup": "2.75.7", + "rollup-plugin-babel": "4.4.0", + "rollup-plugin-babel-minify": "10.0.0", + "rollup-plugin-node-resolve": "5.2.0", + "semver": "7.3.7", + "serve-static": "1.15.0", + "ts-jest": "29.0.5", + "ts-loader": "9.3.1", + "typescript": "4.7.4", + "webpack": "5.73.0", + "webpack-cli": "4.10.0", + "webpack-dev-server": "4.9.3" + }, + "peerDependencies": { + "@babel/runtime": ">=7", + "react": ">=16.8", + "react-dom": ">=16.8" + } +} diff --git a/src/lib/react-image/src/CHANGELOG.md b/src/lib/react-image/src/CHANGELOG.md new file mode 100644 index 00000000..f3e400b2 --- /dev/null +++ b/src/lib/react-image/src/CHANGELOG.md @@ -0,0 +1,173 @@ +# 4.0.3 + +- Update peerDependencies in package.json + +# 4.0.2 + +- add IE support + +# 4.0.1 + +- export types ImgProps/useImageProps + +# 4.0.0 + +- BREAKING: all exports are now named exports + +# 3.0.3 + +- build hooks for umd + +# 3.0.2 + +- dont include typescript libs in build modules +- include esm modules + +# 3.0.1 + +- include missing files + +# 3.0.0 + +- move to typescript +- add useImage hook +- allow for an image loader to be injected +- BREAKING: requires react 16.8 or higher + +# 2.4.0 + +- fix: TS Interface Error for 'src' attribute. Related to issue: #260 + +# 2.3.0 + +- fix: typescript declarations + +# 2.2.2 + +- add: typescript declarations + + # 2.2.1 + +- fix: Removes warnings of unsafe lifecycle methods from console due to react 16.9 update. + + # 2.2.0 + +- fix:Use correct case for crossOrigin and ensure prop is used both for the initial image fetch and in the final `` element + + # 2.1.3 + +- fix: nullify callbacks before removing - #237 + + # 2.1.2 + +- fix: don't call handlers multiple times, fixes: #236 + + # 2.1.1 + +- fix: unset incorrect prop in https://github.com/mbrevda/react-image/pull/223 + + # 2.1.0 + +- Add: abort image download on unmount https://github.com/mbrevda/react-image/pull/223 + + # 2.0.0 + +- build: move to rollup +- Fix: Don't return a bool from constructor https://github.com/mbrevda/react-image/pull/220 + + # 1.5.1 + +- update babel loader to v7 + + # 1.5.0 + +- Add: `loaderContainer`/`unloaderContainer` (#208, #211). Thanks @eedrah! +- Test: test built libs + + # 1.4.1 + +- Fix: strip dev-specific code when compiling + + # 1.4.0 + +- Add: `container` props +- Fix: issue deleting `src` prop in Safari (#87) +- Add: `babel-runtime` as peer dep for https://pnpm.js.org/ (#199, #200). Thanks @vjpr! +- Add: (crude) demo including transitions + + # 1.3.1 + +- bug: Don't pass decode prop to underlying `` + + # 1.3.0 + +- Use img.decode() by default where available + + # 1.2.0 + +- Add support for React 16 + + # 1.0.1 + +- move to new prop-types package +- add 100% test coverage + + # 1.0.0 + +- Renamed to react-image + + # 0.6.3 + +- Housekeeping: update dependencies +- Add recipes + + # 0.6.2 + +- Fix Readme formatting + + # 0.6.1 + +- Start iteration at current location + + # 0.6.0 + +- Add a cache so that we don't attempt the same image twice (per page load) + + # 0.5.0 + +- Fix issue where index would overshoot available sources +- Don't try setting state if `this.i` was already destroyed, which probably means that we have been unmounted + + # 0.4.2 + +- Remove Browsierfy config + + # 0.4.1 + +- Revert 0.4.0 + + # 0.3.0 + +- Don't overshoot sourceList when state.currentIndex +- Ensure state has been set before trying to load images when new props are delivered + + # 0.2.0 + +- Restart the loading process when src prop changes + + # 0.1.0 + +- Don't use until we know the image can be rendered. This will prevent the "jumping" + when loading an image and the preloader is displayed at the same time as the image + + # 0.0.11 + +- Don't require `src` to be set + + # 0.0.10 + +- Made react a peer depends + + # 0.0.8 + +- Return `null` instead of false from React component. Thanks @tikotzky! diff --git a/src/lib/react-image/src/CONTRIBUTING.md b/src/lib/react-image/src/CONTRIBUTING.md new file mode 100644 index 00000000..7d3b6ee5 --- /dev/null +++ b/src/lib/react-image/src/CONTRIBUTING.md @@ -0,0 +1,24 @@ +# Contributing to React Image + +You can contribute to `react-image` in these ways: + +- Reporting a bug +- Discussing the current state of the code +- Submitting a fix +- Proposing new features + +## Reporting Bugs + +You encountered a bug? Report it by [opening a new issue](https://github.com/mbrevda/react-image/issues) on repository! + +## Proposing Changes + +Pull requests are the best way to propose changes to the codebase and contribute. Follow this guide to send your PR: + +1. Fork the repo, clone it and create your branch from `master`. +2. Commit the changes in created branch. +3. [Submit a pull request (referencing the issue)!](https://github.com/mbrevda/react-image/pulls) + +## License + +`react-image` is available under the MIT License diff --git a/src/lib/react-image/src/Img.d.ts b/src/lib/react-image/src/Img.d.ts new file mode 100644 index 00000000..87a2901b --- /dev/null +++ b/src/lib/react-image/src/Img.d.ts @@ -0,0 +1,14 @@ +import React, { JSX } from 'react'; +import { useImageProps } from './useImage'; +export type ImgProps = Omit, HTMLImageElement>, 'src'> & Omit & { + src: useImageProps['srcList']; + loader?: JSX.Element | null; + unloader?: JSX.Element | null; + decode?: boolean; + crossorigin?: string; + container?: (children: React.ReactNode) => JSX.Element; + loaderContainer?: (children: React.ReactNode) => JSX.Element; + unloaderContainer?: (children: React.ReactNode) => JSX.Element; +}; +declare const _default: React.ForwardRefExoticComponent & React.RefAttributes>; +export default _default; diff --git a/src/lib/react-image/src/LICENSE b/src/lib/react-image/src/LICENSE new file mode 100644 index 00000000..c34b309d --- /dev/null +++ b/src/lib/react-image/src/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Moshe Brevda + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/lib/react-image/src/README.md b/src/lib/react-image/src/README.md new file mode 100644 index 00000000..fc9f5085 --- /dev/null +++ b/src/lib/react-image/src/README.md @@ -0,0 +1,209 @@ +# React Image 馃彎 馃彇 馃彍 + +[![npm](https://img.shields.io/npm/v/react-image.svg?style=flat-square)](https://www.npmjs.com/package/react-image) +[![npm](https://img.shields.io/npm/l/react-image.svg?style=flat-square)](https://www.npmjs.com/package/react-image) +[![npm](https://img.shields.io/npm/dt/react-image.svg?style=flat-square)](https://www.npmjs.com/package/react-image) +[![npm](https://img.shields.io/npm/dm/react-image.svg?style=flat-square)](https://www.npmjs.com/package/react-image) +[![Known Vulnerabilities](https://snyk.io/test/github/mbrevda/react-image/badge.svg)](https://snyk.io/test/github/mbrevda/react-image) + +**React Image** is an `` tag replacement and hook for [React.js](https://facebook.github.io/react/), supporting fallback to alternate sources when loading an image fails. + +**React Image** allows one or more images to be used as fallback images in the event that the browser couldn't load the previous image. When using the component, you can specify any React element to be used before an image is loaded (i.e. a spinner) or in the event that the specified image(s) could not be loaded. When using the hook this can be achieved by wrapping the component with [``](https://reactjs.org/docs/react-api.html#reactsuspense) and specifying the `fallback` prop. + +**React Image** uses the `useImage` hook internally which encapsulates all the image loading logic. This hook works with React Suspense by default and will suspend painting until the image is downloaded and decoded by the browser. + +## Getting started + +1. To include the code locally in ES6, CommonJS, or UMD format, install `react-image` using npm: + +``` +npm install react-image --save +``` + +2. To include the code globally from a cdn: + +```html + +``` + +## Dependencies + +`react-image` has no external dependencies, aside from a version of `react` and `react-dom` which support hooks and `@babel/runtime`. + +## Documentation + +You can use the standalone component, documented below, or the `useImage` hook. + +### useImage(): + +The `useImage` hook allows for incorporating `react-image`'s logic in any component. When using the hook, the component can be wrapped in `` to keep it from rendering until the image is ready. Specify the `fallback` prop to show a spinner or any other component to the user while the browser is loading. The hook will throw an error if it fails to find any images. You can wrap your component with an [Error Boundary](https://reactjs.org/docs/code-splitting.html#error-boundaries) to catch this scenario and do/show something. + +Example usage: + +```js +import React, {Suspense} from 'react' +import {useImage} from 'react-image' + +function MyImageComponent() { + const {src} = useImage({ + srcList: 'https://www.example.com/foo.jpg', + }) + + return +} + +export default function MyComponent() { + return ( + + + + ) +} +``` + +### `useImage` API: + +- `srcList`: a string or array of strings. `useImage` will try loading these one at a time and returns after the first one is successfully loaded + +- `imgPromise`: a promise that accepts a url and returns a promise which resolves if the image is successfully loaded or rejects if the image doesn't load. You can inject an alternative implementation for advanced custom behaviour such as logging errors or dealing with servers that return an image with a 404 header + +- `useSuspense`: boolean. By default, `useImage` will tell React to suspend rendering until an image is downloaded. Suspense can be disabled by setting this to false. + +**returns:** + +- `src`: the resolved image address +- `isLoading`: the currently loading status. Note: this is never true when using Suspense +- `error`: any errors ecountered, if any + +### Standalone component (legacy) + +When possible, you should use the `useImage` hook. This provides for greater flexibility and provides support for React Suspense. + +Include `react-image` in your component: + +```js +import {Img} from 'react-image' +``` + +and set a source for the image: + +```js +const myComponent = () => +``` + +will resolve to: + +```js + +``` + +If the image cannot be loaded, **`` will not be rendered**, preventing a "broken" image from showing. + +### Multiple fallback images: + +When `src` is specified as an array, `react-image` will attempt to load all the images specified in the array, starting at the first and continuing until an image has been successfully loaded. + +```js +const myComponent = () => ( + +) +``` + +If an image has previously been attempted unsuccessfully, `react-image` will not retry loading it again until the page is reloaded. + +### Show a "spinner" or other element before the image is loaded: + +```js +const myComponent = () => ( + +) +``` + +If an image was previously loaded successfully (since the last time the page was loaded), the loader will not be shown and the image will be rendered immediately instead. + +### Show a fallback element if none of the images could be loaded: + +```js +const myComponent = () => ( + +) +``` + +### NOTE: + +The following options only apply to the `` component, not to the `useImage` hook. When using the hook you can inject a custom image resolver with custom behaviour as required. + +### Decode before paint + +By default and when supported by the browser, `react-image` uses [`Image.decode()`](https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-decode) to decode the image and only render it when it's fully ready to be painted. While this doesn't matter much for vector images (such as svg's) which are rendered immediately, decoding the image before painting prevents the browser from hanging or flashing while the image is decoded. If this behaviour is undesirable, it can be disabled by setting the `decode` prop to `false`: + +```js +const myComponent = () => ( + +) +``` + +### Loading images with a CORS policy + +When loading images from another domain with a [CORS policy](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes), you may find you need to use the `crossorigin` attribute. For example: + +```js +const myComponent = () => ( + +) +``` + +### Animations and other advanced uses + +A wrapper element `container` can be used to facilitate higher level operations which are beyond the scope of this project. `container` takes a single property, `children` which is whatever is passed in by **React Image** (i.e. the final `` or the loaders). + +For example, to animate the display of the image (and animate out the loader) a wrapper can be set: + +```js + { + return
{children}
+ }} +/> +``` + +The `` will now be contained by the `div` with class `foo` which can be targeted via css. +A crude example of a transition using [ReactCSSTransitionReplace](https://github.com/marnusw/react-css-transition-replace) can be [found here](https://github.com/mbrevda/react-image/tree/master/site). Error reporting (i.e. logging images that loaded ok or failed to load) can be accomplished with `container`, too. +A sample implementation can be [found here](https://github.com/mbrevda/react-image/pull/192#issuecomment-384340042). + +By default, the loader and unloader components will also be wrapped by the `container` component. These can be set independently by passing a container via `loaderContainer` or `unloaderContainer`. To disable the loader or unloader from being wrapped, pass a noop to `loaderContainer` or `unloaderContainer` (like `unloaderContainer={img => img}`). + +## Recipes + +### Delay rendering until element is visible (lazy rendering) + +By definition, **React Image** will try loading images right away. This may be undesirable in some situations, such as when the page has many images. As with any react element, rendering can be delayed until the image is actually visible in the viewport using popular libraries such as [`react-visibility-sensor`](https://www.npmjs.com/package/react-visibility-sensor). Here is a quick sample (psudocode/untested!): + +```js +import {Img} from 'react-image' +import VisibilitySensor from 'react-visibility-sensor' + +const myComponent = () => + + + +``` + +Note: it is not necessary to use **React Image** to prevent loading of images past "the fold" (i.e. not currently visible in the window). Instead just use the native HTML `` element and the `loading="lazy"` prop. See more [here](https://addyosmani.com/blog/lazy-loading/). + +### Animate image loading + +see above + +## License + +`react-image` is available under the MIT License diff --git a/src/lib/react-image/src/UPGRADE.md b/src/lib/react-image/src/UPGRADE.md new file mode 100644 index 00000000..4b81a802 --- /dev/null +++ b/src/lib/react-image/src/UPGRADE.md @@ -0,0 +1,27 @@ +# 4.0.0 + +All upgrade are now named exports, so: + +```js +import Img from 'react-image' +``` + +needs to be changed to: + +```js +import {Img} from 'react-image' +``` + +# 3.0.0 + +This version requires a version of react that supports hook (16.8 or greater) + +# 1.0.0 + +For users of the original `react-image` only: please note props and behaviors changes for this release: + +- `srcSet` is not supported +- `onLoad` & `onError` callbacks are currently private +- `lazy` has been removed from the core lib. To lazy load your images, see the recipes section [here](https://github.com/mbrevda/react-image#delay-rendering-until-element-is-visible) + +If you have a need for any of these params, feel free to send a PR. You can also open an issue to discuss your use case. diff --git a/src/lib/react-image/src/app.d.ts b/src/lib/react-image/src/app.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/src/lib/react-image/src/app.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/src/lib/react-image/src/cjs/Img.js b/src/lib/react-image/src/cjs/Img.js new file mode 100644 index 00000000..7887625b --- /dev/null +++ b/src/lib/react-image/src/cjs/Img.js @@ -0,0 +1,64 @@ +'use strict'; + +var _defineProperty = require('@babel/runtime/helpers/defineProperty'); +var _objectWithoutPropertiesLoose = require('@babel/runtime/helpers/objectWithoutPropertiesLoose'); +var React = require('react'); +var useImage = require('./useImage-10828d6c.js'); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); +var _objectWithoutPropertiesLoose__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutPropertiesLoose); +var React__default = /*#__PURE__*/_interopDefaultLegacy(React); + +var _excluded = ["decode", "src", "loader", "unloader", "container", "loaderContainer", "unloaderContainer", "imgPromise", "crossorigin", "useSuspense"]; +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +var passthroughContainer = function passthroughContainer(x) { + return x; +}; +function Img(_ref) { + var _ref$decode = _ref.decode, + decode = _ref$decode === void 0 ? true : _ref$decode, + _ref$src = _ref.src, + srcList = _ref$src === void 0 ? [] : _ref$src, + _ref$loader = _ref.loader, + loader = _ref$loader === void 0 ? null : _ref$loader, + _ref$unloader = _ref.unloader, + unloader = _ref$unloader === void 0 ? null : _ref$unloader, + _ref$container = _ref.container, + container = _ref$container === void 0 ? passthroughContainer : _ref$container, + _ref$loaderContainer = _ref.loaderContainer, + loaderContainer = _ref$loaderContainer === void 0 ? passthroughContainer : _ref$loaderContainer, + _ref$unloaderContaine = _ref.unloaderContainer, + unloaderContainer = _ref$unloaderContaine === void 0 ? passthroughContainer : _ref$unloaderContaine, + imgPromise = _ref.imgPromise, + crossorigin = _ref.crossorigin, + _ref$useSuspense = _ref.useSuspense, + useSuspense = _ref$useSuspense === void 0 ? false : _ref$useSuspense, + imgProps = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded); + imgPromise = imgPromise || useImage.imagePromiseFactory({ + decode: decode, + crossOrigin: crossorigin + }); + var _useImage = useImage.useImage({ + srcList: srcList, + imgPromise: imgPromise, + useSuspense: useSuspense + }), + src = _useImage.src, + isLoading = _useImage.isLoading; + // console.log({src, isLoading, resolvedSrc, useSuspense}) + // show img if loaded + if (src) return container( /*#__PURE__*/React__default["default"].createElement("img", _objectSpread({ + src: src + }, imgProps))); + // show loader if we have one and were still trying to load image + if (!useSuspense && isLoading) return loaderContainer(loader); + // show unloader if we have one and we have no more work to do + if (!useSuspense && unloader) return unloaderContainer(unloader); + return null; +} + +module.exports = Img; +//# sourceMappingURL=Img.js.map diff --git a/src/lib/react-image/src/cjs/index.js b/src/lib/react-image/src/cjs/index.js new file mode 100644 index 00000000..4b356b2b --- /dev/null +++ b/src/lib/react-image/src/cjs/index.js @@ -0,0 +1,15 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var Img = require('./Img.js'); +var useImage = require('./useImage-10828d6c.js'); +require('@babel/runtime/helpers/defineProperty'); +require('@babel/runtime/helpers/objectWithoutPropertiesLoose'); +require('react'); + + + +exports.Img = Img; +exports.useImage = useImage.useImage; +//# sourceMappingURL=index.js.map diff --git a/src/lib/react-image/src/cjs/useImage-10828d6c.js b/src/lib/react-image/src/cjs/useImage-10828d6c.js new file mode 100644 index 00000000..57040c62 --- /dev/null +++ b/src/lib/react-image/src/cjs/useImage-10828d6c.js @@ -0,0 +1,124 @@ +'use strict'; + +var _defineProperty = require('@babel/runtime/helpers/defineProperty'); +var React = require('react'); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); + +// returns a Promisized version of Image() api +var imagePromiseFactory = (function (_ref) { + var _ref$decode = _ref.decode, + decode = _ref$decode === void 0 ? true : _ref$decode, + _ref$crossOrigin = _ref.crossOrigin, + crossOrigin = _ref$crossOrigin === void 0 ? '' : _ref$crossOrigin; + return function (src) { + return new Promise(function (resolve, reject) { + var i = new Image(); + if (crossOrigin) i.crossOrigin = crossOrigin; + i.onload = function () { + decode && i.decode ? i.decode().then(resolve)["catch"](reject) : resolve(); + }; + i.onerror = reject; + i.src = src; + }); + }; +}); + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +var removeBlankArrayElements = function removeBlankArrayElements(a) { + return a.filter(function (x) { + return x; + }); +}; +var stringToArray = function stringToArray(x) { + return Array.isArray(x) ? x : [x]; +}; +var cache = {}; +// sequential map.find for promises +var promiseFind = function promiseFind(arr, promiseFactory) { + var done = false; + return new Promise(function (resolve, reject) { + var queueNext = function queueNext(src) { + return promiseFactory(src).then(function () { + done = true; + resolve(src); + }); + }; + arr.reduce(function (p, src) { + // ensure we aren't done before enqueuing the next source + return p["catch"](function () { + if (!done) return queueNext(src); + }); + }, queueNext(arr.shift()))["catch"](reject); + }); +}; +function useImage(_ref) { + var srcList = _ref.srcList, + _ref$imgPromise = _ref.imgPromise, + imgPromise = _ref$imgPromise === void 0 ? imagePromiseFactory({ + decode: true + }) : _ref$imgPromise, + _ref$useSuspense = _ref.useSuspense, + useSuspense = _ref$useSuspense === void 0 ? true : _ref$useSuspense; + var _useState = React.useState(false), + setIsSettled = _useState[1]; + var sourceList = removeBlankArrayElements(stringToArray(srcList)); + var sourceKey = sourceList.join(''); + if (!cache[sourceKey]) { + // create promise to loop through sources and try to load one + cache[sourceKey] = { + promise: promiseFind(sourceList, imgPromise), + cache: 'pending', + error: null + }; + } + // when promise resolves/reject, update cache & state + if (cache[sourceKey].cache === 'resolved') { + return { + src: cache[sourceKey].src, + isLoading: false, + error: null + }; + } + if (cache[sourceKey].cache === 'rejected') { + if (useSuspense) throw cache[sourceKey].error; + return { + isLoading: false, + error: cache[sourceKey].error, + src: undefined + }; + } + cache[sourceKey].promise + // if a source was found, update cache + // when not using suspense, update state to force a rerender + .then(function (src) { + cache[sourceKey] = _objectSpread(_objectSpread({}, cache[sourceKey]), {}, { + cache: 'resolved', + src: src + }); + if (!useSuspense) setIsSettled(sourceKey); + }) + // if no source was found, or if another error occurred, update cache + // when not using suspense, update state to force a rerender + ["catch"](function (error) { + cache[sourceKey] = _objectSpread(_objectSpread({}, cache[sourceKey]), {}, { + cache: 'rejected', + error: error + }); + if (!useSuspense) setIsSettled(sourceKey); + }); + // cache[sourceKey].cache === 'pending') + if (useSuspense) throw cache[sourceKey].promise; + return { + isLoading: true, + src: undefined, + error: null + }; +} + +exports.imagePromiseFactory = imagePromiseFactory; +exports.useImage = useImage; +//# sourceMappingURL=useImage-10828d6c.js.map diff --git a/src/lib/react-image/src/cjs/useImage.js b/src/lib/react-image/src/cjs/useImage.js new file mode 100644 index 00000000..10092c66 --- /dev/null +++ b/src/lib/react-image/src/cjs/useImage.js @@ -0,0 +1,10 @@ +'use strict'; + +require('@babel/runtime/helpers/defineProperty'); +require('react'); +var useImage = require('./useImage-10828d6c.js'); + + + +module.exports = useImage.useImage; +//# sourceMappingURL=useImage.js.map diff --git a/src/lib/react-image/src/esm/Img.js b/src/lib/react-image/src/esm/Img.js new file mode 100644 index 00000000..b1ac38a4 --- /dev/null +++ b/src/lib/react-image/src/esm/Img.js @@ -0,0 +1,56 @@ +import _defineProperty from '@babel/runtime/helpers/defineProperty'; +import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/objectWithoutPropertiesLoose'; +import React from 'react'; +import { i as imagePromiseFactory, u as useImage } from './useImage-65024c8f.js'; + +var _excluded = ["decode", "src", "loader", "unloader", "container", "loaderContainer", "unloaderContainer", "imgPromise", "crossorigin", "useSuspense"]; +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +var passthroughContainer = function passthroughContainer(x) { + return x; +}; +function Img(_ref) { + var _ref$decode = _ref.decode, + decode = _ref$decode === void 0 ? true : _ref$decode, + _ref$src = _ref.src, + srcList = _ref$src === void 0 ? [] : _ref$src, + _ref$loader = _ref.loader, + loader = _ref$loader === void 0 ? null : _ref$loader, + _ref$unloader = _ref.unloader, + unloader = _ref$unloader === void 0 ? null : _ref$unloader, + _ref$container = _ref.container, + container = _ref$container === void 0 ? passthroughContainer : _ref$container, + _ref$loaderContainer = _ref.loaderContainer, + loaderContainer = _ref$loaderContainer === void 0 ? passthroughContainer : _ref$loaderContainer, + _ref$unloaderContaine = _ref.unloaderContainer, + unloaderContainer = _ref$unloaderContaine === void 0 ? passthroughContainer : _ref$unloaderContaine, + imgPromise = _ref.imgPromise, + crossorigin = _ref.crossorigin, + _ref$useSuspense = _ref.useSuspense, + useSuspense = _ref$useSuspense === void 0 ? false : _ref$useSuspense, + imgProps = _objectWithoutPropertiesLoose(_ref, _excluded); + imgPromise = imgPromise || imagePromiseFactory({ + decode: decode, + crossOrigin: crossorigin + }); + var _useImage = useImage({ + srcList: srcList, + imgPromise: imgPromise, + useSuspense: useSuspense + }), + src = _useImage.src, + isLoading = _useImage.isLoading; + // console.log({src, isLoading, resolvedSrc, useSuspense}) + // show img if loaded + if (src) return container( /*#__PURE__*/React.createElement("img", _objectSpread({ + src: src + }, imgProps))); + // show loader if we have one and were still trying to load image + if (!useSuspense && isLoading) return loaderContainer(loader); + // show unloader if we have one and we have no more work to do + if (!useSuspense && unloader) return unloaderContainer(unloader); + return null; +} + +export { Img as default }; +//# sourceMappingURL=Img.js.map diff --git a/src/lib/react-image/src/esm/index.js b/src/lib/react-image/src/esm/index.js new file mode 100644 index 00000000..5706094c --- /dev/null +++ b/src/lib/react-image/src/esm/index.js @@ -0,0 +1,6 @@ +export { default as Img } from './Img.js'; +export { u as useImage } from './useImage-65024c8f.js'; +import '@babel/runtime/helpers/defineProperty'; +import '@babel/runtime/helpers/objectWithoutPropertiesLoose'; +import 'react'; +//# sourceMappingURL=index.js.map diff --git a/src/lib/react-image/src/esm/useImage-65024c8f.js b/src/lib/react-image/src/esm/useImage-65024c8f.js new file mode 100644 index 00000000..639ebf1e --- /dev/null +++ b/src/lib/react-image/src/esm/useImage-65024c8f.js @@ -0,0 +1,117 @@ +import _defineProperty from '@babel/runtime/helpers/defineProperty'; +import { useState } from 'react'; + +// returns a Promisized version of Image() api +var imagePromiseFactory = (function (_ref) { + var _ref$decode = _ref.decode, + decode = _ref$decode === void 0 ? true : _ref$decode, + _ref$crossOrigin = _ref.crossOrigin, + crossOrigin = _ref$crossOrigin === void 0 ? '' : _ref$crossOrigin; + return function (src) { + return new Promise(function (resolve, reject) { + var i = new Image(); + if (crossOrigin) i.crossOrigin = crossOrigin; + i.onload = function () { + decode && i.decode ? i.decode().then(resolve)["catch"](reject) : resolve(); + }; + i.onerror = reject; + i.src = src; + }); + }; +}); + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +var removeBlankArrayElements = function removeBlankArrayElements(a) { + return a.filter(function (x) { + return x; + }); +}; +var stringToArray = function stringToArray(x) { + return Array.isArray(x) ? x : [x]; +}; +var cache = {}; +// sequential map.find for promises +var promiseFind = function promiseFind(arr, promiseFactory) { + var done = false; + return new Promise(function (resolve, reject) { + var queueNext = function queueNext(src) { + return promiseFactory(src).then(function () { + done = true; + resolve(src); + }); + }; + arr.reduce(function (p, src) { + // ensure we aren't done before enqueuing the next source + return p["catch"](function () { + if (!done) return queueNext(src); + }); + }, queueNext(arr.shift()))["catch"](reject); + }); +}; +function useImage(_ref) { + var srcList = _ref.srcList, + _ref$imgPromise = _ref.imgPromise, + imgPromise = _ref$imgPromise === void 0 ? imagePromiseFactory({ + decode: true + }) : _ref$imgPromise, + _ref$useSuspense = _ref.useSuspense, + useSuspense = _ref$useSuspense === void 0 ? true : _ref$useSuspense; + var _useState = useState(false), + setIsSettled = _useState[1]; + var sourceList = removeBlankArrayElements(stringToArray(srcList)); + var sourceKey = sourceList.join(''); + if (!cache[sourceKey]) { + // create promise to loop through sources and try to load one + cache[sourceKey] = { + promise: promiseFind(sourceList, imgPromise), + cache: 'pending', + error: null + }; + } + // when promise resolves/reject, update cache & state + if (cache[sourceKey].cache === 'resolved') { + return { + src: cache[sourceKey].src, + isLoading: false, + error: null + }; + } + if (cache[sourceKey].cache === 'rejected') { + if (useSuspense) throw cache[sourceKey].error; + return { + isLoading: false, + error: cache[sourceKey].error, + src: undefined + }; + } + cache[sourceKey].promise + // if a source was found, update cache + // when not using suspense, update state to force a rerender + .then(function (src) { + cache[sourceKey] = _objectSpread(_objectSpread({}, cache[sourceKey]), {}, { + cache: 'resolved', + src: src + }); + if (!useSuspense) setIsSettled(sourceKey); + }) + // if no source was found, or if another error occurred, update cache + // when not using suspense, update state to force a rerender + ["catch"](function (error) { + cache[sourceKey] = _objectSpread(_objectSpread({}, cache[sourceKey]), {}, { + cache: 'rejected', + error: error + }); + if (!useSuspense) setIsSettled(sourceKey); + }); + // cache[sourceKey].cache === 'pending') + if (useSuspense) throw cache[sourceKey].promise; + return { + isLoading: true, + src: undefined, + error: null + }; +} + +export { imagePromiseFactory as i, useImage as u }; +//# sourceMappingURL=useImage-65024c8f.js.map diff --git a/src/lib/react-image/src/esm/useImage.js b/src/lib/react-image/src/esm/useImage.js new file mode 100644 index 00000000..283c94a6 --- /dev/null +++ b/src/lib/react-image/src/esm/useImage.js @@ -0,0 +1,4 @@ +import '@babel/runtime/helpers/defineProperty'; +import 'react'; +export { u as default } from './useImage-65024c8f.js'; +//# sourceMappingURL=useImage.js.map diff --git a/src/lib/react-image/src/imagePromiseFactory.d.ts b/src/lib/react-image/src/imagePromiseFactory.d.ts new file mode 100644 index 00000000..7820d492 --- /dev/null +++ b/src/lib/react-image/src/imagePromiseFactory.d.ts @@ -0,0 +1,5 @@ +declare const _default: ({ decode, crossOrigin }: { + decode?: boolean | undefined; + crossOrigin?: string | undefined; +}) => (src: any) => Promise; +export default _default; diff --git a/src/lib/react-image/src/index.d.ts b/src/lib/react-image/src/index.d.ts new file mode 100644 index 00000000..6d65836c --- /dev/null +++ b/src/lib/react-image/src/index.d.ts @@ -0,0 +1,3 @@ +import Img, { ImgProps } from './Img'; +import useImage, { useImageProps } from './useImage'; +export { Img, useImage, type ImgProps, type useImageProps }; diff --git a/src/lib/react-image/src/package.json b/src/lib/react-image/src/package.json new file mode 100644 index 00000000..819dc249 --- /dev/null +++ b/src/lib/react-image/src/package.json @@ -0,0 +1,103 @@ +{ + "name": "react-image", + "version": "4.1.0", + "description": "React Image is an tag replacement for react, featuring preloader and multiple image fallback support", + "scripts": { + "build": "npm run build:types && NODE_ENV=production rollup -c && for i in cjs esm umd; do cp src/*test.js $i; done && rm -rf jsSrc", + "build:types": "tsc -p tsconfig.json", + "codecov": "codecov", + "dev": "webpack-dev-server", + "pretty": "prettier *.js src/**/*.js --write", + "isNewerThanPublished": "semver `npm -s view $npm_package_name dist-tags.${TAG:-latest}` --range \"<$npm_package_version\" > /dev/null && echo true || echo false", + "test": "jest --projects jest*.js" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/mbrevda/react-image.git" + }, + "keywords": [ + "reactjs", + "img", + "image", + "loader", + "fallback", + "react image", + "react-image", + "react img multi", + "react-img-multi", + "react image fallback", + "react image loader", + "react image preloader", + "react images", + "placeholder", + "placeholders", + "react image transition", + "react image fade", + "image transition", + "image fade" + ], + "files": [ + "*.md", + "es/*.js", + "esm/*.js", + "umd/*.js", + "cjs/*.js", + "!**/*.test.js", + "*.d.ts" + ], + "module": "esm/index.js", + "main": "cjs/index.js", + "browser": "umd/index.js", + "types": "react-image.d.ts", + "author": "mbrevda@gmail.com", + "license": "MIT", + "bugs": { + "url": "https://github.com/mbrevda/react-image/issues" + }, + "homepage": "https://github.com/mbrevda/react-image#readme", + "devDependencies": { + "@babel/cli": "7.18.6", + "@babel/core": "7.18.6", + "@babel/plugin-proposal-class-properties": "7.18.6", + "@babel/plugin-proposal-object-rest-spread": "7.18.6", + "@babel/plugin-transform-runtime": "7.18.6", + "@babel/preset-env": "7.18.6", + "@babel/preset-react": "7.18.6", + "@babel/preset-typescript": "7.18.6", + "@babel/runtime": "7.18.6", + "@testing-library/react": "14.0.0", + "@types/jest": "28.1.4", + "@types/react": "18.0.14", + "@types/react-dom": "18.0.5", + "babel-core": "7.0.0-bridge.0", + "babel-jest": "29.5.0", + "babel-loader": "8.2.5", + "babel-plugin-transform-inline-environment-variables": "0.4.4", + "codecov": "3.8.3", + "commander": "9.3.0", + "express": "4.18.1", + "html-webpack-plugin": "5.5.0", + "jest": "29.5.0", + "jest-environment-jsdom": "29.5.0", + "prettier": "2.7.1", + "react": "18.2.0", + "react-dom": "18.2.0", + "rollup": "2.75.7", + "rollup-plugin-babel": "4.4.0", + "rollup-plugin-babel-minify": "10.0.0", + "rollup-plugin-node-resolve": "5.2.0", + "semver": "7.3.7", + "serve-static": "1.15.0", + "ts-jest": "29.0.5", + "ts-loader": "9.3.1", + "typescript": "4.7.4", + "webpack": "5.73.0", + "webpack-cli": "4.10.0", + "webpack-dev-server": "4.9.3" + }, + "peerDependencies": { + "@babel/runtime": ">=7", + "react": ">=16.8", + "react-dom": ">=16.8" + } +} diff --git a/src/lib/react-image/src/umd/index.js b/src/lib/react-image/src/umd/index.js new file mode 100644 index 00000000..9663cbe4 --- /dev/null +++ b/src/lib/react-image/src/umd/index.js @@ -0,0 +1,2 @@ +(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?b(exports,require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("react")):"function"==typeof define&&define.amd?define(["exports","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/objectWithoutPropertiesLoose","react"],b):(a="undefined"==typeof globalThis?a||self:globalThis,b(a.Img={},a._defineProperty,a._objectWithoutPropertiesLoose,a.React))})(this,function(a,b,c,d){"use strict";function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}function f(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function g(a){for(var b,c=1;c Promise; + useSuspense?: boolean; +}; +export default function useImage({ srcList, imgPromise, useSuspense, }: useImageProps): { + src: string | undefined; + isLoading: boolean; + error: any; +}; diff --git a/src/lib/react-image/umd/index.js b/src/lib/react-image/umd/index.js new file mode 100644 index 00000000..9663cbe4 --- /dev/null +++ b/src/lib/react-image/umd/index.js @@ -0,0 +1,2 @@ +(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?b(exports,require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("react")):"function"==typeof define&&define.amd?define(["exports","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/objectWithoutPropertiesLoose","react"],b):(a="undefined"==typeof globalThis?a||self:globalThis,b(a.Img={},a._defineProperty,a._objectWithoutPropertiesLoose,a.React))})(this,function(a,b,c,d){"use strict";function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}function f(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function g(a){for(var b,c=1;c Promise; + useSuspense?: boolean; +}; +export default function useImage({ srcList, imgPromise, useSuspense, }: useImageProps): { + src: string | undefined; + isLoading: boolean; + error: any; +}; diff --git a/src/pages/Profile.tsx b/src/pages/Profile.tsx index 4cf323b2..aeeb128e 100644 --- a/src/pages/Profile.tsx +++ b/src/pages/Profile.tsx @@ -165,6 +165,12 @@ export default function Profile() { Remove images from cache

+
+ react-image Pull Request + ) : null} From d3d62c7836cd27b3df1277277d9a8d979e5d951d Mon Sep 17 00:00:00 2001 From: Vicente Date: Sun, 12 Jan 2025 12:17:41 +0100 Subject: [PATCH 09/14] :bug: added missing dep --- bun.lock | 7 +++++++ package.json | 1 + 2 files changed, 8 insertions(+) diff --git a/bun.lock b/bun.lock index 34cf1412..6e91c7f2 100644 --- a/bun.lock +++ b/bun.lock @@ -39,6 +39,7 @@ "@types/react-outside-click-handler": "^1.3.0", "@types/resize-observer-browser": "^0.1.3", "@vitejs/plugin-react": "4.3.4", + "autoprefixer": "^10.4.20", "conventional-changelog-atom": "^2.0.3", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.0.0", @@ -645,6 +646,8 @@ "at-least-node": ["at-least-node@1.0.0", "", {}, "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="], + "autoprefixer": ["autoprefixer@10.4.20", "", { "dependencies": { "browserslist": "^4.23.3", "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g=="], + "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="], "axios": ["axios@1.7.4", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw=="], @@ -957,6 +960,8 @@ "form-data": ["form-data@4.0.1", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "mime-types": "^2.1.12" } }, "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw=="], + "fraction.js": ["fraction.js@4.3.7", "", {}, "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="], + "framer-motion": ["framer-motion@12.0.0-alpha.2", "", { "dependencies": { "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^19.0.0-rc.1", "react-dom": "^19.0.0-rc.1" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-s603YLhCoX3GKaPDZnywwoFdd1T6gDFCfevVRek+TCpbvazUkITh+YZ3a6kqTvn4Aj7qQWT3vAmzWIjl/LsCFA=="], "from2": ["from2@2.3.0", "", { "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" } }, "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g=="], @@ -1399,6 +1404,8 @@ "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], + "normalize-range": ["normalize-range@0.1.2", "", {}, "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="], + "normalize-url": ["normalize-url@6.1.0", "", {}, "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="], "npm": ["npm@8.19.4", "", { "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^5.6.3", "@npmcli/ci-detect": "^2.0.0", "@npmcli/config": "^4.2.1", "@npmcli/fs": "^2.1.0", "@npmcli/map-workspaces": "^2.0.3", "@npmcli/package-json": "^2.0.0", "@npmcli/run-script": "^4.2.1", "abbrev": "~1.1.1", "archy": "~1.0.0", "cacache": "^16.1.3", "chalk": "^4.1.2", "chownr": "^2.0.0", "cli-columns": "^4.0.0", "cli-table3": "^0.6.2", "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.12", "fs-minipass": "^2.1.0", "glob": "^8.0.1", "graceful-fs": "^4.2.10", "hosted-git-info": "^5.2.1", "ini": "^3.0.1", "init-package-json": "^3.0.2", "is-cidr": "^4.0.2", "json-parse-even-better-errors": "^2.3.1", "libnpmaccess": "^6.0.4", "libnpmdiff": "^4.0.5", "libnpmexec": "^4.0.14", "libnpmfund": "^3.0.5", "libnpmhook": "^8.0.4", "libnpmorg": "^4.0.4", "libnpmpack": "^4.1.3", "libnpmpublish": "^6.0.5", "libnpmsearch": "^5.0.4", "libnpmteam": "^4.0.4", "libnpmversion": "^3.0.7", "make-fetch-happen": "^10.2.0", "minimatch": "^5.1.0", "minipass": "^3.1.6", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", "mkdirp-infer-owner": "^2.0.0", "ms": "^2.1.2", "node-gyp": "^9.1.0", "nopt": "^6.0.0", "npm-audit-report": "^3.0.0", "npm-install-checks": "^5.0.0", "npm-package-arg": "^9.1.0", "npm-pick-manifest": "^7.0.2", "npm-profile": "^6.2.0", "npm-registry-fetch": "^13.3.1", "npm-user-validate": "^1.0.1", "npmlog": "^6.0.2", "opener": "^1.5.2", "p-map": "^4.0.0", "pacote": "^13.6.2", "parse-conflict-json": "^2.0.2", "proc-log": "^2.0.1", "qrcode-terminal": "^0.12.0", "read": "~1.0.7", "read-package-json": "^5.0.2", "read-package-json-fast": "^2.0.3", "readdir-scoped-modules": "^1.1.0", "rimraf": "^3.0.2", "semver": "^7.3.7", "ssri": "^9.0.1", "tar": "^6.1.11", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^2.0.0", "validate-npm-package-name": "^4.0.0", "which": "^2.0.2", "write-file-atomic": "^4.0.1" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" } }, "sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw=="], diff --git a/package.json b/package.json index 4857034e..e741d7c6 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "@types/react-outside-click-handler": "^1.3.0", "@types/resize-observer-browser": "^0.1.3", "@vitejs/plugin-react": "4.3.4", + "autoprefixer": "^10.4.20", "conventional-changelog-atom": "^2.0.3", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.0.0", From f2f039e8e3c7abb6be148b873c2b182ef05497dd Mon Sep 17 00:00:00 2001 From: Vicente Date: Thu, 30 Jan 2025 01:10:38 +0100 Subject: [PATCH 10/14] removed index.ts files & fixed searchParams & removed .Provider & improved firstLoad & removed deps --- bun.lock | 135 ++++-------------- functions/server.ts | 2 +- package.json | 7 +- src/App.tsx | 6 +- src/components/Alert/Alert.tsx | 2 +- src/components/Collapsable/Collapsable.tsx | 2 +- src/components/Empty.tsx | 2 +- src/components/Genres.tsx | 2 +- src/components/GlobalFilter.tsx | 11 +- src/components/Icon.tsx | 2 +- src/components/Image.tsx | 5 +- src/components/ImageLink.tsx | 5 +- src/components/Login.tsx | 4 +- src/components/Longpress.tsx | 2 +- src/components/Modal.tsx | 3 +- src/components/Navigation/NavigationTabs.tsx | 3 +- src/components/NewVersion.tsx | 2 +- .../Pagination/PaginationContainer.tsx | 3 +- src/components/People.tsx | 5 +- src/components/Popular.tsx | 4 +- src/components/ProgressBar/index.ts | 1 - src/components/ProtectedRoute.tsx | 2 +- src/components/Providers.tsx | 10 +- src/components/Related.tsx | 3 +- src/components/Seasons/Episodes.tsx | 6 +- src/components/Seasons/SeasonSelector.tsx | 15 +- src/components/Seasons/Seasons.tsx | 4 +- src/components/Seasons/SeasonsContainer.tsx | 13 +- src/components/ShowWatchButton.tsx | 7 +- src/components/WatchButton.tsx | 7 +- src/contexts/AlertContext.tsx | 4 +- src/contexts/AuthContext.tsx | 6 +- src/contexts/ModalContext.tsx | 4 +- src/contexts/ThemeContext.tsx | 4 +- src/contexts/index.ts | 4 - src/hooks/index.ts | 11 -- src/hooks/usePagination.tsx | 8 +- src/models/Translation.ts | 1 + src/models/index.ts | 11 -- src/pages/MovieDetail.tsx | 10 +- src/pages/Person.tsx | 13 +- src/pages/Profile.tsx | 7 +- src/pages/ShowDetail.tsx | 10 +- src/pages/calendar/Calendar.tsx | 30 ++-- src/pages/movies/Movies.tsx | 5 +- src/pages/movies/MoviesWatched.tsx | 2 +- src/pages/movies/MoviesWatchlist.tsx | 4 +- src/pages/search/Search.tsx | 7 +- src/pages/search/SearchFilters.tsx | 4 +- src/pages/shows/Shows.tsx | 5 +- src/pages/shows/ShowsWatched.tsx | 2 +- src/pages/shows/ShowsWatchlist.tsx | 4 +- src/state/firstLoadAction.ts | 83 ++++------- src/state/middleware.ts | 2 + src/state/slices/config.ts | 75 ++++------ src/state/slices/movies/index.ts | 10 +- src/state/slices/movies/thunks.ts | 31 ++-- src/state/slices/shows/index.ts | 8 +- src/state/slices/shows/thunks.ts | 21 ++- src/utils/api.ts | 66 +++++---- src/utils/findFirstValidImage.ts | 2 +- src/utils/getTranslations.ts | 16 ++- src/utils/getType.ts | 8 +- 63 files changed, 321 insertions(+), 432 deletions(-) delete mode 100644 src/components/ProgressBar/index.ts delete mode 100644 src/contexts/index.ts delete mode 100644 src/hooks/index.ts delete mode 100644 src/models/index.ts diff --git a/bun.lock b/bun.lock index 6e91c7f2..482ed9a6 100644 --- a/bun.lock +++ b/bun.lock @@ -6,9 +6,9 @@ "@reduxjs/toolkit": "2.4.0", "@sentry/react": "8.42.0", "axios": "1.7.4", - "axios-rate-limit": "1.3.0", + "axios-rate-limit": "1.4.0", "bottleneck": "^2.19.5", - "date-fns": "^2.15.0", + "date-fns": "4.1.0", "dexie": "^3.2.2", "fast-deep-equal": "^3.1.3", "fuse.js": "^5.2.3", @@ -16,7 +16,7 @@ "query-string": "^6.13.1", "ramda": "0.30.1", "react": "19.0.0", - "react-big-calendar": "1.16.3", + "react-big-calendar": "1.17.1", "react-dom": "19.0.0", "react-fastclick": "^3.0.2", "react-helmet": "^6.1.0", @@ -31,7 +31,6 @@ "@semantic-release/changelog": "^5.0.0", "@semantic-release/git": "^9.0.0", "@sentry/browser": "7.119.2", - "@types/jest": "^24.0.18", "@types/ramda": "0.30.1", "@types/react": "19.0.0", "@types/react-dom": "19.0.0", @@ -322,8 +321,6 @@ "@isaacs/string-locale-compare": ["@isaacs/string-locale-compare@1.1.0", "", {}, "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ=="], - "@jest/types": ["@jest/types@24.9.0", "", { "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^1.1.1", "@types/yargs": "^13.0.0" } }, "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw=="], - "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="], "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], @@ -544,14 +541,6 @@ "@types/estree": ["@types/estree@1.0.6", "", {}, "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="], - "@types/istanbul-lib-coverage": ["@types/istanbul-lib-coverage@2.0.6", "", {}, "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w=="], - - "@types/istanbul-lib-report": ["@types/istanbul-lib-report@3.0.3", "", { "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA=="], - - "@types/istanbul-reports": ["@types/istanbul-reports@1.1.2", "", { "dependencies": { "@types/istanbul-lib-coverage": "*", "@types/istanbul-lib-report": "*" } }, "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw=="], - - "@types/jest": ["@types/jest@24.9.1", "", { "dependencies": { "jest-diff": "^24.3.0" } }, "sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q=="], - "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], "@types/minimist": ["@types/minimist@1.2.5", "", {}, "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag=="], @@ -582,10 +571,6 @@ "@types/warning": ["@types/warning@3.0.3", "", {}, "sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q=="], - "@types/yargs": ["@types/yargs@13.0.12", "", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ=="], - - "@types/yargs-parser": ["@types/yargs-parser@21.0.3", "", {}, "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ=="], - "@vitejs/plugin-react": ["@vitejs/plugin-react@4.3.4", "", { "dependencies": { "@babel/core": "^7.26.0", "@babel/plugin-transform-react-jsx-self": "^7.25.9", "@babel/plugin-transform-react-jsx-source": "^7.25.9", "@types/babel__core": "^7.20.5", "react-refresh": "^0.14.2" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" } }, "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug=="], "JSONStream": ["JSONStream@1.3.5", "", { "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" }, "bin": { "JSONStream": "./bin.js" } }, "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ=="], @@ -606,9 +591,9 @@ "ansi-escapes": ["ansi-escapes@6.2.1", "", {}, "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig=="], - "ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], + "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], "ansicolors": ["ansicolors@0.3.2", "", {}, "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg=="], @@ -652,7 +637,7 @@ "axios": ["axios@1.7.4", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw=="], - "axios-rate-limit": ["axios-rate-limit@1.3.0", "", { "peerDependencies": { "axios": "*" } }, "sha512-cKR5wTbU/CeeyF1xVl5hl6FlYsmzDVqxlN4rGtfO5x7J83UxKDckudsW0yW21/ZJRcO0Qrfm3fUFbhEbWTLayw=="], + "axios-rate-limit": ["axios-rate-limit@1.4.0", "", { "dependencies": { "axios": ">=0.18.0" } }, "sha512-uM5PbmSUdSle1I+59Av/wpLuNRobfatIR+FyylSoHcVHT20ohjflNnLMEHZQr7N2QVG/Wlt8jekIPhWwoKtpXQ=="], "babel-plugin-polyfill-corejs2": ["babel-plugin-polyfill-corejs2@0.4.12", "", { "dependencies": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.6.3", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og=="], @@ -700,7 +685,7 @@ "cardinal": ["cardinal@2.1.1", "", { "dependencies": { "ansicolors": "~0.3.2", "redeyed": "~2.1.0" }, "bin": { "cdl": "./bin/cdl.js" } }, "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw=="], - "chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], @@ -724,9 +709,9 @@ "cmd-shim": ["cmd-shim@5.0.0", "", { "dependencies": { "mkdirp-infer-owner": "^2.0.0" } }, "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw=="], - "color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], "color-support": ["color-support@1.1.3", "", { "bin": { "color-support": "bin.js" } }, "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="], @@ -782,7 +767,7 @@ "date-arithmetic": ["date-arithmetic@4.1.0", "", {}, "sha512-QWxYLR5P/6GStZcdem+V1xoto6DMadYWpMXU82ES3/RfR3Wdwr3D0+be7mgOJ+Ov0G9D5Dmb9T17sNLQYj9XOg=="], - "date-fns": ["date-fns@2.30.0", "", { "dependencies": { "@babel/runtime": "^7.21.0" } }, "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw=="], + "date-fns": ["date-fns@4.1.0", "", {}, "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg=="], "dateformat": ["dateformat@3.0.3", "", {}, "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q=="], @@ -830,8 +815,6 @@ "diff": ["diff@4.0.2", "", {}, "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="], - "diff-sequences": ["diff-sequences@24.9.0", "", {}, "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew=="], - "difflib": ["difflib@0.2.4", "", { "dependencies": { "heap": ">= 0.2.0" } }, "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w=="], "dir-glob": ["dir-glob@3.0.1", "", { "dependencies": { "path-type": "^4.0.0" } }, "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="], @@ -1188,10 +1171,6 @@ "java-properties": ["java-properties@1.0.2", "", {}, "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ=="], - "jest-diff": ["jest-diff@24.9.0", "", { "dependencies": { "chalk": "^2.0.1", "diff-sequences": "^24.9.0", "jest-get-type": "^24.9.0", "pretty-format": "^24.9.0" } }, "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ=="], - - "jest-get-type": ["jest-get-type@24.9.0", "", {}, "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q=="], - "jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], @@ -1526,8 +1505,6 @@ "pretty-bytes": ["pretty-bytes@6.1.1", "", {}, "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ=="], - "pretty-format": ["pretty-format@24.9.0", "", { "dependencies": { "@jest/types": "^24.9.0", "ansi-regex": "^4.0.0", "ansi-styles": "^3.2.0", "react-is": "^16.8.4" } }, "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA=="], - "proc-log": ["proc-log@2.0.1", "", {}, "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw=="], "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="], @@ -1568,7 +1545,7 @@ "react": ["react@19.0.0", "", {}, "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ=="], - "react-big-calendar": ["react-big-calendar@1.16.3", "", { "dependencies": { "@babel/runtime": "^7.20.7", "clsx": "^1.2.1", "date-arithmetic": "^4.1.0", "dayjs": "^1.11.7", "dom-helpers": "^5.2.1", "globalize": "^0.1.1", "invariant": "^2.2.4", "lodash": "^4.17.21", "lodash-es": "^4.17.21", "luxon": "^3.2.1", "memoize-one": "^6.0.0", "moment": "^2.29.4", "moment-timezone": "^0.5.40", "prop-types": "^15.8.1", "react-overlays": "^5.2.1", "uncontrollable": "^7.2.1" }, "peerDependencies": { "react": "^16.14.0 || ^17 || ^18", "react-dom": "^16.14.0 || ^17 || ^18" } }, "sha512-hErFfZZpnmY89gJkzDvOFXDCNuPq2W/TZFamD69xNIDAInPC2mTAhAfOtBp/fGlmhKVeAdjzETCFyk3QcRh07Q=="], + "react-big-calendar": ["react-big-calendar@1.17.1", "", { "dependencies": { "@babel/runtime": "^7.20.7", "clsx": "^1.2.1", "date-arithmetic": "^4.1.0", "dayjs": "^1.11.7", "dom-helpers": "^5.2.1", "globalize": "^0.1.1", "invariant": "^2.2.4", "lodash": "^4.17.21", "lodash-es": "^4.17.21", "luxon": "^3.2.1", "memoize-one": "^6.0.0", "moment": "^2.29.4", "moment-timezone": "^0.5.40", "prop-types": "^15.8.1", "react-overlays": "^5.2.1", "uncontrollable": "^7.2.1" }, "peerDependencies": { "react": "^16.14.0 || ^17 || ^18", "react-dom": "^16.14.0 || ^17 || ^18" } }, "sha512-LltUAMSGODWQBKx4013bRe6R0jaINV9hrs970+F860KedpozwRGGMT66esV9mA3mAhfSKoazF/QH1WCyLkXYZA=="], "react-dom": ["react-dom@19.0.0", "", { "dependencies": { "scheduler": "^0.25.0" }, "peerDependencies": { "react": "^19.0.0" } }, "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ=="], @@ -1788,7 +1765,7 @@ "sucrase": ["sucrase@3.35.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA=="], - "supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "supports-hyperlinks": ["supports-hyperlinks@2.3.0", "", { "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" } }, "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA=="], @@ -2022,8 +1999,6 @@ "@npmcli/arborist/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], - "@npmcli/disparity-colors/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "@npmcli/git/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], "@npmcli/installed-package-contents/npm-normalize-package-bin": ["npm-normalize-package-bin@1.0.1", "", {}, "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="], @@ -2074,8 +2049,6 @@ "camelcase-keys/camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], - "chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], - "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], "config-chain/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], @@ -2094,8 +2067,6 @@ "dot-prop/is-obj": ["is-obj@2.0.0", "", {}, "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="], - "eslint/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], "figures/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], @@ -2114,14 +2085,10 @@ "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], - "jake/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "libnpmdiff/diff": ["diff@5.2.0", "", {}, "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="], "libnpmdiff/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], - "libnpmexec/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "libnpmpublish/normalize-package-data": ["normalize-package-data@4.0.1", "", { "dependencies": { "hosted-git-info": "^5.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg=="], "load-json-file/parse-json": ["parse-json@4.0.0", "", { "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw=="], @@ -2150,8 +2117,6 @@ "normalize-package-data/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], - "npm/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "npm/glob": ["glob@8.1.0", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" } }, "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ=="], "npm/hosted-git-info": ["hosted-git-info@5.2.1", "", { "dependencies": { "lru-cache": "^7.5.1" } }, "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw=="], @@ -2160,8 +2125,6 @@ "npm/p-map": ["p-map@4.0.0", "", { "dependencies": { "aggregate-error": "^3.0.0" } }, "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ=="], - "npm-audit-report/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "npm-bundled/npm-normalize-package-bin": ["npm-normalize-package-bin@1.0.1", "", {}, "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="], "npm-package-arg/hosted-git-info": ["hosted-git-info@5.2.1", "", { "dependencies": { "lru-cache": "^7.5.1" } }, "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw=="], @@ -2204,20 +2167,14 @@ "semver-diff/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "signale/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + "signale/figures": ["figures@2.0.0", "", { "dependencies": { "escape-string-regexp": "^1.0.5" } }, "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA=="], "socks-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], - "strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], - - "supports-hyperlinks/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "tar/minipass": ["minipass@5.0.0", "", {}, "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="], "tempy/type-fest": ["type-fest@0.16.0", "", {}, "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg=="], @@ -2240,10 +2197,6 @@ "workbox-build/tempy": ["tempy@0.6.0", "", { "dependencies": { "is-stream": "^2.0.0", "temp-dir": "^2.0.0", "type-fest": "^0.16.0", "unique-string": "^2.0.0" } }, "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw=="], - "wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "@apideck/better-ajv-errors/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], @@ -2258,8 +2211,6 @@ "@npmcli/arborist/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - "@npmcli/disparity-colors/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "@npmcli/map-workspaces/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], "@rollup/plugin-babel/@rollup/pluginutils/@types/estree": ["@types/estree@0.0.39", "", {}, "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw=="], @@ -2282,26 +2233,14 @@ "conventional-commits-parser/through2/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], - "eslint/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "eslint/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "filelist/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], "glob/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], "ignore-walk/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - "jake/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "jake/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "libnpmdiff/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - "libnpmexec/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "libnpmexec/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "libnpmpublish/normalize-package-data/hosted-git-info": ["hosted-git-info@5.2.1", "", { "dependencies": { "lru-cache": "^7.5.1" } }, "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw=="], "make-fetch-happen/http-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], @@ -2312,18 +2251,10 @@ "node-fetch/whatwg-url/webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], - "npm-audit-report/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "npm-audit-report/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "npm-package-arg/hosted-git-info/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], "npm-packlist/glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], - "npm/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "npm/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "npm/hosted-git-info/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], "npm/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], @@ -2340,34 +2271,24 @@ "semantic-release/yargs/yargs-parser": ["yargs-parser@20.2.9", "", {}, "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="], - "signale/figures/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], + "signale/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], - "workbox-build/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + "signale/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], - "workbox-build/tempy/type-fest": ["type-fest@0.16.0", "", {}, "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg=="], + "signale/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], - "wrap-ansi-cjs/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + "signale/figures/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], - "wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + "workbox-build/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - "@npmcli/disparity-colors/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + "workbox-build/tempy/type-fest": ["type-fest@0.16.0", "", {}, "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg=="], "cacache/glob/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - "eslint/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "jake/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "libnpmexec/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "libnpmpublish/normalize-package-data/hosted-git-info/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], - "npm-audit-report/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "npm-packlist/glob/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - "npm/chalk/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "pkg-conf/find-up/locate-path/p-locate": ["p-locate@2.0.0", "", { "dependencies": { "p-limit": "^1.1.0" } }, "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg=="], "pkg-conf/find-up/locate-path/path-exists": ["path-exists@3.0.0", "", {}, "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="], @@ -2378,24 +2299,16 @@ "read-pkg-up/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], - "wrap-ansi-cjs/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + "signale/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], - "wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "eslint/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "jake/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "libnpmexec/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "npm-audit-report/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "npm/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + "signale/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], "pkg-conf/find-up/locate-path/p-locate/p-limit": ["p-limit@1.3.0", "", { "dependencies": { "p-try": "^1.0.0" } }, "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q=="], "read-pkg-up/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], + "signale/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + "pkg-conf/find-up/locate-path/p-locate/p-limit/p-try": ["p-try@1.0.0", "", {}, "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww=="], } } diff --git a/functions/server.ts b/functions/server.ts index 27491225..e247874c 100644 --- a/functions/server.ts +++ b/functions/server.ts @@ -1,9 +1,9 @@ import { Handler, HandlerEvent } from '@netlify/functions'; import fs from 'fs'; -import { SearchMovie, SearchPerson, SearchShow } from 'models'; import path from 'path'; import { getApi, getImgsApi } from 'utils/api'; import { findFirstValid } from 'utils/findFirstValidImage'; +import { SearchMovie, SearchPerson, SearchShow } from '../src/models/Movie'; const TYPE_MAP = { movie: 'video.movie', diff --git a/package.json b/package.json index e741d7c6..2df251fd 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,9 @@ "@reduxjs/toolkit": "2.4.0", "@sentry/react": "8.42.0", "axios": "1.7.4", - "axios-rate-limit": "1.3.0", + "axios-rate-limit": "1.4.0", "bottleneck": "^2.19.5", - "date-fns": "^2.15.0", + "date-fns": "4.1.0", "dexie": "^3.2.2", "fast-deep-equal": "^3.1.3", "fuse.js": "^5.2.3", @@ -22,7 +22,7 @@ "query-string": "^6.13.1", "ramda": "0.30.1", "react": "19.0.0", - "react-big-calendar": "1.16.3", + "react-big-calendar": "1.17.1", "react-dom": "19.0.0", "react-fastclick": "^3.0.2", "react-helmet": "^6.1.0", @@ -37,7 +37,6 @@ "@semantic-release/changelog": "^5.0.0", "@semantic-release/git": "^9.0.0", "@sentry/browser": "7.119.2", - "@types/jest": "^24.0.18", "@types/ramda": "0.30.1", "@types/react": "19.0.0", "@types/react-dom": "19.0.0", diff --git a/src/App.tsx b/src/App.tsx index c3948489..5e3821e3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,7 +2,6 @@ import { Alert } from 'components/Alert/Alert'; import { GlobalFilter } from 'components/GlobalFilter'; import { NavigationTabs } from 'components/Navigation/NavigationTabs'; import { NewVersion } from 'components/NewVersion'; -import { AuthContext } from 'contexts'; import React, { Suspense, lazy, useContext, useEffect } from 'react'; import { Navigate, Route, Routes, useLocation } from 'react-router-dom'; import { loadImgConfig } from 'state/slices/config'; @@ -10,10 +9,11 @@ import { useAppDispatch, useAppSelector } from 'state/store'; import { ROUTE, ROUTES } from 'utils/routes'; import Emoji from './components/Emoji'; import Login from './components/Login'; -import { ProgressBar } from './components/ProgressBar'; +import { ProgressBar } from './components/ProgressBar/ProgressBar'; import ProtectedRoute from './components/ProtectedRoute'; -import { useWindowSize } from './hooks'; import { firstLoad } from './state/firstLoadAction'; +import { AuthContext } from './contexts/AuthContext'; +import { useWindowSize } from './hooks/useWindowSize'; const Movies = lazy(() => import('./pages/movies/Movies')); const Profile = lazy(() => import('./pages/Profile')); const MovieDetail = lazy(() => import('./pages/MovieDetail')); diff --git a/src/components/Alert/Alert.tsx b/src/components/Alert/Alert.tsx index 1ad069a8..cb24b495 100644 --- a/src/components/Alert/Alert.tsx +++ b/src/components/Alert/Alert.tsx @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; import Emoji from '../Emoji'; import './Alert.css'; -import { AlertContext } from '../../contexts'; +import { AlertContext } from '../../contexts/AlertContext'; export const Alert: React.FC = () => { const { text, opened, close } = useContext(AlertContext); diff --git a/src/components/Collapsable/Collapsable.tsx b/src/components/Collapsable/Collapsable.tsx index 9fe17e58..a4d7a2a2 100644 --- a/src/components/Collapsable/Collapsable.tsx +++ b/src/components/Collapsable/Collapsable.tsx @@ -1,7 +1,7 @@ import { motion } from 'motion/react'; -import { useTranslate } from 'hooks'; import React, { useEffect, useRef, useState } from 'react'; import './collapsable.css'; +import { useTranslate } from '../../hooks/useTranslate'; interface ICollapsableProps { heightInRem: number; diff --git a/src/components/Empty.tsx b/src/components/Empty.tsx index 1e67eaf5..a99d2e73 100644 --- a/src/components/Empty.tsx +++ b/src/components/Empty.tsx @@ -1,6 +1,6 @@ -import { useTranslate } from 'hooks'; import React from 'react'; import Emoji from './Emoji'; +import { useTranslate } from '../hooks/useTranslate'; export const Empty: React.FC = () => { const { t } = useTranslate(); diff --git a/src/components/Genres.tsx b/src/components/Genres.tsx index 67d2398e..84920bc5 100644 --- a/src/components/Genres.tsx +++ b/src/components/Genres.tsx @@ -2,8 +2,8 @@ import React from 'react'; import Emoji from './Emoji'; import getGenre from '../utils/getGenre'; import { Empty } from './Empty'; -import { useTranslate } from 'hooks'; import { genres as allGenres } from 'utils/getGenre'; +import { useTranslate } from '../hooks/useTranslate'; interface IGenresProps { genres?: string[]; diff --git a/src/components/GlobalFilter.tsx b/src/components/GlobalFilter.tsx index ebffc364..9cc8fea8 100644 --- a/src/components/GlobalFilter.tsx +++ b/src/components/GlobalFilter.tsx @@ -1,16 +1,13 @@ -import { useFilter, useIsWatch } from 'hooks'; -import { - MovieWatched, - MovieWatchlist, - ShowWatched, - ShowWatchlist, -} from 'models'; import { useEffect, useState } from 'react'; import { useDispatch } from 'react-redux'; import { setGlobalSearch } from 'state/slices/root'; import { getType } from 'utils/getType'; import Emoji from './Emoji'; import ImageLink from './ImageLink'; +import { useFilter } from '../hooks/useFilter'; +import { useIsWatch } from '../hooks/useIsWatch'; +import { MovieWatched, MovieWatchlist } from '../models/Movie'; +import { ShowWatched, ShowWatchlist } from '../models/Show'; export const GlobalFilter = () => { const { filter } = useFilter(); diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index d7a14068..1e0e190f 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -16,7 +16,7 @@ import Like from 'assets/like-svgrepo-com.svg?react'; import Play from 'assets/play-circle-svgrepo-com.svg?react'; import Logout from 'assets/logout-2-svgrepo-com.svg?react'; import Ufo from 'assets/ufo-3-svgrepo-com.svg?react'; -import { ThemeContext } from 'contexts'; +import { ThemeContext } from 'contexts/ThemeContext'; import React, { HTMLProps, useContext } from 'react'; const iconsMap = { diff --git a/src/components/Image.tsx b/src/components/Image.tsx index d068c796..992526b3 100644 --- a/src/components/Image.tsx +++ b/src/components/Image.tsx @@ -1,9 +1,10 @@ import React from 'react'; import { useInView } from 'react-hook-inview'; import Emoji from './Emoji'; -import { Ids } from '../models'; -import { useIsWatch, useImage } from '../hooks'; +import { useImage } from '../hooks/useImage'; +import { useIsWatch } from '../hooks/useIsWatch'; import { Img } from '../lib/react-image'; // temporary load local lib until remote is updated https://github.com/mbrevda/react-image/pull/1006 +import { Ids } from '../models/Ids'; interface IImageProps { ids: Ids; diff --git a/src/components/ImageLink.tsx b/src/components/ImageLink.tsx index f839d3f5..26e38647 100644 --- a/src/components/ImageLink.tsx +++ b/src/components/ImageLink.tsx @@ -1,7 +1,10 @@ import React from 'react'; import { Link } from 'react-router-dom'; import Image from './Image'; -import { Movie, Show, Person, Ids } from '../models'; +import { Show } from '../models/Show'; +import { Movie } from '../models/Movie'; +import { Person } from '../models/Person'; +import { Ids } from '../models/Ids'; interface IImageLinkProps { item: Show | Movie | Person; diff --git a/src/components/Login.tsx b/src/components/Login.tsx index 9f25bf12..7a184b19 100644 --- a/src/components/Login.tsx +++ b/src/components/Login.tsx @@ -1,8 +1,8 @@ -import { AuthContext } from 'contexts'; -import { useTranslate } from 'hooks'; +import { AuthContext } from 'contexts/AuthContext'; import React, { useContext, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { loginApi } from '../utils/api'; +import { useTranslate } from '../hooks/useTranslate'; interface ILoginProps { code: string; diff --git a/src/components/Longpress.tsx b/src/components/Longpress.tsx index 5dabb8af..88cf6976 100644 --- a/src/components/Longpress.tsx +++ b/src/components/Longpress.tsx @@ -3,8 +3,8 @@ import LongPressable from 'react-longpressable'; import { useNavigate } from 'react-router-dom'; import { useDispatch } from 'react-redux'; import { setGlobalSearch } from 'state/slices/root'; -import { useTranslate } from 'hooks'; import { Icon } from './Icon'; +import { useTranslate } from '../hooks/useTranslate'; const LongPress: React.FC = () => { const navigate = useNavigate(); diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx index c8e05d37..acafea45 100644 --- a/src/components/Modal.tsx +++ b/src/components/Modal.tsx @@ -1,6 +1,7 @@ import React, { useContext } from 'react'; import ReactDOM from 'react-dom'; -import { ThemeContext, ModalContext } from '../contexts'; +import { ThemeContext } from '../contexts/ThemeContext'; +import { ModalContext } from '../contexts/ModalContext'; interface IModalProps { modalRef: HTMLDivElement; diff --git a/src/components/Navigation/NavigationTabs.tsx b/src/components/Navigation/NavigationTabs.tsx index 97e6c9cb..21addad3 100644 --- a/src/components/Navigation/NavigationTabs.tsx +++ b/src/components/Navigation/NavigationTabs.tsx @@ -1,10 +1,11 @@ import { motion } from 'motion/react'; -import { useTranslate, useWindowSize } from '../../hooks'; import React from 'react'; import { NavLink, useLocation } from 'react-router-dom'; import LongPress from '../Longpress'; import { ROUTES } from 'utils/routes'; import { Icon } from 'components/Icon'; +import { useWindowSize } from '../../hooks/useWindowSize'; +import { useTranslate } from '../../hooks/useTranslate'; const Underline: React.FC<{ width: number }> = ({ width }) => { return ( diff --git a/src/components/NewVersion.tsx b/src/components/NewVersion.tsx index 58fd89f2..019043fc 100644 --- a/src/components/NewVersion.tsx +++ b/src/components/NewVersion.tsx @@ -1,7 +1,7 @@ -import { useTranslate } from 'hooks'; import React from 'react'; import { useRegisterSW } from 'virtual:pwa-register/react'; import Emoji from './Emoji'; +import { useTranslate } from '../hooks/useTranslate'; export const NewVersion: React.FC = () => { const { t } = useTranslate(); diff --git a/src/components/Pagination/PaginationContainer.tsx b/src/components/Pagination/PaginationContainer.tsx index b2bfd2f1..e1ecd293 100644 --- a/src/components/Pagination/PaginationContainer.tsx +++ b/src/components/Pagination/PaginationContainer.tsx @@ -1,7 +1,6 @@ import React from 'react'; import Pagination from './Pagination'; -import { usePagination } from '../../hooks'; -import { PAGE_SIZE } from '../../hooks/usePagination'; +import { PAGE_SIZE, usePagination } from '../../hooks/usePagination'; interface IPaginationContainerProps { items: any[]; diff --git a/src/components/People.tsx b/src/components/People.tsx index 597b28ec..4bdb9833 100644 --- a/src/components/People.tsx +++ b/src/components/People.tsx @@ -1,9 +1,10 @@ -import { useTranslate, useWindowSize } from '../hooks'; import React from 'react'; import { Link } from 'react-router-dom'; -import { People as IPeople } from '../models'; +import { People as IPeople } from '../models/People'; import Collapsable from './Collapsable/Collapsable'; import { Empty } from './Empty'; +import { useWindowSize } from '../hooks/useWindowSize'; +import { useTranslate } from '../hooks/useTranslate'; const placeholders = [
  • = ({ title: getTranslated('title', e), overview: `${getFormattedDate( e.first_aired, - 'long', + 'long' )}\n${getTranslated('overview', e)}`, }) } diff --git a/src/components/Seasons/SeasonSelector.tsx b/src/components/Seasons/SeasonSelector.tsx index 9085f9a8..3425bf97 100644 --- a/src/components/Seasons/SeasonSelector.tsx +++ b/src/components/Seasons/SeasonSelector.tsx @@ -1,7 +1,8 @@ -import { useTranslate, useWindowSize } from 'hooks'; import React, { useEffect, useRef } from 'react'; -import { Season, ShowProgress } from '../../models'; import { motion } from 'motion/react'; +import { useWindowSize } from '../../hooks/useWindowSize'; +import { useTranslate } from '../../hooks/useTranslate'; +import { Season, ShowProgress } from '../../models/Show'; interface ISeasonsProps { progress?: ShowProgress; @@ -60,16 +61,6 @@ const SeasonSelector: React.FC = ({ }); }, [selectedSeason, ref]); - const selectedClass = (season: Season) => { - if (!selectedSeason) { - return SELECTED_CLASS; - } - if (season.ids.trakt === selectedSeason.ids.trakt) { - return 'border-b-2'; - } - return SELECTED_CLASS; - }; - const isSeasonWatched = (seasonNumber: number) => { if (!progress) { return false; diff --git a/src/components/Seasons/Seasons.tsx b/src/components/Seasons/Seasons.tsx index 745d36c2..eafa2e93 100644 --- a/src/components/Seasons/Seasons.tsx +++ b/src/components/Seasons/Seasons.tsx @@ -1,8 +1,8 @@ import React from 'react'; import Emoji from '../Emoji'; -import { Season, Episode, ShowProgress } from '../../models'; import { useAppSelector } from 'state/store'; -import { useTranslate } from 'hooks'; +import { Episode, Season, ShowProgress } from '../../models/Show'; +import { useTranslate } from '../../hooks/useTranslate'; interface ISeasonsProps { progress?: ShowProgress; diff --git a/src/components/Seasons/SeasonsContainer.tsx b/src/components/Seasons/SeasonsContainer.tsx index 3ba968a5..51b00411 100644 --- a/src/components/Seasons/SeasonsContainer.tsx +++ b/src/components/Seasons/SeasonsContainer.tsx @@ -1,4 +1,3 @@ -import { useSearchParams } from 'hooks'; import React, { useContext, useEffect, useState } from 'react'; import { addEpisodeWatched, @@ -7,8 +6,8 @@ import { removeSeasonWatched, } from 'state/slices/shows/thunks'; import { useAppDispatch, useAppSelector } from 'state/store'; -import { AuthContext, ModalContext } from '../../contexts'; -import { Episode, Season, Show, ShowProgress, ShowWatched } from '../../models'; +import { AuthContext } from '../../contexts/AuthContext'; +import { ModalContext } from '../../contexts/ModalContext'; import { getProgressApi, getSeasonEpisodesApi, @@ -16,6 +15,14 @@ import { } from '../../utils/api'; import Episodes from './Episodes'; import SeasonSelector from './SeasonSelector'; +import { + Episode, + Season, + Show, + ShowProgress, + ShowWatched, +} from '../../models/Show'; +import { useSearchParams } from 'react-router-dom'; interface ISeasonsContainerProps { show: Show; diff --git a/src/components/ShowWatchButton.tsx b/src/components/ShowWatchButton.tsx index 2ec19cc3..d6645569 100644 --- a/src/components/ShowWatchButton.tsx +++ b/src/components/ShowWatchButton.tsx @@ -1,11 +1,12 @@ -import { AuthContext } from 'contexts'; -import { useIsWatch, useTranslate } from 'hooks'; +import { AuthContext } from 'contexts/AuthContext'; import React, { useContext } from 'react'; import { addWatchlist, removeWatchlist } from 'state/slices/shows/thunks'; import { useAppDispatch, useAppSelector } from 'state/store'; -import { Show } from '../models'; import Emoji from './Emoji'; import { LoginButton } from './LoginButton'; +import { Show } from '../models/Show'; +import { useIsWatch } from '../hooks/useIsWatch'; +import { useTranslate } from '../hooks/useTranslate'; interface IShowWatchButtonProps { item: Show; diff --git a/src/components/WatchButton.tsx b/src/components/WatchButton.tsx index 68ce5e20..83e44c98 100644 --- a/src/components/WatchButton.tsx +++ b/src/components/WatchButton.tsx @@ -1,4 +1,4 @@ -import { AuthContext } from 'contexts'; +import { AuthContext } from 'contexts/AuthContext'; import React, { useContext } from 'react'; import { addWatched, @@ -8,9 +8,10 @@ import { } from 'state/slices/movies/thunks'; import { useAppDispatch, useAppSelector } from 'state/store'; import { LoginButton } from '../components/LoginButton'; -import { useIsWatch, useTranslate } from '../hooks'; -import { Movie } from '../models'; import Emoji from './Emoji'; +import { Movie } from '../models/Movie'; +import { useIsWatch } from '../hooks/useIsWatch'; +import { useTranslate } from '../hooks/useTranslate'; interface IWatchButtonProps { item: Movie; diff --git a/src/contexts/AlertContext.tsx b/src/contexts/AlertContext.tsx index 41d83ef2..44c7846e 100644 --- a/src/contexts/AlertContext.tsx +++ b/src/contexts/AlertContext.tsx @@ -34,8 +34,8 @@ export const AlertProvider = ({ children }: { children: ReactNode }) => { }; return ( - + {children} - + ); }; diff --git a/src/contexts/AuthContext.tsx b/src/contexts/AuthContext.tsx index de56945b..43abeb00 100644 --- a/src/contexts/AuthContext.tsx +++ b/src/contexts/AuthContext.tsx @@ -1,4 +1,4 @@ -import React, { createContext, useContext, useEffect, useState } from 'react'; +import React, { createContext, useEffect, useState } from 'react'; import { refreshApi } from 'utils/api'; export interface Session { @@ -61,7 +61,7 @@ export const AuthProvider: React.FC> = ({ }; return ( - > = ({ }} > {children} - + ); }; diff --git a/src/contexts/ModalContext.tsx b/src/contexts/ModalContext.tsx index ca86451c..6ffdf425 100644 --- a/src/contexts/ModalContext.tsx +++ b/src/contexts/ModalContext.tsx @@ -35,9 +35,9 @@ export const ModalProvider = ({ }; return ( - + {children} {modalRef && } - + ); }; diff --git a/src/contexts/ThemeContext.tsx b/src/contexts/ThemeContext.tsx index 99b9c092..2dced0ed 100644 --- a/src/contexts/ThemeContext.tsx +++ b/src/contexts/ThemeContext.tsx @@ -48,7 +48,7 @@ export const ThemeProvider: React.FC< }, [localTheme]); return ( - +
    {localTheme && ( @@ -63,6 +63,6 @@ export const ThemeProvider: React.FC< {children}
    -
    + ); }; diff --git a/src/contexts/index.ts b/src/contexts/index.ts deleted file mode 100644 index 5ce83d3e..00000000 --- a/src/contexts/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './AlertContext'; -export * from './ModalContext'; -export * from './ThemeContext'; -export * from './AuthContext'; diff --git a/src/hooks/index.ts b/src/hooks/index.ts deleted file mode 100644 index d5c1f899..00000000 --- a/src/hooks/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -export * from './useIsWatch'; -export * from './useIsWatch'; -export * from './usePagination'; -export * from './useSearch'; -export * from './useShare'; -export * from './useImage'; -export * from './useDebounce'; -export * from './useFilter'; -export * from './useWindowSize'; -export * from './useTranslate'; -export * from './useSearchParams'; diff --git a/src/hooks/usePagination.tsx b/src/hooks/usePagination.tsx index 90d6b6f5..2a486cba 100644 --- a/src/hooks/usePagination.tsx +++ b/src/hooks/usePagination.tsx @@ -1,5 +1,5 @@ -import { useSearchParams } from 'hooks'; import { useEffect, useState } from 'react'; +import { useSearchParams } from 'react-router-dom'; export const PAGE_SIZE = 40; export const usePagination = (items: T[]) => { @@ -21,13 +21,15 @@ export const usePagination = (items: T[]) => { return; } - setSearchParams({ page: `${currentPage + direction}` }); + searchParams.set('page', `${currentPage + direction}`); + setSearchParams(searchParams); window.scrollTo(0, 0); }; const setSafePage = (page: 'first' | 'last') => { const localPage = page === 'first' ? 1 : lastPage; - setSearchParams({ page: `${localPage}` }); + searchParams.set('page', `${localPage}`); + setSearchParams(searchParams); }; const getItemsByPage = () => { diff --git a/src/models/Translation.ts b/src/models/Translation.ts index 0e1ebd55..f66b6b3e 100644 --- a/src/models/Translation.ts +++ b/src/models/Translation.ts @@ -2,4 +2,5 @@ export interface Translation { title: string; overview: string; language: string; + country?: string; } diff --git a/src/models/index.ts b/src/models/index.ts deleted file mode 100644 index 509bb1bd..00000000 --- a/src/models/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -export * from './Ids'; -export * from './ImgConfig'; -export * from './People'; -export * from './Person'; -export * from './Popular'; -export * from './ItemType'; -export * from './Movie'; -export * from './Show'; -export * from './Translation'; -export * from './Api'; -export * from './Image'; diff --git a/src/pages/MovieDetail.tsx b/src/pages/MovieDetail.tsx index 1949ff71..fe3887b8 100644 --- a/src/pages/MovieDetail.tsx +++ b/src/pages/MovieDetail.tsx @@ -10,12 +10,16 @@ import People from '../components/People'; import Rating from '../components/Rating'; import Related from '../components/Related'; import WatchButton from '../components/WatchButton'; -import { AlertContext } from '../contexts'; -import { useIsWatch, useShare, useTranslate } from '../hooks'; -import { Movie, People as IPeople, Ratings } from '../models'; +import { AlertContext } from '../contexts/AlertContext'; +import { People as IPeople } from '../models/People'; import { getPeopleApi, getRatingsApi } from '../utils/api'; import { Helmet } from 'react-helmet'; import { Icon } from 'components/Icon'; +import { Ratings } from '../models/Api'; +import { Movie } from '../models/Movie'; +import { useShare } from '../hooks/useShare'; +import { useTranslate } from '../hooks/useTranslate'; +import { useIsWatch } from '../hooks/useIsWatch'; export default function MovieDetail() { const [people, setPeople] = useState(); diff --git a/src/pages/Person.tsx b/src/pages/Person.tsx index 9b8d012a..f71d443d 100644 --- a/src/pages/Person.tsx +++ b/src/pages/Person.tsx @@ -5,18 +5,15 @@ import Collapsable from '../components/Collapsable/Collapsable'; import { getPersonItemsApi, getPersonApi } from '../utils/api'; import Emoji from '../components/Emoji'; import { useParams } from 'react-router-dom'; -import { - PersonShows, - PersonMovies, - Person as IPerson, - Movie, - Show, -} from '../models'; +import { Person as IPerson } from '../models/Person'; import { placeholders } from '../components/Related'; import { Empty } from '../components/Empty'; import { useAppSelector } from 'state/store'; -import { useTranslate } from 'hooks'; import { Helmet } from 'react-helmet'; +import { Movie } from '../models/Movie'; +import { Show } from '../models/Show'; +import { useTranslate } from '../hooks/useTranslate'; +import { PersonMovies, PersonShows } from '../models/People'; const Person: React.FC = () => { const [localState, setLocalState] = useState(); diff --git a/src/pages/Profile.tsx b/src/pages/Profile.tsx index aeeb128e..b76cfe44 100644 --- a/src/pages/Profile.tsx +++ b/src/pages/Profile.tsx @@ -1,5 +1,4 @@ import { Icon } from 'components/Icon'; -import { useTranslate } from 'hooks'; import { useContext, useEffect, useState } from 'react'; import { Helmet } from 'react-helmet'; import { Language, changeLanguage } from 'state/slices/config'; @@ -7,10 +6,12 @@ import { useAppDispatch, useAppSelector } from 'state/store'; import packageInfo from '../../package.json'; import Emoji from '../components/Emoji'; import { LoginButton } from '../components/LoginButton'; -import { AuthContext, ThemeContext, ThemeType } from '../contexts'; -import { UserStats } from '../models'; +import { AuthContext } from '../contexts/AuthContext'; +import { ThemeContext, ThemeType } from '../contexts/ThemeContext'; import { getProfileApi, getStatsApi } from '../utils/api'; import { removeCaches, removeImgCaches } from '../utils/cache'; +import { UserStats } from '../models/Api'; +import { useTranslate } from '../hooks/useTranslate'; export default function Profile() { const { theme, setTheme } = useContext(ThemeContext); diff --git a/src/pages/ShowDetail.tsx b/src/pages/ShowDetail.tsx index c47e4a14..da372483 100644 --- a/src/pages/ShowDetail.tsx +++ b/src/pages/ShowDetail.tsx @@ -11,12 +11,16 @@ import Rating from '../components/Rating'; import Related from '../components/Related'; import SeasonsContainer from '../components/Seasons/SeasonsContainer'; import ShowWatchButton from '../components/ShowWatchButton'; -import { AlertContext } from '../contexts'; -import { useIsWatch, useShare, useTranslate } from '../hooks'; -import { People as IPeople, Ratings, Show, ShowWatched } from '../models'; +import { AlertContext } from '../contexts/AlertContext'; +import { People as IPeople } from '../models/People'; import { getPeopleApi, getRatingsApi } from '../utils/api'; import { Helmet } from 'react-helmet'; import { Icon } from 'components/Icon'; +import { useShare } from '../hooks/useShare'; +import { useTranslate } from '../hooks/useTranslate'; +import { useIsWatch } from '../hooks/useIsWatch'; +import { Ratings } from '../models/Api'; +import { Show, ShowWatched } from '../models/Show'; enum status { 'returning series' = 'en antena', diff --git a/src/pages/calendar/Calendar.tsx b/src/pages/calendar/Calendar.tsx index e02ec38b..577c7fcd 100644 --- a/src/pages/calendar/Calendar.tsx +++ b/src/pages/calendar/Calendar.tsx @@ -1,13 +1,15 @@ -import addMonths from 'date-fns/addMonths'; -import format from 'date-fns/format'; -import getDay from 'date-fns/getDay'; -import getYear from 'date-fns/getYear'; -import es from 'date-fns/locale/es'; -import parse from 'date-fns/parse'; -import startOfWeek from 'date-fns/startOfWeek'; -import addDays from 'date-fns/addDays'; -import getDaysInMonth from 'date-fns/getDaysInMonth'; -import startOfMonth from 'date-fns/startOfMonth'; +import { + addDays, + addMonths, + format, + getDay, + getDaysInMonth, + getYear, + parse, + startOfMonth, + startOfWeek, +} from 'date-fns'; +import { es } from 'date-fns/locale/es'; import React, { useContext, useEffect, useMemo, useState } from 'react'; import { Calendar as BigCalendar, @@ -19,12 +21,12 @@ import { getCalendar } from 'utils/api'; import { Event } from './Event'; import 'react-big-calendar/lib/css/react-big-calendar.css'; import './calendar.css'; -import { ShowCalendar, MovieCalendar } from 'models'; import { useAppSelector } from 'state/store'; -import { useTranslate } from 'hooks'; -import { useSearchParams } from 'hooks'; import { Icon } from 'components/Icon'; -import { AuthContext } from 'contexts'; +import { AuthContext } from 'contexts/AuthContext'; +import { useSearchParams } from 'react-router-dom'; +import { useTranslate } from '../../hooks/useTranslate'; +import { MovieCalendar, ShowCalendar } from '../../models/Api'; const localizer = dateFnsLocalizer({ format, diff --git a/src/pages/movies/Movies.tsx b/src/pages/movies/Movies.tsx index 351e3591..cb7cf11c 100644 --- a/src/pages/movies/Movies.tsx +++ b/src/pages/movies/Movies.tsx @@ -1,13 +1,14 @@ import React from 'react'; import Helmet from 'react-helmet'; -import { useSearchParams } from 'hooks'; import { MoviesWatched } from './MoviesWatched'; import { MoviesWatchlist } from './MoviesWatchlist'; -import { useTranslate, useWindowSize } from '../../hooks'; import { useAppSelector } from 'state/store'; import { totalByType } from 'state/slices/movies'; import { Underline } from '../shows/Shows'; import { Icon } from 'components/Icon'; +import { useSearchParams } from 'react-router-dom'; +import { useWindowSize } from '../../hooks/useWindowSize'; +import { useTranslate } from '../../hooks/useTranslate'; export default function Movies() { const [searchParams, setSearchParams] = useSearchParams({ diff --git a/src/pages/movies/MoviesWatched.tsx b/src/pages/movies/MoviesWatched.tsx index 4d5a73aa..abdd1150 100644 --- a/src/pages/movies/MoviesWatched.tsx +++ b/src/pages/movies/MoviesWatched.tsx @@ -3,7 +3,7 @@ import { filterByGenres } from 'state/slices/movies'; import { useAppSelector } from 'state/store'; import ImageLink from '../../components/ImageLink'; import PaginationContainer from '../../components/Pagination/PaginationContainer'; -import { usePagination } from '../../hooks'; +import { usePagination } from '../../hooks/usePagination'; import { EmptyState } from 'components/EmptyState'; import { NoResults } from 'components/NoResults'; diff --git a/src/pages/movies/MoviesWatchlist.tsx b/src/pages/movies/MoviesWatchlist.tsx index d35163a7..43fe86a6 100644 --- a/src/pages/movies/MoviesWatchlist.tsx +++ b/src/pages/movies/MoviesWatchlist.tsx @@ -1,12 +1,12 @@ import ImageLink from 'components/ImageLink'; import PaginationContainer from 'components/Pagination/PaginationContainer'; -import { MovieWatchlist } from 'models'; import React, { useState } from 'react'; import { filterByGenres } from 'state/slices/movies'; import { useAppSelector } from 'state/store'; -import { usePagination } from '../../hooks'; +import { usePagination } from '../../hooks/usePagination'; import { EmptyState } from 'components/EmptyState'; import { NoResults } from 'components/NoResults'; +import { MovieWatchlist } from '../../models/Movie'; export const MoviesWatchlist: React.FC = () => { const [genres, setGenres] = useState([]); diff --git a/src/pages/search/Search.tsx b/src/pages/search/Search.tsx index 7f9b65ad..b94593b0 100644 --- a/src/pages/search/Search.tsx +++ b/src/pages/search/Search.tsx @@ -4,9 +4,12 @@ import Helmet from 'react-helmet'; import Emoji from '../../components/Emoji'; import ImageLink from '../../components/ImageLink'; import Popular from '../../components/Popular'; -import { useDebounce, useFilter, useSearch, useTranslate } from '../../hooks'; -import { SearchMovie, SearchPerson, SearchShow } from '../../models'; import { searchApi } from '../../utils/api'; +import { useSearch } from '../../hooks/useSearch'; +import { useFilter } from '../../hooks/useFilter'; +import { useDebounce } from '../../hooks/useDebounce'; +import { useTranslate } from '../../hooks/useTranslate'; +import { SearchMovie, SearchPerson, SearchShow } from '../../models/Movie'; export type RemoteFilterTypes = Array<'movie' | 'show' | 'person'>; type LocalFilterTypes = Array<'movie' | 'show'>; diff --git a/src/pages/search/SearchFilters.tsx b/src/pages/search/SearchFilters.tsx index 814b58b3..9979bac3 100644 --- a/src/pages/search/SearchFilters.tsx +++ b/src/pages/search/SearchFilters.tsx @@ -1,7 +1,7 @@ -import { AuthContext } from 'contexts'; -import { useTranslate } from 'hooks'; +import { AuthContext } from 'contexts/AuthContext'; import React, { useContext, useEffect, useState } from 'react'; import { RemoteFilterTypes } from './Search'; +import { useTranslate } from '../../hooks/useTranslate'; export interface IFilters { remote: boolean; diff --git a/src/pages/shows/Shows.tsx b/src/pages/shows/Shows.tsx index 4ee4b7c4..862cdb68 100644 --- a/src/pages/shows/Shows.tsx +++ b/src/pages/shows/Shows.tsx @@ -3,10 +3,11 @@ import ShowsWatchlist from './ShowsWatchlist'; import ShowsWatched from './ShowsWatched'; import Helmet from 'react-helmet'; import { useAppSelector } from 'state/store'; -import { useTranslate, useWindowSize } from '../../hooks'; +import { useTranslate } from '../../hooks/useTranslate'; +import { useWindowSize } from '../../hooks/useWindowSize'; +import { useSearchParams } from '../../hooks/useSearchParams'; import { totalByType } from 'state/slices/shows'; import { motion } from 'motion/react'; -import { useSearchParams } from 'hooks'; import { Icon } from 'components/Icon'; export const Underline: React.FC<{ selected: boolean }> = ({ selected }) => { diff --git a/src/pages/shows/ShowsWatched.tsx b/src/pages/shows/ShowsWatched.tsx index 852fda26..dfa3adbf 100644 --- a/src/pages/shows/ShowsWatched.tsx +++ b/src/pages/shows/ShowsWatched.tsx @@ -3,7 +3,7 @@ import { filterByGenres } from 'state/slices/shows'; import { useAppSelector } from 'state/store'; import ImageLink from '../../components/ImageLink'; import PaginationContainer from '../../components/Pagination/PaginationContainer'; -import { usePagination } from '../../hooks'; +import { usePagination } from '../../hooks/usePagination'; import { EmptyState } from 'components/EmptyState'; import { NoResults } from 'components/NoResults'; diff --git a/src/pages/shows/ShowsWatchlist.tsx b/src/pages/shows/ShowsWatchlist.tsx index d7edf74d..340e5efc 100644 --- a/src/pages/shows/ShowsWatchlist.tsx +++ b/src/pages/shows/ShowsWatchlist.tsx @@ -1,12 +1,12 @@ -import { ShowWatchlist } from 'models'; import React, { useState } from 'react'; import { filterByGenres } from 'state/slices/shows'; import { useAppSelector } from 'state/store'; import ImageLink from '../../components/ImageLink'; import PaginationContainer from '../../components/Pagination/PaginationContainer'; -import { usePagination } from '../../hooks'; +import { usePagination } from '../../hooks/usePagination'; import { EmptyState } from 'components/EmptyState'; import { NoResults } from 'components/NoResults'; +import { ShowWatchlist } from '../../models/Show'; const ShowsWatchlist: React.FC = () => { const [genres, setGenres] = useState([]); diff --git a/src/state/firstLoadAction.ts b/src/state/firstLoadAction.ts index 7f8d9967..1e85817d 100644 --- a/src/state/firstLoadAction.ts +++ b/src/state/firstLoadAction.ts @@ -1,9 +1,3 @@ -import { - MovieWatched, - MovieWatchlist, - ShowWatched, - ShowWatchlist, -} from 'models'; import { getWatchedApi, getWatchlistApi } from 'utils/api'; import db from 'utils/db'; import { set as setMovies, remove as removeMovies } from './slices/movies'; @@ -17,36 +11,16 @@ import { store } from './store'; import { getMovie } from './slices/movies/thunks'; import { updateFullShow } from 'state/slices/shows/thunks'; import equal from 'fast-deep-equal'; -// import diff from 'json-diff'; - -// const _mustUpdateMovie = (old: any, newer?: any) => { -// if(old.movie.updated_at !== newer.movie.updated_at){ -// return true; -// } -// const oldMovie = JSON.parse(JSON.stringify(old)); -// const newerMovie = JSON.parse(JSON.stringify(newer)); -// const { votes: v1, localState, rank: r1, ...stripOld } = oldMovie as any; -// const { votes: v2, rank: r2, ...stripNew } = newerMovie as any; -// delete stripOld.movie.votes; -// delete stripOld.movie.rating; -// delete stripOld.movie.title; -// delete stripOld.movie.overview; -// delete stripOld.movie.comment_count; -// delete stripOld.movie.updated_at; -// delete stripNew.movie.votes; -// delete stripNew.movie.rating; -// delete stripNew.movie.title; -// delete stripNew.movie.overview; -// delete stripNew.movie.comment_count; -// delete stripNew.movie.updated_at; - -// if (!equal(stripOld, stripNew)) { -// console.log(old.movie.title); -// console.log(diff.diffString(stripOld, stripNew)); -// return true; -// } -// return false; -// }; +import { ShowWatched, ShowWatchlist } from '../models/Show'; +import { MovieWatched, MovieWatchlist } from '../models/Movie'; +import { differenceInHours } from 'date-fns'; + +const _mustUpdateByHours = (old: string, newer: string) => { + // usually field updated_at from getWatchedApi/getWatchedApi and getApi does not match exactly + // so let them be up to 1 hour different + const diff = differenceInHours(newer, old); + return diff > 1; +}; const _mustUpdateShowWatched = ( oldShow: ShowWatched, @@ -58,10 +32,7 @@ const _mustUpdateShowWatched = ( if (!oldShow.progress) { return true; } - if (oldShow.last_updated_at !== newerShow?.last_updated_at) { - return true; - } - if (oldShow.last_watched_at !== newerShow?.last_watched_at) { + if (_mustUpdateByHours(oldShow.last_updated_at, newerShow!.last_updated_at)) { return true; } if (oldShow.plays !== newerShow?.plays) { @@ -84,12 +55,10 @@ const loadMovies = async (type: 'watched' | 'watchlist') => { store.dispatch(setMovies(dbMovies)); - const { - data, - }: { data: Array } = await (type === - 'watchlist' - ? getWatchlistApi('movie') - : getWatchedApi('movie')); + const { data }: { data: Array } = + await (type === 'watchlist' + ? getWatchlistApi('movie') + : getWatchedApi('movie')); const moviesToDelete = dbMovies.filter( (d) => !data.some((m) => m.movie.ids.trakt === d.movie.ids.trakt) @@ -111,8 +80,12 @@ const loadMovies = async (type: 'watched' | 'watchlist') => { let shouldUpdate = false; - // if (_mustUpdateMovie(m, newerMovie)) { - if (m.movie.updated_at !== newerMovie?.movie.updated_at) { + if ( + _mustUpdateByHours( + m.movie.updated_at, + newerMovie!.movie.updated_at + ) + ) { shouldUpdate = true; } @@ -132,13 +105,8 @@ const loadMovies = async (type: 'watched' | 'watchlist') => { const outdatedMovies = [...moviesToAdd, ...moviesToUpdate]; - outdatedMovies.forEach(async (outdated) => { - try { - store.dispatch(getMovie({ id: outdated.movie.ids.trakt, type })); - } catch (error) { - console.error(error); - } finally { - } + outdatedMovies.forEach((outdated) => { + store.dispatch(getMovie({ id: outdated.movie.ids.trakt, type })); }); }; @@ -164,7 +132,10 @@ const loadWatchlistShows = async () => { let shouldUpdate = false; - if (!s.fullSeasons || s.show.updated_at !== newerShow?.show.updated_at) { + if ( + !s.fullSeasons || + _mustUpdateByHours(s.show.updated_at, newerShow!.show.updated_at) + ) { shouldUpdate = true; } diff --git a/src/state/middleware.ts b/src/state/middleware.ts index fe0817a7..29a75d9e 100644 --- a/src/state/middleware.ts +++ b/src/state/middleware.ts @@ -61,6 +61,8 @@ export const dbMiddleware: Middleware = (store) => (next) => (action) => { const oldMovie = state.movies[action.meta.arg.id]; const newMovie = { ...oldMovie, movie: action.payload }; db.table(MOVIES).put({ ...newMovie, localState: action.meta.arg.type }); + } else if (isAnyOf(getMovie.rejected)(action)) { + console.error(action.error); } else if (isAnyOf(updateTranslationMovie)(action)) { db.table(MOVIES).update(action.payload.id, { title: action.payload.translation.title, diff --git a/src/state/slices/config.ts b/src/state/slices/config.ts index 4c20746c..bc9516e2 100644 --- a/src/state/slices/config.ts +++ b/src/state/slices/config.ts @@ -1,14 +1,10 @@ import { createAsyncThunk, createSlice } from '@reduxjs/toolkit'; -import { - ImgConfig, - MovieWatched, - MovieWatchlist, - ShowWatched, - ShowWatchlist, -} from 'models'; import { RootState } from 'state/store'; import { getImgsConfigApi, getTranslationsApi } from 'utils/api'; import { updateTranslation } from './movies'; +import { ImgConfig } from '../../models/ImgConfig'; +import { MovieWatched, MovieWatchlist } from '../../models/Movie'; +import { ShowWatched, ShowWatchlist } from '../../models/Show'; export type Language = 'en' | 'es'; interface ConfigState { @@ -20,9 +16,10 @@ const initialState: ConfigState = { language: (localStorage.getItem('language') || 'en') as Language, }; -const hasLanguage = (language: Language, type: 'movie' | 'show') => ( - m: MovieWatched | MovieWatchlist | ShowWatched | ShowWatchlist -) => m[type].available_translations.includes(language); +const hasLanguage = + (language: Language, type: 'movie' | 'show') => + (m: MovieWatched | MovieWatchlist | ShowWatched | ShowWatchlist) => + m[type].available_translations.includes(language); // thunks export const loadImgConfig = createAsyncThunk('config/load', async () => { @@ -43,31 +40,27 @@ export const changeLanguage = createAsyncThunk< try { const state = getState(); - const { - watched: watchedMovies, - watchlist: watchlistMovies, - } = Object.values(state.movies.movies).reduce( - ( - acc: { - watchlist: MovieWatchlist[]; - watched: MovieWatched[]; - }, - s - ) => { - if (!s.localState) { + const { watched: watchedMovies, watchlist: watchlistMovies } = + Object.values(state.movies.movies).reduce( + ( + acc: { + watchlist: MovieWatchlist[]; + watched: MovieWatched[]; + }, + s + ) => { + if (!s.localState) { + return acc; + } + acc[s.localState].push(s as any); return acc; - } - acc[s.localState].push(s as any); - return acc; - }, - { watchlist: [], watched: [] } - ); + }, + { watchlist: [], watched: [] } + ); watchedMovies.filter(hasLanguage(language, 'movie')).forEach(async (m) => { - const { - title = m.movie.title, - overview = m.movie.overview, - } = await getTranslationsApi(m.movie.ids.trakt, 'show', language); + const { title = m.movie.title, overview = m.movie.overview } = + await getTranslationsApi(m.movie.ids.trakt, 'show', language); dispatch( updateTranslation({ translation: { title, overview }, @@ -78,10 +71,8 @@ export const changeLanguage = createAsyncThunk< watchlistMovies .filter(hasLanguage(language, 'movie')) .forEach(async (m) => { - const { - title = m.movie.title, - overview = m.movie.overview, - } = await getTranslationsApi(m.movie.ids.trakt, 'show', language); + const { title = m.movie.title, overview = m.movie.overview } = + await getTranslationsApi(m.movie.ids.trakt, 'show', language); dispatch( updateTranslation({ translation: { title, overview }, @@ -110,10 +101,8 @@ export const changeLanguage = createAsyncThunk< ); watchedShows.filter(hasLanguage(language, 'show')).forEach(async (s) => { - const { - title = s.show.title, - overview = s.show.overview, - } = await getTranslationsApi(s.show.ids.trakt, 'show', language); + const { title = s.show.title, overview = s.show.overview } = + await getTranslationsApi(s.show.ids.trakt, 'show', language); dispatch( updateTranslation({ translation: { title, overview }, @@ -122,10 +111,8 @@ export const changeLanguage = createAsyncThunk< ); }); watchlistShows.filter(hasLanguage(language, 'show')).forEach(async (s) => { - const { - title = s.show.title, - overview = s.show.overview, - } = await getTranslationsApi(s.show.ids.trakt, 'show', language); + const { title = s.show.title, overview = s.show.overview } = + await getTranslationsApi(s.show.ids.trakt, 'show', language); dispatch( updateTranslation({ translation: { title, overview }, diff --git a/src/state/slices/movies/index.ts b/src/state/slices/movies/index.ts index 743d68a6..a197ce05 100644 --- a/src/state/slices/movies/index.ts +++ b/src/state/slices/movies/index.ts @@ -1,5 +1,4 @@ import { createSelector, createSlice, PayloadAction } from '@reduxjs/toolkit'; -import { MovieWatchlist, MovieWatched, Movie } from 'models'; import { addWatched, addWatchlist as addWatchlistThunk, @@ -9,6 +8,7 @@ import { removeWatchlist as removeWatchlistThunk, } from 'state/slices/movies/thunks'; import { RootState } from 'state/store'; +import { Movie, MovieWatched, MovieWatchlist } from '../../../models/Movie'; interface MoviesState { totalRequestsPending: number; @@ -55,10 +55,10 @@ const moviesSlice = createSlice({ id: number; }> ) { - const storedShow = state.movies[payload.id]; - if (storedShow) { - storedShow.movie.title = payload.translation.title; - storedShow.movie.overview = payload.translation.overview; + const storedMovie = state.movies[payload.id]; + if (storedMovie) { + storedMovie.movie.title = payload.translation.title; + storedMovie.movie.overview = payload.translation.overview; } }, }, diff --git a/src/state/slices/movies/thunks.ts b/src/state/slices/movies/thunks.ts index ae3da653..5b1dacc6 100644 --- a/src/state/slices/movies/thunks.ts +++ b/src/state/slices/movies/thunks.ts @@ -1,12 +1,4 @@ import { createAsyncThunk } from '@reduxjs/toolkit'; -import { - AddedWatched, - AddedWatchlist, - Movie, - RemovedWatched, - RemovedWatchlist, - SearchMovie, -} from 'models'; import { RootState } from 'state/store'; import { addWatchedApi, @@ -17,6 +9,13 @@ import { removeWatchlistApi, } from 'utils/api'; import { Language } from '../config'; +import { Movie, SearchMovie } from '../../../models/Movie'; +import { + AddedWatched, + AddedWatchlist, + RemovedWatched, + RemovedWatchlist, +} from '../../../models/Api'; const _getRemoteWithTranslations = async (id: number, language: Language) => { const { data } = await getApi(id, 'movie'); @@ -85,8 +84,20 @@ export const getMovie = createAsyncThunk< Movie, { id: number; type: 'watched' | 'watchlist' }, { state: RootState } ->('movies/getMovie', ({ id }, { getState }) => { - return _getRemoteWithTranslations(id, getState().config.language); +>('movies/getMovie', async ({ id }, { getState }) => { + const language = getState().config.language; + + // assume movie has translation and make both queries together + const responses = await Promise.all([ + getApi(id, 'movie'), + getTranslationsApi(id, 'movie', language), + ]); + const movie = responses[0].data[0].movie; + const { title = '', overview = '' } = responses[1]; + + movie.title = title || movie.title; + movie.overview = overview || movie.overview; + return movie; }); export const populateDetail = createAsyncThunk< diff --git a/src/state/slices/shows/index.ts b/src/state/slices/shows/index.ts index 1d875021..d8a0c7ec 100644 --- a/src/state/slices/shows/index.ts +++ b/src/state/slices/shows/index.ts @@ -1,5 +1,4 @@ import { createSelector, createSlice, PayloadAction } from '@reduxjs/toolkit'; -import { Season, Show, ShowProgress, ShowWatched, ShowWatchlist } from 'models'; import { mergeDeepLeft } from 'ramda'; import { RootState } from 'state/store'; import { @@ -12,6 +11,13 @@ import { removeWatchlist, updateFullShow, } from './thunks'; +import { + Season, + Show, + ShowProgress, + ShowWatched, + ShowWatchlist, +} from '../../../models/Show'; interface ShowsState { totalRequestsPending: number; diff --git a/src/state/slices/shows/thunks.ts b/src/state/slices/shows/thunks.ts index 9860dc6b..b25229e4 100644 --- a/src/state/slices/shows/thunks.ts +++ b/src/state/slices/shows/thunks.ts @@ -1,15 +1,4 @@ import { createAsyncThunk } from '@reduxjs/toolkit'; -import { - AddedWatchlist, - Episode, - RemovedWatchlist, - SearchShow, - Season, - Show, - ShowProgress, - ShowWatched, - ShowWatchlist, -} from 'models'; import { RootState } from 'state/store'; import { addWatchedApi, @@ -22,6 +11,16 @@ import { removeWatchlistApi, } from 'utils/api'; import { Language } from '../config'; +import { SearchShow } from '../../../models/Movie'; +import { AddedWatchlist, RemovedWatchlist } from '../../../models/Api'; +import { + Episode, + Season, + Show, + ShowProgress, + ShowWatched, + ShowWatchlist, +} from '../../../models/Show'; const _getRemoteWithTranslations = async (id: number, language: Language) => { const { data } = await getApi(id, 'show'); diff --git a/src/utils/api.ts b/src/utils/api.ts index e13ada7e..2dca6ddc 100644 --- a/src/utils/api.ts +++ b/src/utils/api.ts @@ -1,42 +1,42 @@ import axios from 'axios'; import rateLimit from 'axios-rate-limit'; +import { config, IMG_URL, LOGIN_URL } from './apiConfig'; +import { authTraktClient, traktClient } from './axiosClients'; +import Bottleneck from 'bottleneck'; +import { getTranslation } from './getTranslations'; +import { Language } from 'state/slices/config'; +import { Session } from 'contexts/AuthContext'; +import { ImgConfig } from '../models/ImgConfig'; +import { ItemType } from '../models/ItemType'; +import { ImageResponse } from '../models/Image'; +import { + Episode, + Season, + Show, + ShowProgress, + ShowWatched, + ShowWatchlist, +} from '../models/Show'; +import { Translation } from '../models/Translation'; +import { Movie, MovieWatched, MovieWatchlist } from '../models/Movie'; import { AddedWatched, AddedWatchlist, - Episode, - ImageResponse, - ImgConfig, - ItemType, - Movie, MovieCalendar, - MovieWatched, - MovieWatchlist, - People, - Person, - Popular, Profile, Ratings, RemovedWatched, RemovedWatchlist, - Season, - Show, ShowCalendar, - ShowProgress, - ShowWatched, - ShowWatchlist, - Translation, UserStats, -} from '../models'; -import { config, IMG_URL, LOGIN_URL } from './apiConfig'; -import { authTraktClient, traktClient } from './axiosClients'; -import Bottleneck from 'bottleneck'; -import { getTranslation } from './getTranslations'; -import { Language } from 'state/slices/config'; -import { Session } from 'contexts/AuthContext'; +} from '../models/Api'; +import { People } from '../models/People'; +import { Person } from '../models/Person'; +import { Popular } from '../models/Popular'; const limiter = new Bottleneck({ - reservoir: 1000, - reservoirRefreshAmount: 1000, + reservoir: 800, + reservoirRefreshAmount: 800, reservoirRefreshInterval: 5 * 60 * 1000, minTime: 50, maxConcurrent: 100, @@ -110,13 +110,17 @@ export const getProgressApi = (id: number) => { ); }; -export const getTranslationsApi = limiter.wrap( - (id: number, type: ItemType, language: Language) => { - return traktClient +export const getTranslationsApi = ( + id: number, + type: ItemType, + language: Language +) => { + return limiter.wrap(() => + traktClient .get(`/${type}s/${id}/translations/${language}`) - .then(({ data }) => getTranslation(data)); - } -); + .then(({ data }) => getTranslation(data)) + )(); +}; export const searchApi = ( query: string, diff --git a/src/utils/findFirstValidImage.ts b/src/utils/findFirstValidImage.ts index da8b1c75..1e7762a7 100644 --- a/src/utils/findFirstValidImage.ts +++ b/src/utils/findFirstValidImage.ts @@ -1,4 +1,4 @@ -import { BaseImage } from '../models'; +import { BaseImage } from '../models/Image'; export const findFirstValid = (images: BaseImage[], language: string) => { const p = images.find((p) => p.iso_639_1 === language); diff --git a/src/utils/getTranslations.ts b/src/utils/getTranslations.ts index 3c00ee63..c19377be 100644 --- a/src/utils/getTranslations.ts +++ b/src/utils/getTranslations.ts @@ -1,14 +1,24 @@ -import { Translation } from 'models'; +import { Translation } from '../models/Translation'; export const getTranslation = (translations: Translation[]) => { - const { title, overview } = translations.reduce((acc, t) => { + const { title, overview } = translations.reduce<{ + title?: string; + overview?: string; + }>((acc, t) => { if (!acc.title && t.title) { acc.title = t.title; } if (!acc.overview && t.overview) { acc.overview = t.overview; } + + if (t.language == 'es' && t.country == 'es' && t.title) { + acc.title = t.title; + } + if (t.language == 'es' && t.country == 'es' && t.overview) { + acc.overview = t.overview; + } return acc; - }, {} as { title?: string; overview?: string }); + }, {}); return { title, overview }; }; diff --git a/src/utils/getType.ts b/src/utils/getType.ts index 9ebe6385..5c562b72 100644 --- a/src/utils/getType.ts +++ b/src/utils/getType.ts @@ -1,9 +1,5 @@ -import { - MovieWatched, - MovieWatchlist, - ShowWatched, - ShowWatchlist, -} from 'models'; +import { MovieWatched, MovieWatchlist } from '../models/Movie'; +import { ShowWatched, ShowWatchlist } from '../models/Show'; export const getType = ( element: MovieWatched | MovieWatchlist | ShowWatched | ShowWatchlist From c01ded3746bfe59248f154d89db30dc9e5a96d11 Mon Sep 17 00:00:00 2001 From: Vicente Date: Thu, 30 Jan 2025 01:24:35 +0100 Subject: [PATCH 11/14] updated react-router --- bun.lock | 16 ++++++++++------ package.json | 2 +- src/App.tsx | 2 +- src/components/EmptyState.tsx | 2 +- src/components/ImageLink.tsx | 2 +- src/components/Login.tsx | 2 +- src/components/LoginButton.tsx | 2 +- src/components/Longpress.tsx | 2 +- src/components/Navigation/NavigationTabs.tsx | 2 +- src/components/Pagination/Pagination.tsx | 2 +- src/components/People.tsx | 2 +- src/components/Providers.tsx | 2 +- src/components/Seasons/SeasonsContainer.tsx | 2 +- src/hooks/usePagination.tsx | 2 +- src/hooks/useSearch.ts | 2 +- src/hooks/useSearchParams.ts | 2 +- src/pages/MovieDetail.tsx | 2 +- src/pages/Person.tsx | 2 +- src/pages/ShowDetail.tsx | 2 +- src/pages/calendar/Calendar.tsx | 2 +- src/pages/calendar/Event.tsx | 2 +- src/pages/movies/Movies.tsx | 2 +- 22 files changed, 31 insertions(+), 27 deletions(-) diff --git a/bun.lock b/bun.lock index 482ed9a6..5b57c8a9 100644 --- a/bun.lock +++ b/bun.lock @@ -23,7 +23,7 @@ "react-hook-inview": "^4.0.0", "react-longpressable": "^1.1.1", "react-redux": "9.1.2", - "react-router-dom": "^6.3.0", + "react-router": "^7.1.3", "scroll-behavior-polyfill": "^2.0.13", }, "devDependencies": { @@ -413,8 +413,6 @@ "@reduxjs/toolkit": ["@reduxjs/toolkit@2.4.0", "", { "dependencies": { "immer": "^10.0.3", "redux": "^5.0.1", "redux-thunk": "^3.1.0", "reselect": "^5.1.0" }, "peerDependencies": { "react": "^16.9.0 || ^17.0.0 || ^18", "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" }, "optionalPeers": ["react", "react-redux"] }, "sha512-wJZEuSKj14tvNfxiIiJws0tQN77/rDqucBq528ApebMIRHyWpCanJVQRxQ8WWZC19iCDKxDsGlbAir3F1layxA=="], - "@remix-run/router": ["@remix-run/router@1.21.0", "", {}, "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA=="], - "@restart/hooks": ["@restart/hooks@0.4.16", "", { "dependencies": { "dequal": "^2.0.3" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w=="], "@rollup/plugin-babel": ["@rollup/plugin-babel@5.3.1", "", { "dependencies": { "@babel/helper-module-imports": "^7.10.4", "@rollup/pluginutils": "^3.1.0" }, "peerDependencies": { "@babel/core": "^7.0.0", "@types/babel__core": "^7.1.9", "rollup": "^1.20.0||^2.0.0" }, "optionalPeers": ["@types/babel__core"] }, "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q=="], @@ -539,6 +537,8 @@ "@types/babel__traverse": ["@types/babel__traverse@7.20.6", "", { "dependencies": { "@babel/types": "^7.20.7" } }, "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg=="], + "@types/cookie": ["@types/cookie@0.6.0", "", {}, "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="], + "@types/estree": ["@types/estree@1.0.6", "", {}, "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="], "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], @@ -745,6 +745,8 @@ "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], + "core-js-compat": ["core-js-compat@3.39.0", "", { "dependencies": { "browserslist": "^4.24.2" } }, "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw=="], "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="], @@ -1569,9 +1571,7 @@ "react-refresh": ["react-refresh@0.14.2", "", {}, "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA=="], - "react-router": ["react-router@6.28.1", "", { "dependencies": { "@remix-run/router": "1.21.0" }, "peerDependencies": { "react": ">=16.8" } }, "sha512-2omQTA3rkMljmrvvo6WtewGdVh45SpL9hGiCI9uUrwGGfNFDIvGK4gYJsKlJoNVi6AQZcopSCballL+QGOm7fA=="], - - "react-router-dom": ["react-router-dom@6.28.1", "", { "dependencies": { "@remix-run/router": "1.21.0", "react-router": "6.28.1" }, "peerDependencies": { "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-YraE27C/RdjcZwl5UCqF/ffXnZDxpJdk9Q6jw38SZHjXs7NNdpViq2l2c7fO7+4uWaEfcwfGCv3RSg4e1By/fQ=="], + "react-router": ["react-router@7.1.3", "", { "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0", "turbo-stream": "2.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-EezYymLY6Guk/zLQ2vRA8WvdUhWFEj5fcE3RfWihhxXBW7+cd1LsIiA3lmx+KCmneAGQuyBv820o44L2+TtkSA=="], "react-side-effect": ["react-side-effect@2.1.2", "", { "peerDependencies": { "react": "^16.3.0 || ^17.0.0 || ^18.0.0" } }, "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw=="], @@ -1669,6 +1669,8 @@ "set-blocking": ["set-blocking@2.0.0", "", {}, "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="], + "set-cookie-parser": ["set-cookie-parser@2.7.1", "", {}, "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ=="], + "set-function-length": ["set-function-length@1.2.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="], "set-function-name": ["set-function-name@2.0.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", "has-property-descriptors": "^1.0.2" } }, "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ=="], @@ -1817,6 +1819,8 @@ "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "turbo-stream": ["turbo-stream@2.4.0", "", {}, "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g=="], + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], "type-fest": ["type-fest@0.8.1", "", {}, "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="], diff --git a/package.json b/package.json index 2df251fd..78faa42d 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "react-hook-inview": "^4.0.0", "react-longpressable": "^1.1.1", "react-redux": "9.1.2", - "react-router-dom": "^6.3.0", + "react-router": "^7.1.3", "scroll-behavior-polyfill": "^2.0.13" }, "devDependencies": { diff --git a/src/App.tsx b/src/App.tsx index 5e3821e3..37e04d80 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,7 +3,7 @@ import { GlobalFilter } from 'components/GlobalFilter'; import { NavigationTabs } from 'components/Navigation/NavigationTabs'; import { NewVersion } from 'components/NewVersion'; import React, { Suspense, lazy, useContext, useEffect } from 'react'; -import { Navigate, Route, Routes, useLocation } from 'react-router-dom'; +import { Navigate, Route, Routes, useLocation } from 'react-router'; import { loadImgConfig } from 'state/slices/config'; import { useAppDispatch, useAppSelector } from 'state/store'; import { ROUTE, ROUTES } from 'utils/routes'; diff --git a/src/components/EmptyState.tsx b/src/components/EmptyState.tsx index 161878fa..bae6309a 100644 --- a/src/components/EmptyState.tsx +++ b/src/components/EmptyState.tsx @@ -1,4 +1,4 @@ -import { Link } from 'react-router-dom'; +import { Link } from 'react-router'; import { Icon } from './Icon'; export const EmptyState = () => ( diff --git a/src/components/ImageLink.tsx b/src/components/ImageLink.tsx index 26e38647..eaa67f82 100644 --- a/src/components/ImageLink.tsx +++ b/src/components/ImageLink.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Link } from 'react-router-dom'; +import { Link } from 'react-router'; import Image from './Image'; import { Show } from '../models/Show'; import { Movie } from '../models/Movie'; diff --git a/src/components/Login.tsx b/src/components/Login.tsx index 7a184b19..692026f3 100644 --- a/src/components/Login.tsx +++ b/src/components/Login.tsx @@ -1,6 +1,6 @@ import { AuthContext } from 'contexts/AuthContext'; import React, { useContext, useEffect } from 'react'; -import { useNavigate } from 'react-router-dom'; +import { useNavigate } from 'react-router'; import { loginApi } from '../utils/api'; import { useTranslate } from '../hooks/useTranslate'; diff --git a/src/components/LoginButton.tsx b/src/components/LoginButton.tsx index c820ed0a..23b74881 100644 --- a/src/components/LoginButton.tsx +++ b/src/components/LoginButton.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { useLocation } from 'react-router-dom'; +import { useLocation } from 'react-router'; const redirect_url = import.meta.env.VITE_REDIRECT_URL; export const LoginButton: React.FC<{ small?: boolean }> = ({ small }) => { diff --git a/src/components/Longpress.tsx b/src/components/Longpress.tsx index 88cf6976..6693c708 100644 --- a/src/components/Longpress.tsx +++ b/src/components/Longpress.tsx @@ -1,6 +1,6 @@ import React from 'react'; import LongPressable from 'react-longpressable'; -import { useNavigate } from 'react-router-dom'; +import { useNavigate } from 'react-router'; import { useDispatch } from 'react-redux'; import { setGlobalSearch } from 'state/slices/root'; import { Icon } from './Icon'; diff --git a/src/components/Navigation/NavigationTabs.tsx b/src/components/Navigation/NavigationTabs.tsx index 21addad3..a5c53e5a 100644 --- a/src/components/Navigation/NavigationTabs.tsx +++ b/src/components/Navigation/NavigationTabs.tsx @@ -1,6 +1,6 @@ import { motion } from 'motion/react'; import React from 'react'; -import { NavLink, useLocation } from 'react-router-dom'; +import { NavLink, useLocation } from 'react-router'; import LongPress from '../Longpress'; import { ROUTES } from 'utils/routes'; import { Icon } from 'components/Icon'; diff --git a/src/components/Pagination/Pagination.tsx b/src/components/Pagination/Pagination.tsx index d8cff8bc..b8a73740 100644 --- a/src/components/Pagination/Pagination.tsx +++ b/src/components/Pagination/Pagination.tsx @@ -1,7 +1,7 @@ import Genres from 'components/Genres'; import React, { useEffect } from 'react'; import { Icon } from 'components/Icon'; -import { useSearchParams } from 'react-router-dom'; +import { useSearchParams } from 'react-router'; interface IPaginationProps { setFirst: () => void; diff --git a/src/components/People.tsx b/src/components/People.tsx index 4bdb9833..bc120cac 100644 --- a/src/components/People.tsx +++ b/src/components/People.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Link } from 'react-router-dom'; +import { Link } from 'react-router'; import { People as IPeople } from '../models/People'; import Collapsable from './Collapsable/Collapsable'; import { Empty } from './Empty'; diff --git a/src/components/Providers.tsx b/src/components/Providers.tsx index c0859333..ad0f9d57 100644 --- a/src/components/Providers.tsx +++ b/src/components/Providers.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { BrowserRouter } from 'react-router-dom'; +import { BrowserRouter } from 'react-router'; import { ThemeProvider } from 'contexts/ThemeContext'; import { AlertProvider } from 'contexts/AlertContext'; import { ModalProvider } from 'contexts/ModalContext'; diff --git a/src/components/Seasons/SeasonsContainer.tsx b/src/components/Seasons/SeasonsContainer.tsx index 51b00411..7fcb7ace 100644 --- a/src/components/Seasons/SeasonsContainer.tsx +++ b/src/components/Seasons/SeasonsContainer.tsx @@ -22,7 +22,7 @@ import { ShowProgress, ShowWatched, } from '../../models/Show'; -import { useSearchParams } from 'react-router-dom'; +import { useSearchParams } from 'react-router'; interface ISeasonsContainerProps { show: Show; diff --git a/src/hooks/usePagination.tsx b/src/hooks/usePagination.tsx index 2a486cba..8637f8e6 100644 --- a/src/hooks/usePagination.tsx +++ b/src/hooks/usePagination.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { useSearchParams } from 'react-router-dom'; +import { useSearchParams } from 'react-router'; export const PAGE_SIZE = 40; export const usePagination = (items: T[]) => { diff --git a/src/hooks/useSearch.ts b/src/hooks/useSearch.ts index 9e3cfc64..21029c4f 100644 --- a/src/hooks/useSearch.ts +++ b/src/hooks/useSearch.ts @@ -1,5 +1,5 @@ import { useEffect, useState, useCallback } from 'react'; -import { useNavigate, useLocation } from 'react-router-dom'; +import { useNavigate, useLocation } from 'react-router'; export const useSearch = () => { const navigate = useNavigate(); diff --git a/src/hooks/useSearchParams.ts b/src/hooks/useSearchParams.ts index 8bd4b763..f9821033 100644 --- a/src/hooks/useSearchParams.ts +++ b/src/hooks/useSearchParams.ts @@ -2,7 +2,7 @@ import { useCallback } from 'react'; import { URLSearchParamsInit, useSearchParams as useReactSearchParams, -} from 'react-router-dom'; +} from 'react-router'; import { URLSearchParams } from 'url'; export const useSearchParams = ( diff --git a/src/pages/MovieDetail.tsx b/src/pages/MovieDetail.tsx index fe3887b8..45a5138f 100644 --- a/src/pages/MovieDetail.tsx +++ b/src/pages/MovieDetail.tsx @@ -1,5 +1,5 @@ import React, { useContext, useEffect, useState } from 'react'; -import { useLocation, useParams } from 'react-router-dom'; +import { useLocation, useParams } from 'react-router'; import { useAppDispatch, useAppSelector } from 'state/store'; import { populateDetail } from 'state/slices/movies/thunks'; import Collapsable from '../components/Collapsable/Collapsable'; diff --git a/src/pages/Person.tsx b/src/pages/Person.tsx index f71d443d..549f6cb3 100644 --- a/src/pages/Person.tsx +++ b/src/pages/Person.tsx @@ -4,7 +4,7 @@ import ImageLink from '../components/ImageLink'; import Collapsable from '../components/Collapsable/Collapsable'; import { getPersonItemsApi, getPersonApi } from '../utils/api'; import Emoji from '../components/Emoji'; -import { useParams } from 'react-router-dom'; +import { useParams } from 'react-router'; import { Person as IPerson } from '../models/Person'; import { placeholders } from '../components/Related'; import { Empty } from '../components/Empty'; diff --git a/src/pages/ShowDetail.tsx b/src/pages/ShowDetail.tsx index da372483..aae68a81 100644 --- a/src/pages/ShowDetail.tsx +++ b/src/pages/ShowDetail.tsx @@ -1,5 +1,5 @@ import React, { useContext, useEffect, useState } from 'react'; -import { useLocation, useParams } from 'react-router-dom'; +import { useLocation, useParams } from 'react-router'; import { useAppDispatch, useAppSelector } from 'state/store'; import { populateDetail } from 'state/slices/shows/thunks'; import Collapsable from '../components/Collapsable/Collapsable'; diff --git a/src/pages/calendar/Calendar.tsx b/src/pages/calendar/Calendar.tsx index 577c7fcd..6a30fb88 100644 --- a/src/pages/calendar/Calendar.tsx +++ b/src/pages/calendar/Calendar.tsx @@ -24,7 +24,7 @@ import './calendar.css'; import { useAppSelector } from 'state/store'; import { Icon } from 'components/Icon'; import { AuthContext } from 'contexts/AuthContext'; -import { useSearchParams } from 'react-router-dom'; +import { useSearchParams } from 'react-router'; import { useTranslate } from '../../hooks/useTranslate'; import { MovieCalendar, ShowCalendar } from '../../models/Api'; diff --git a/src/pages/calendar/Event.tsx b/src/pages/calendar/Event.tsx index 29ec8f28..8900d730 100644 --- a/src/pages/calendar/Event.tsx +++ b/src/pages/calendar/Event.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Event as ICalendarEvent, EventProps } from 'react-big-calendar'; -import { Link } from 'react-router-dom'; +import { Link } from 'react-router'; import { useAppSelector } from 'state/store'; export const Event: React.FC> = ({ diff --git a/src/pages/movies/Movies.tsx b/src/pages/movies/Movies.tsx index cb7cf11c..5f4bd7f1 100644 --- a/src/pages/movies/Movies.tsx +++ b/src/pages/movies/Movies.tsx @@ -6,7 +6,7 @@ import { useAppSelector } from 'state/store'; import { totalByType } from 'state/slices/movies'; import { Underline } from '../shows/Shows'; import { Icon } from 'components/Icon'; -import { useSearchParams } from 'react-router-dom'; +import { useSearchParams } from 'react-router'; import { useWindowSize } from '../../hooks/useWindowSize'; import { useTranslate } from '../../hooks/useTranslate'; From 60f7ed5b93d83a0f3f33b124b64319451a46fae3 Mon Sep 17 00:00:00 2001 From: Vicente Date: Thu, 30 Jan 2025 01:53:29 +0100 Subject: [PATCH 12/14] updated to tailwind 4 --- bun.lock | 208 +++++++----------- package.json | 6 +- postcss.config.js | 6 - src/components/GlobalFilter.tsx | 2 +- src/components/Modal.tsx | 2 +- src/components/Navigation/NavigationTabs.tsx | 2 +- src/components/People.tsx | 24 +- src/components/ProgressBar/ProgressBar.tsx | 2 +- src/components/Related.tsx | 20 +- .../Seasons/EpisodesPlaceholder.tsx | 6 +- src/index.css | 71 +++++- src/pages/Profile.tsx | 4 +- src/pages/ShowDetail.tsx | 4 +- src/pages/search/Search.tsx | 4 +- tailwind.config.ts | 61 ----- vite.config.ts | 2 + 16 files changed, 182 insertions(+), 242 deletions(-) delete mode 100644 postcss.config.js delete mode 100644 tailwind.config.ts diff --git a/bun.lock b/bun.lock index 5b57c8a9..588bd03c 100644 --- a/bun.lock +++ b/bun.lock @@ -12,7 +12,7 @@ "dexie": "^3.2.2", "fast-deep-equal": "^3.1.3", "fuse.js": "^5.2.3", - "motion": "12.0.0-alpha.2", + "motion": "12.0.6", "query-string": "^6.13.1", "ramda": "0.30.1", "react": "19.0.0", @@ -31,6 +31,7 @@ "@semantic-release/changelog": "^5.0.0", "@semantic-release/git": "^9.0.0", "@sentry/browser": "7.119.2", + "@tailwindcss/vite": "4.0.1", "@types/ramda": "0.30.1", "@types/react": "19.0.0", "@types/react-dom": "19.0.0", @@ -38,7 +39,6 @@ "@types/react-outside-click-handler": "^1.3.0", "@types/resize-observer-browser": "^0.1.3", "@vitejs/plugin-react": "4.3.4", - "autoprefixer": "^10.4.20", "conventional-changelog-atom": "^2.0.3", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.0.0", @@ -46,7 +46,7 @@ "prettier": "^2.0.5", "rollup-plugin-visualizer": "^5.9.0", "semantic-release": "^19.0.3", - "tailwindcss": "3.4.17", + "tailwindcss": "4.0.0", "typescript": "5.7.2", "vite": "^5.1.8", "vite-plugin-environment": "^1.1.3", @@ -57,8 +57,6 @@ }, }, "packages": { - "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], - "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], "@apideck/better-ajv-errors": ["@apideck/better-ajv-errors@0.3.6", "", { "dependencies": { "json-schema": "^0.4.0", "jsonpointer": "^5.0.0", "leven": "^3.1.0" }, "peerDependencies": { "ajv": ">=8" } }, "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA=="], @@ -317,8 +315,6 @@ "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.1", "", {}, "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA=="], - "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], - "@isaacs/string-locale-compare": ["@isaacs/string-locale-compare@1.1.0", "", {}, "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ=="], "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="], @@ -401,8 +397,6 @@ "@octokit/types": ["@octokit/types@9.3.2", "", { "dependencies": { "@octokit/openapi-types": "^18.0.0" } }, "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA=="], - "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], - "@pnpm/config.env-replace": ["@pnpm/config.env-replace@1.1.0", "", {}, "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w=="], "@pnpm/network.ca-file": ["@pnpm/network.ca-file@1.0.2", "", { "dependencies": { "graceful-fs": "4.2.10" } }, "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA=="], @@ -527,6 +521,34 @@ "@svgr/plugin-jsx": ["@svgr/plugin-jsx@8.1.0", "", { "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", "@svgr/hast-util-to-babel-ast": "8.0.0", "svg-parser": "^2.0.4" }, "peerDependencies": { "@svgr/core": "*" } }, "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA=="], + "@tailwindcss/node": ["@tailwindcss/node@4.0.1", "", { "dependencies": { "enhanced-resolve": "^5.18.0", "jiti": "^2.4.2", "tailwindcss": "4.0.1" } }, "sha512-lc+ly6PKHqgCVl7eO8D2JlV96Lks5bmL6pdtM6UasyUHLU2zmrOqU6jfgln120IVnCh3VC8GG/ca24xVTtSokw=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.0.1", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.0.1", "@tailwindcss/oxide-darwin-arm64": "4.0.1", "@tailwindcss/oxide-darwin-x64": "4.0.1", "@tailwindcss/oxide-freebsd-x64": "4.0.1", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.1", "@tailwindcss/oxide-linux-arm64-gnu": "4.0.1", "@tailwindcss/oxide-linux-arm64-musl": "4.0.1", "@tailwindcss/oxide-linux-x64-gnu": "4.0.1", "@tailwindcss/oxide-linux-x64-musl": "4.0.1", "@tailwindcss/oxide-win32-arm64-msvc": "4.0.1", "@tailwindcss/oxide-win32-x64-msvc": "4.0.1" } }, "sha512-3z1SpWoDeaA6K6jd92CRrGyDghOcRILEgyWVHRhaUm/tcpiazwJpU9BSG0xB7GGGnl9capojaC+zme/nKsZd/w=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.0.1", "", { "os": "android", "cpu": "arm64" }, "sha512-eP/rI9WaAElpeiiHDqGtDqga9iDsOClXxIqdHayHsw93F24F03b60CwgGhrGF9Io/EuWIpz3TMRhPVOLhoXivw=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.0.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-jZVUo0kNd1IjxdCYwg4dwegDNsq7PoUx4LM814RmgY3gfJ63Y6GlpJXHOpd5FLv1igpeZox5LzRk2oz8MQoJwQ=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.0.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-E31wHiIf4LB0aKRohrS4U6XfFSACCL9ifUFfPQ16FhcBIL4wU5rcBidvWvT9TQFGPkpE69n5dyXUcqiMrnF/Ig=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.0.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-8/3ZKLMYqgAsBzTeczOKWtT4geF02g9S7cntY5gvqQZ4E0ImX724cHcZJi9k6fkE6aLbvwxxHxaShFvRxblwKQ=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.0.1", "", { "os": "linux", "cpu": "arm" }, "sha512-EYjbh225klQfWzy6LeIAfdjHCK+p71yLV/GjdPNW47Bfkkq05fTzIhHhCgshUvNp78EIA33iQU+ktWpW06NgHw=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.0.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-PrX2SwIqWNP5cYeSyQfrhbk4ffOM338T6CrEwIAGvLPoUZiklt19yknlsBme6bReSw7TSAMy+8KFdLLi5fcWNQ=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.0.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-iuoFGhKDojtfloi5uj6MIk4kxEOGcsAk/kPbZItF9Dp7TnzVhxo2U/718tXhxGrg6jSL3ST3cQHIjA6yw3OeXw=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.0.1", "", { "os": "linux", "cpu": "x64" }, "sha512-pNUrGQYyE8RK+N9yvkPmHnlKDfFbni9A3lsi37u4RoA/6Yn+zWVoegvAQMZu3w+jqnpb2A/bYJ+LumcclUZ3yg=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.0.1", "", { "os": "linux", "cpu": "x64" }, "sha512-xSGWaDcT6SJ75su9zWXj8GYb2jM/przXwZGH96RTS7HGDIoI1tvgpls88YajG5Sx7hXaqAWCufjw5L/dlu+lzg=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.0.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-BUNL2isUZ2yWnbplPddggJpZxsqGHPZ1RJAYpu63W4znUnKCzI4m/jiy0WpyYqqOKL9jDM5q0QdsQ9mc3aw5YQ=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.0.1", "", { "os": "win32", "cpu": "x64" }, "sha512-ZtcVu+XXOddGsPlvO5nh2fnbKmwly2C07ZB1lcYCf/b8qIWF04QY9o6vy6/+6ioLRfbp3E7H/ipFio38DZX4oQ=="], + + "@tailwindcss/vite": ["@tailwindcss/vite@4.0.1", "", { "dependencies": { "@tailwindcss/node": "^4.0.1", "@tailwindcss/oxide": "^4.0.1", "lightningcss": "^1.29.1", "tailwindcss": "4.0.1" }, "peerDependencies": { "vite": "^5.2.0 || ^6" } }, "sha512-ZkwMBA7uR+nyrafIZI8ce3PduE0dDVFVmxmInCUPTN17Jgy6RfEPXzqtL5fz658eDDxKa5xZ+gmiTt+5AMD0pw=="], + "@tootallnate/once": ["@tootallnate/once@2.0.0", "", {}, "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A=="], "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], @@ -597,18 +619,12 @@ "ansicolors": ["ansicolors@0.3.2", "", {}, "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg=="], - "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="], - - "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], - "aproba": ["aproba@2.0.0", "", {}, "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="], "archy": ["archy@1.0.0", "", {}, "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw=="], "are-we-there-yet": ["are-we-there-yet@3.0.1", "", { "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" } }, "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg=="], - "arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], - "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], "argv-formatter": ["argv-formatter@1.0.0", "", {}, "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw=="], @@ -631,8 +647,6 @@ "at-least-node": ["at-least-node@1.0.0", "", {}, "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="], - "autoprefixer": ["autoprefixer@10.4.20", "", { "dependencies": { "browserslist": "^4.23.3", "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g=="], - "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="], "axios": ["axios@1.7.4", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw=="], @@ -677,8 +691,6 @@ "camelcase": ["camelcase@6.3.0", "", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="], - "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], - "camelcase-keys": ["camelcase-keys@6.2.2", "", { "dependencies": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", "quick-lru": "^4.0.1" } }, "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg=="], "caniuse-lite": ["caniuse-lite@1.0.30001690", "", {}, "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w=="], @@ -687,8 +699,6 @@ "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], - "chownr": ["chownr@2.0.0", "", {}, "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="], "cidr-regex": ["cidr-regex@3.1.1", "", { "dependencies": { "ip-regex": "^4.1.0" } }, "sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw=="], @@ -719,7 +729,7 @@ "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], - "commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], + "commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], "common-ancestor-path": ["common-ancestor-path@1.0.1", "", {}, "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w=="], @@ -809,20 +819,18 @@ "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], + "detect-libc": ["detect-libc@1.0.3", "", { "bin": { "detect-libc": "./bin/detect-libc.js" } }, "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="], + "dexie": ["dexie@3.2.7", "", {}, "sha512-2a+BXvVhY5op+smDRLxeBAivE7YcYaneXJ1la3HOkUfX9zKkE/AJ8CNgjiXbtXepFyFmJNGSbmjOwqbT749r/w=="], "dezalgo": ["dezalgo@1.0.4", "", { "dependencies": { "asap": "^2.0.0", "wrappy": "1" } }, "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig=="], - "didyoumean": ["didyoumean@1.2.2", "", {}, "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="], - - "diff": ["diff@4.0.2", "", {}, "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="], + "diff": ["diff@5.2.0", "", {}, "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="], "difflib": ["difflib@0.2.4", "", { "dependencies": { "heap": ">= 0.2.0" } }, "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w=="], "dir-glob": ["dir-glob@3.0.1", "", { "dependencies": { "path-type": "^4.0.0" } }, "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="], - "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], - "dom-helpers": ["dom-helpers@5.2.1", "", { "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA=="], "dot-case": ["dot-case@3.0.4", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w=="], @@ -835,8 +843,6 @@ "duplexer2": ["duplexer2@0.1.4", "", { "dependencies": { "readable-stream": "^2.0.2" } }, "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA=="], - "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], - "ejs": ["ejs@3.1.10", "", { "dependencies": { "jake": "^10.8.5" }, "bin": { "ejs": "bin/cli.js" } }, "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA=="], "electron-to-chromium": ["electron-to-chromium@1.5.76", "", {}, "sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ=="], @@ -845,6 +851,8 @@ "encoding": ["encoding@0.1.13", "", { "dependencies": { "iconv-lite": "^0.6.2" } }, "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A=="], + "enhanced-resolve": ["enhanced-resolve@5.18.0", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ=="], + "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], "env-ci": ["env-ci@5.5.0", "", { "dependencies": { "execa": "^5.0.0", "fromentries": "^1.3.2", "java-properties": "^1.0.0" } }, "sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A=="], @@ -941,13 +949,9 @@ "for-each": ["for-each@0.3.3", "", { "dependencies": { "is-callable": "^1.1.3" } }, "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw=="], - "foreground-child": ["foreground-child@3.3.0", "", { "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" } }, "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg=="], - "form-data": ["form-data@4.0.1", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "mime-types": "^2.1.12" } }, "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw=="], - "fraction.js": ["fraction.js@4.3.7", "", {}, "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="], - - "framer-motion": ["framer-motion@12.0.0-alpha.2", "", { "dependencies": { "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^19.0.0-rc.1", "react-dom": "^19.0.0-rc.1" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-s603YLhCoX3GKaPDZnywwoFdd1T6gDFCfevVRek+TCpbvazUkITh+YZ3a6kqTvn4Aj7qQWT3vAmzWIjl/LsCFA=="], + "framer-motion": ["framer-motion@12.0.6", "", { "dependencies": { "motion-dom": "^12.0.0", "motion-utils": "^12.0.0", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-LmrXbXF6Vv5WCNmb+O/zn891VPZrH7XbsZgRLBROw6kFiP+iTK49gxTv2Ur3F0Tbw6+sy9BVtSqnWfMUpH+6nA=="], "from2": ["from2@2.3.0", "", { "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" } }, "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g=="], @@ -985,7 +989,7 @@ "git-log-parser": ["git-log-parser@1.2.1", "", { "dependencies": { "argv-formatter": "~1.0.0", "spawn-error-forwarder": "~1.0.0", "split2": "~1.0.0", "stream-combiner2": "~1.1.1", "through2": "~2.0.0", "traverse": "0.6.8" } }, "sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ=="], - "glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], + "glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], @@ -1089,8 +1093,6 @@ "is-bigint": ["is-bigint@1.1.0", "", { "dependencies": { "has-bigints": "^1.0.2" } }, "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ=="], - "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="], - "is-boolean-object": ["is-boolean-object@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng=="], "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="], @@ -1167,13 +1169,11 @@ "issue-parser": ["issue-parser@6.0.0", "", { "dependencies": { "lodash.capitalize": "^4.2.1", "lodash.escaperegexp": "^4.1.2", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.uniqby": "^4.7.0" } }, "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA=="], - "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], - "jake": ["jake@10.9.2", "", { "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", "filelist": "^1.0.4", "minimatch": "^3.1.2" }, "bin": { "jake": "bin/cli.js" } }, "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA=="], "java-properties": ["java-properties@1.0.2", "", {}, "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ=="], - "jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], + "jiti": ["jiti@2.4.2", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], @@ -1245,7 +1245,27 @@ "lie": ["lie@3.1.1", "", { "dependencies": { "immediate": "~3.0.5" } }, "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw=="], - "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], + "lightningcss": ["lightningcss@1.29.1", "", { "dependencies": { "detect-libc": "^1.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.29.1", "lightningcss-darwin-x64": "1.29.1", "lightningcss-freebsd-x64": "1.29.1", "lightningcss-linux-arm-gnueabihf": "1.29.1", "lightningcss-linux-arm64-gnu": "1.29.1", "lightningcss-linux-arm64-musl": "1.29.1", "lightningcss-linux-x64-gnu": "1.29.1", "lightningcss-linux-x64-musl": "1.29.1", "lightningcss-win32-arm64-msvc": "1.29.1", "lightningcss-win32-x64-msvc": "1.29.1" } }, "sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.29.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.29.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.29.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.29.1", "", { "os": "linux", "cpu": "arm" }, "sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.29.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.29.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.29.1", "", { "os": "linux", "cpu": "x64" }, "sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.29.1", "", { "os": "linux", "cpu": "x64" }, "sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.29.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.29.1", "", { "os": "win32", "cpu": "x64" }, "sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q=="], "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], @@ -1287,8 +1307,6 @@ "magic-string": ["magic-string@0.25.9", "", { "dependencies": { "sourcemap-codec": "^1.4.8" } }, "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ=="], - "make-error": ["make-error@1.3.6", "", {}, "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="], - "make-fetch-happen": ["make-fetch-happen@10.2.1", "", { "dependencies": { "agentkeepalive": "^4.2.1", "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", "ssri": "^9.0.0" } }, "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w=="], "map-obj": ["map-obj@4.3.0", "", {}, "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ=="], @@ -1351,14 +1369,16 @@ "moment-timezone": ["moment-timezone@0.5.46", "", { "dependencies": { "moment": "^2.29.4" } }, "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw=="], - "motion": ["motion@12.0.0-alpha.2", "", { "dependencies": { "framer-motion": "^12.0.0-alpha.2", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^19.0.0-rc.1", "react-dom": "^19.0.0-rc.1" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-pslRUURjyS1Xb6lSdyc4LzOKhaCRj0PIqstb5dDIB/RxNO3MqSMU43o1rGtZs5h8DgRzRSPHE+E7yhh2NpwI8A=="], + "motion": ["motion@12.0.6", "", { "dependencies": { "framer-motion": "^12.0.6", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-AzCEO0+//mPlcGiL9JaVwjddHY1cbbnvz5upHL0toqQwsPCs+hiKJ0XG5jfG0XwDtBbiSXdEqW/UTmGLwkVQ6A=="], + + "motion-dom": ["motion-dom@12.0.0", "", { "dependencies": { "motion-utils": "^12.0.0" } }, "sha512-CvYd15OeIR6kHgMdonCc1ihsaUG4MYh/wrkz8gZ3hBX/uamyZCXN9S9qJoYF03GqfTt7thTV/dxnHYX4+55vDg=="], + + "motion-utils": ["motion-utils@12.0.0", "", {}, "sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA=="], "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], "mute-stream": ["mute-stream@0.0.8", "", {}, "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="], - "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], - "nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], @@ -1383,10 +1403,6 @@ "normalize-package-data": ["normalize-package-data@2.5.0", "", { "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA=="], - "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], - - "normalize-range": ["normalize-range@0.1.2", "", {}, "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="], - "normalize-url": ["normalize-url@6.1.0", "", {}, "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="], "npm": ["npm@8.19.4", "", { "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^5.6.3", "@npmcli/ci-detect": "^2.0.0", "@npmcli/config": "^4.2.1", "@npmcli/fs": "^2.1.0", "@npmcli/map-workspaces": "^2.0.3", "@npmcli/package-json": "^2.0.0", "@npmcli/run-script": "^4.2.1", "abbrev": "~1.1.1", "archy": "~1.0.0", "cacache": "^16.1.3", "chalk": "^4.1.2", "chownr": "^2.0.0", "cli-columns": "^4.0.0", "cli-table3": "^0.6.2", "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.12", "fs-minipass": "^2.1.0", "glob": "^8.0.1", "graceful-fs": "^4.2.10", "hosted-git-info": "^5.2.1", "ini": "^3.0.1", "init-package-json": "^3.0.2", "is-cidr": "^4.0.2", "json-parse-even-better-errors": "^2.3.1", "libnpmaccess": "^6.0.4", "libnpmdiff": "^4.0.5", "libnpmexec": "^4.0.14", "libnpmfund": "^3.0.5", "libnpmhook": "^8.0.4", "libnpmorg": "^4.0.4", "libnpmpack": "^4.1.3", "libnpmpublish": "^6.0.5", "libnpmsearch": "^5.0.4", "libnpmteam": "^4.0.4", "libnpmversion": "^3.0.7", "make-fetch-happen": "^10.2.0", "minimatch": "^5.1.0", "minipass": "^3.1.6", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", "mkdirp-infer-owner": "^2.0.0", "ms": "^2.1.2", "node-gyp": "^9.1.0", "nopt": "^6.0.0", "npm-audit-report": "^3.0.0", "npm-install-checks": "^5.0.0", "npm-package-arg": "^9.1.0", "npm-pick-manifest": "^7.0.2", "npm-profile": "^6.2.0", "npm-registry-fetch": "^13.3.1", "npm-user-validate": "^1.0.1", "npmlog": "^6.0.2", "opener": "^1.5.2", "p-map": "^4.0.0", "pacote": "^13.6.2", "parse-conflict-json": "^2.0.2", "proc-log": "^2.0.1", "qrcode-terminal": "^0.12.0", "read": "~1.0.7", "read-package-json": "^5.0.2", "read-package-json-fast": "^2.0.3", "readdir-scoped-modules": "^1.1.0", "rimraf": "^3.0.2", "semver": "^7.3.7", "ssri": "^9.0.1", "tar": "^6.1.11", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^2.0.0", "validate-npm-package-name": "^4.0.0", "which": "^2.0.2", "write-file-atomic": "^4.0.1" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" } }, "sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw=="], @@ -1417,8 +1433,6 @@ "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], - "object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="], - "object-inspect": ["object-inspect@1.13.3", "", {}, "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA=="], "object-keys": ["object-keys@1.1.1", "", {}, "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="], @@ -1451,8 +1465,6 @@ "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], - "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], - "pacote": ["pacote@13.6.2", "", { "dependencies": { "@npmcli/git": "^3.0.0", "@npmcli/installed-package-contents": "^1.0.7", "@npmcli/promise-spawn": "^3.0.0", "@npmcli/run-script": "^4.1.0", "cacache": "^16.0.0", "chownr": "^2.0.0", "fs-minipass": "^2.1.0", "infer-owner": "^1.0.4", "minipass": "^3.1.6", "mkdirp": "^1.0.4", "npm-package-arg": "^9.0.0", "npm-packlist": "^5.1.0", "npm-pick-manifest": "^7.0.0", "npm-registry-fetch": "^13.0.1", "proc-log": "^2.0.0", "promise-retry": "^2.0.1", "read-package-json": "^5.0.0", "read-package-json-fast": "^2.0.3", "rimraf": "^3.0.2", "ssri": "^9.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "lib/bin.js" } }, "sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg=="], "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], @@ -1469,17 +1481,13 @@ "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], - "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], - "path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="], "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], "picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - "pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], - - "pirates": ["pirates@4.0.6", "", {}, "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg=="], + "pify": ["pify@3.0.0", "", {}, "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg=="], "pkg-conf": ["pkg-conf@2.1.0", "", { "dependencies": { "find-up": "^2.0.0", "load-json-file": "^4.0.0" } }, "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g=="], @@ -1487,18 +1495,8 @@ "postcss": ["postcss@8.4.49", "", { "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA=="], - "postcss-import": ["postcss-import@15.1.0", "", { "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew=="], - - "postcss-js": ["postcss-js@4.0.1", "", { "dependencies": { "camelcase-css": "^2.0.1" }, "peerDependencies": { "postcss": "^8.4.21" } }, "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw=="], - - "postcss-load-config": ["postcss-load-config@4.0.2", "", { "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" }, "optionalPeers": ["postcss", "ts-node"] }, "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ=="], - - "postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "^6.1.1" }, "peerDependencies": { "postcss": "^8.2.14" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="], - "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], - "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], - "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], "prettier": ["prettier@2.8.8", "", { "bin": { "prettier": "bin-prettier.js" } }, "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="], @@ -1577,8 +1575,6 @@ "read": ["read@1.0.7", "", { "dependencies": { "mute-stream": "~0.0.4" } }, "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ=="], - "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], - "read-cmd-shim": ["read-cmd-shim@3.0.1", "", {}, "sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g=="], "read-package-json": ["read-package-json@5.0.2", "", { "dependencies": { "glob": "^8.0.1", "json-parse-even-better-errors": "^2.3.1", "normalize-package-data": "^4.0.0", "npm-normalize-package-bin": "^2.0.0" } }, "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q=="], @@ -1593,8 +1589,6 @@ "readdir-scoped-modules": ["readdir-scoped-modules@1.1.0", "", { "dependencies": { "debuglog": "^1.0.1", "dezalgo": "^1.0.0", "graceful-fs": "^4.1.2", "once": "^1.3.0" } }, "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw=="], - "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], - "redent": ["redent@3.0.0", "", { "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" } }, "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg=="], "redeyed": ["redeyed@2.1.1", "", { "dependencies": { "esprima": "~4.0.0" } }, "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ=="], @@ -1737,8 +1731,6 @@ "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "string.prototype.matchall": ["string.prototype.matchall@4.0.12", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.6", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "regexp.prototype.flags": "^1.5.3", "set-function-name": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA=="], "string.prototype.trim": ["string.prototype.trim@1.2.10", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-object-atoms": "^1.0.0", "has-property-descriptors": "^1.0.2" } }, "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA=="], @@ -1753,8 +1745,6 @@ "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="], "strip-comments": ["strip-comments@2.0.1", "", {}, "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw=="], @@ -1765,8 +1755,6 @@ "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], - "sucrase": ["sucrase@3.35.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA=="], - "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "supports-hyperlinks": ["supports-hyperlinks@2.3.0", "", { "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" } }, "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA=="], @@ -1775,7 +1763,9 @@ "svg-parser": ["svg-parser@2.0.4", "", {}, "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="], - "tailwindcss": ["tailwindcss@3.4.17", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.6", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og=="], + "tailwindcss": ["tailwindcss@4.0.0", "", {}, "sha512-ULRPI3A+e39T7pSaf1xoi58AqqJxVCLg8F/uM5A3FadUbnyDTgltVnXJvdkTjwCOGA6NazqHVcwPJC5h2vRYVQ=="], + + "tapable": ["tapable@2.2.1", "", {}, "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="], "tar": ["tar@6.2.1", "", { "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A=="], @@ -1789,10 +1779,6 @@ "text-table": ["text-table@0.2.0", "", {}, "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="], - "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="], - - "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="], - "through": ["through@2.3.8", "", {}, "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="], "through2": ["through2@2.0.5", "", { "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ=="], @@ -1809,10 +1795,6 @@ "trim-newlines": ["trim-newlines@3.0.1", "", {}, "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw=="], - "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="], - - "ts-node": ["ts-node@8.9.1", "", { "dependencies": { "arg": "^4.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "source-map-support": "^0.5.17", "yn": "3.1.1" }, "peerDependencies": { "typescript": ">=2.7" }, "bin": { "ts-node": "dist/bin.js", "ts-script": "dist/bin-script-deprecated.js", "ts-node-script": "dist/bin-script.js", "ts-node-transpile-only": "dist/bin-transpile.js" } }, "sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ=="], - "ts-toolbelt": ["ts-toolbelt@9.6.0", "", {}, "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w=="], "tsconfck": ["tsconfck@3.1.4", "", { "peerDependencies": { "typescript": "^5.0.0" }, "optionalPeers": ["typescript"], "bin": { "tsconfck": "bin/tsconfck.js" } }, "sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ=="], @@ -1951,8 +1933,6 @@ "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], "write-file-atomic": ["write-file-atomic@4.0.2", "", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" } }, "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg=="], @@ -1969,8 +1949,6 @@ "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - "yn": ["yn@3.1.1", "", {}, "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="], - "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], "@apideck/better-ajv-errors/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], @@ -1993,12 +1971,6 @@ "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], - "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], - - "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], - - "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], - "@npmcli/arborist/hosted-git-info": ["hosted-git-info@5.2.1", "", { "dependencies": { "lru-cache": "^7.5.1" } }, "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw=="], "@npmcli/arborist/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], @@ -2041,6 +2013,10 @@ "@svgr/core/cosmiconfig": ["cosmiconfig@8.3.6", "", { "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "peerDependencies": { "typescript": ">=4.9.5" }, "optionalPeers": ["typescript"] }, "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA=="], + "@tailwindcss/node/tailwindcss": ["tailwindcss@4.0.1", "", {}, "sha512-UK5Biiit/e+r3i0O223bisoS5+y7ZT1PM8Ojn0MxRHzXN1VPZ2KY6Lo6fhu1dOfCfyUAlK7Lt6wSxowRabATBw=="], + + "@tailwindcss/vite/tailwindcss": ["tailwindcss@4.0.1", "", {}, "sha512-UK5Biiit/e+r3i0O223bisoS5+y7ZT1PM8Ojn0MxRHzXN1VPZ2KY6Lo6fhu1dOfCfyUAlK7Lt6wSxowRabATBw=="], + "are-we-there-yet/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], "babel-plugin-polyfill-corejs2/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], @@ -2053,8 +2029,6 @@ "camelcase-keys/camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], - "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - "config-chain/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], "conventional-changelog-writer/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], @@ -2077,28 +2051,18 @@ "filelist/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], - "foreground-child/signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], - - "glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], - "handlebars/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "ignore-walk/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], - "libnpmdiff/diff": ["diff@5.2.0", "", {}, "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="], - "libnpmdiff/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], "libnpmpublish/normalize-package-data": ["normalize-package-data@4.0.1", "", { "dependencies": { "hosted-git-info": "^5.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg=="], "load-json-file/parse-json": ["parse-json@4.0.0", "", { "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw=="], - "load-json-file/pify": ["pify@3.0.0", "", {}, "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg=="], - "make-fetch-happen/http-proxy-agent": ["http-proxy-agent@5.0.0", "", { "dependencies": { "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } }, "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w=="], "make-fetch-happen/https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="], @@ -2115,8 +2079,6 @@ "node-fetch/whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], - "node-gyp/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], - "normalize-package-data/hosted-git-info": ["hosted-git-info@2.8.9", "", {}, "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="], "normalize-package-data/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], @@ -2137,14 +2099,8 @@ "npm-packlist/npm-bundled": ["npm-bundled@2.0.1", "", { "dependencies": { "npm-normalize-package-bin": "^2.0.0" } }, "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw=="], - "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - - "path-scurry/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], - "pkg-conf/find-up": ["find-up@2.1.0", "", { "dependencies": { "locate-path": "^2.0.0" } }, "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ=="], - "postcss-load-config/yaml": ["yaml@2.6.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg=="], - "rc/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], "rc/strip-json-comments": ["strip-json-comments@2.0.1", "", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="], @@ -2161,8 +2117,6 @@ "regjsparser/jsesc": ["jsesc@3.0.2", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g=="], - "rimraf/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], - "safe-array-concat/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], "semantic-release/@semantic-release/error": ["@semantic-release/error@3.0.0", "", {}, "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw=="], @@ -2183,16 +2137,10 @@ "tempy/type-fest": ["type-fest@0.16.0", "", {}, "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg=="], - "terser/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], - - "ts-node/arg": ["arg@4.1.3", "", {}, "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="], - "which-builtin-type/isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], "workbox-build/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], - "workbox-build/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], - "workbox-build/pretty-bytes": ["pretty-bytes@5.6.0", "", {}, "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg=="], "workbox-build/rollup": ["rollup@2.79.2", "", { "optionalDependencies": { "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ=="], @@ -2205,12 +2153,6 @@ "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], - "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], - - "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], - - "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], - "@npmcli/arborist/hosted-git-info/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], "@npmcli/arborist/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], @@ -2239,8 +2181,6 @@ "filelist/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - "glob/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - "ignore-walk/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], "libnpmdiff/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], diff --git a/package.json b/package.json index 78faa42d..bfc963a4 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "dexie": "^3.2.2", "fast-deep-equal": "^3.1.3", "fuse.js": "^5.2.3", - "motion": "12.0.0-alpha.2", + "motion": "12.0.6", "query-string": "^6.13.1", "ramda": "0.30.1", "react": "19.0.0", @@ -37,6 +37,7 @@ "@semantic-release/changelog": "^5.0.0", "@semantic-release/git": "^9.0.0", "@sentry/browser": "7.119.2", + "@tailwindcss/vite": "4.0.1", "@types/ramda": "0.30.1", "@types/react": "19.0.0", "@types/react-dom": "19.0.0", @@ -44,7 +45,6 @@ "@types/react-outside-click-handler": "^1.3.0", "@types/resize-observer-browser": "^0.1.3", "@vitejs/plugin-react": "4.3.4", - "autoprefixer": "^10.4.20", "conventional-changelog-atom": "^2.0.3", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.0.0", @@ -52,7 +52,7 @@ "prettier": "^2.0.5", "rollup-plugin-visualizer": "^5.9.0", "semantic-release": "^19.0.3", - "tailwindcss": "3.4.17", + "tailwindcss": "4.0.0", "typescript": "5.7.2", "vite": "^5.1.8", "vite-plugin-environment": "^1.1.3", diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index 2aa7205d..00000000 --- a/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -export default { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -}; diff --git a/src/components/GlobalFilter.tsx b/src/components/GlobalFilter.tsx index 9cc8fea8..827bdeef 100644 --- a/src/components/GlobalFilter.tsx +++ b/src/components/GlobalFilter.tsx @@ -46,7 +46,7 @@ export const GlobalFilter = () => { >
    setSearchValue(e.target.value)} diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx index acafea45..3162eff1 100644 --- a/src/components/Modal.tsx +++ b/src/components/Modal.tsx @@ -21,7 +21,7 @@ const Modal: React.FC = ({ modalRef }) => {
    diff --git a/src/components/Navigation/NavigationTabs.tsx b/src/components/Navigation/NavigationTabs.tsx index a5c53e5a..c6ef4d01 100644 --- a/src/components/Navigation/NavigationTabs.tsx +++ b/src/components/Navigation/NavigationTabs.tsx @@ -11,7 +11,7 @@ const Underline: React.FC<{ width: number }> = ({ width }) => { return (
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • , ]; @@ -97,7 +97,7 @@ const People: React.FC = ({ people, type }) => { ) ) : (
  • -
    +
  • )} diff --git a/src/components/ProgressBar/ProgressBar.tsx b/src/components/ProgressBar/ProgressBar.tsx index 0eb4d0e7..aa53c345 100644 --- a/src/components/ProgressBar/ProgressBar.tsx +++ b/src/components/ProgressBar/ProgressBar.tsx @@ -7,7 +7,7 @@ export const ProgressBar: React.FC> = () => { const movies = useAppSelector((state) => state.movies.totalRequestsPending); return movies + shows > 0 ? ( -
    +
    ) : ( <> ); diff --git a/src/components/Related.tsx b/src/components/Related.tsx index d59e7f01..72724ae7 100644 --- a/src/components/Related.tsx +++ b/src/components/Related.tsx @@ -19,52 +19,52 @@ const placeholderStyle = { export const placeholders = [
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • , ]; diff --git a/src/components/Seasons/EpisodesPlaceholder.tsx b/src/components/Seasons/EpisodesPlaceholder.tsx index 93cad587..3d1913f9 100644 --- a/src/components/Seasons/EpisodesPlaceholder.tsx +++ b/src/components/Seasons/EpisodesPlaceholder.tsx @@ -3,11 +3,11 @@ import React from 'react'; const Li: React.FC = () => (
  • - +
    - - + +
  • diff --git a/src/index.css b/src/index.css index 19df6e52..799951fd 100644 --- a/src/index.css +++ b/src/index.css @@ -1,6 +1,71 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import 'tailwindcss'; + +@theme { + --font-*: initial; + --font-sans: Nunito, sans-serif; + + --color-*: initial; + --color-white: var(--primary-light); + --color-black: var(--primary-dark); + + --color-gray-100: var(--gray-100); + --color-gray-200: var(--gray-200); + --color-gray-300: var(--gray-300); + --color-gray-400: var(--gray-400); + --color-gray-500: var(--gray-500); + --color-gray-600: var(--gray-600); + --color-gray-700: var(--gray-700); + --color-gray-800: var(--gray-800); + --color-gray-900: var(--gray-900); + + --color-green-100: var(--green-100); + --color-green-200: var(--green-200); + --color-green-300: var(--green-300); + --color-green-400: var(--green-400); + --color-green-500: var(--green-500); + --color-green-600: var(--green-600); + --color-green-700: var(--green-700); + --color-green-800: var(--green-800); + --color-green-900: var(--green-900); + + --color-blue-100: var(--blue-100); + --color-blue-200: var(--blue-200); + --color-blue-300: var(--blue-300); + --color-blue-400: var(--blue-400); + --color-blue-500: var(--blue-500); + --color-blue-600: var(--blue-600); + --color-blue-700: var(--blue-700); + --color-blue-800: var(--blue-800); + --color-blue-900: var(--blue-900); + + --color-purple-100: var(--purple-100); + --color-purple-200: var(--purple-200); + --color-purple-300: var(--purple-300); + --color-purple-400: var(--purple-400); + --color-purple-500: var(--purple-500); + --color-purple-600: var(--purple-600); + --color-purple-700: var(--purple-700); + --color-purple-800: var(--purple-800); + --color-purple-900: var(--purple-900); +} + +/* + The default border color has changed to `currentColor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentColor); + } +} html { background-color: var(--primary-light); diff --git a/src/pages/Profile.tsx b/src/pages/Profile.tsx index b76cfe44..cddda180 100644 --- a/src/pages/Profile.tsx +++ b/src/pages/Profile.tsx @@ -53,7 +53,7 @@ export default function Profile() {
    • { dispatch( changeLanguage({ language: e.target.value as Language }) diff --git a/src/pages/ShowDetail.tsx b/src/pages/ShowDetail.tsx index aae68a81..bbb44d01 100644 --- a/src/pages/ShowDetail.tsx +++ b/src/pages/ShowDetail.tsx @@ -193,9 +193,9 @@ export default function ShowDetail() { (progress?.aired ?? 1) )}% completado` : `${progress?.completed}/${progress?.aired} episodios`} -
      +
      Search -
      +
      Date: Sun, 2 Feb 2025 20:48:12 +0100 Subject: [PATCH 13/14] :sparkles: added ability to hide shows from list --- src/assets/eye-disable-svgrepo-com.svg | 5 +++ src/assets/eye-svgrepo-com.svg | 5 +++ .../ufo-3-svgrepo-com.svg:Zone.Identifier | 0 src/components/Icon.tsx | 4 +++ src/components/Image.tsx | 5 ++- src/hooks/useIsWatch.tsx | 5 +++ src/models/Api.ts | 20 +++++++++++ src/pages/ShowDetail.tsx | 21 +++++++++-- src/pages/shows/ShowsWatched.tsx | 15 ++++++-- src/state/firstLoadAction.ts | 10 +++++- src/state/middleware.ts | 13 +++++++ src/state/slices/shows/index.ts | 23 ++++++++++++ src/state/slices/shows/thunks.ts | 24 +++++++++++++ src/utils/api.ts | 36 +++++++++++++++++++ src/utils/db.ts | 5 +++ 15 files changed, 184 insertions(+), 7 deletions(-) create mode 100644 src/assets/eye-disable-svgrepo-com.svg create mode 100644 src/assets/eye-svgrepo-com.svg delete mode 100644 src/assets/ufo-3-svgrepo-com.svg:Zone.Identifier diff --git a/src/assets/eye-disable-svgrepo-com.svg b/src/assets/eye-disable-svgrepo-com.svg new file mode 100644 index 00000000..389f7208 --- /dev/null +++ b/src/assets/eye-disable-svgrepo-com.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/eye-svgrepo-com.svg b/src/assets/eye-svgrepo-com.svg new file mode 100644 index 00000000..253a42d4 --- /dev/null +++ b/src/assets/eye-svgrepo-com.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/ufo-3-svgrepo-com.svg:Zone.Identifier b/src/assets/ufo-3-svgrepo-com.svg:Zone.Identifier deleted file mode 100644 index e69de29b..00000000 diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index 1e0e190f..b3d79004 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -16,6 +16,8 @@ import Like from 'assets/like-svgrepo-com.svg?react'; import Play from 'assets/play-circle-svgrepo-com.svg?react'; import Logout from 'assets/logout-2-svgrepo-com.svg?react'; import Ufo from 'assets/ufo-3-svgrepo-com.svg?react'; +import Hidden from 'assets/eye-svgrepo-com.svg?react'; +import NoHidden from 'assets/eye-disable-svgrepo-com.svg?react'; import { ThemeContext } from 'contexts/ThemeContext'; import React, { HTMLProps, useContext } from 'react'; @@ -38,6 +40,8 @@ const iconsMap = { play: , logout: , ufo: , + hidden: , + 'no-hidden': , } as const; interface IconProps extends HTMLProps { diff --git a/src/components/Image.tsx b/src/components/Image.tsx index 992526b3..df17bb00 100644 --- a/src/components/Image.tsx +++ b/src/components/Image.tsx @@ -24,7 +24,7 @@ const Image: React.FC> = ({ size = 'small', ...props }) => { - const { isWatchlist, isWatched } = useIsWatch(); + const { isWatchlist, isWatched, isHidden } = useIsWatch(); const [ref, inView] = useInView({ unobserveOnEnter: true }); const { imgUrl, imgPreview, message } = useImage( @@ -36,6 +36,9 @@ const Image: React.FC> = ({ const getBorderClass = () => { if (type === 'person') return ''; + if (isHidden(ids.trakt)) { + return 'border-2 brightness-70 opacity-50'; + } if (isWatched(ids.trakt, type)) { return 'border-2 border-green-400'; } diff --git a/src/hooks/useIsWatch.tsx b/src/hooks/useIsWatch.tsx index 71e28b3c..d30cb2d8 100644 --- a/src/hooks/useIsWatch.tsx +++ b/src/hooks/useIsWatch.tsx @@ -22,8 +22,13 @@ export const useIsWatch = () => { } }; + const isHidden = (id: number) => { + return shows.hidden[id]; + }; + return { isWatched, isWatchlist, + isHidden, }; }; diff --git a/src/models/Api.ts b/src/models/Api.ts index 9bfc1843..65242097 100644 --- a/src/models/Api.ts +++ b/src/models/Api.ts @@ -35,6 +35,26 @@ export interface RemovedWatchlist { not_found: BaseNotFound; } +export interface HiddenShow { + hidden_at: string; + type: 'show'; + show: { + title: string; + year: number; + ids: Ids; + }; +} + +export interface AddedHidden { + added: ItemsCount; + not_found: BaseNotFound; +} + +export interface RemoveHidden { + deleted: ItemsCount; + not_found: BaseNotFound; +} + interface Distribution { '1': number; '2': number; diff --git a/src/pages/ShowDetail.tsx b/src/pages/ShowDetail.tsx index bbb44d01..7b1be80a 100644 --- a/src/pages/ShowDetail.tsx +++ b/src/pages/ShowDetail.tsx @@ -1,7 +1,7 @@ import React, { useContext, useEffect, useState } from 'react'; import { useLocation, useParams } from 'react-router'; import { useAppDispatch, useAppSelector } from 'state/store'; -import { populateDetail } from 'state/slices/shows/thunks'; +import { populateDetail, toggleHidden } from 'state/slices/shows/thunks'; import Collapsable from '../components/Collapsable/Collapsable'; import Emoji from '../components/Emoji'; import Genres from '../components/Genres'; @@ -22,6 +22,7 @@ import { useIsWatch } from '../hooks/useIsWatch'; import { Ratings } from '../models/Api'; import { Show, ShowWatched } from '../models/Show'; +// TODO translate enum status { 'returning series' = 'en antena', 'in production' = 'en producci贸n', @@ -46,7 +47,7 @@ export default function ShowDetail() { const dispatch = useAppDispatch(); const { t } = useTranslate(); - const { isWatchlist, isWatched } = useIsWatch(); + const { isWatchlist, isWatched, isHidden } = useIsWatch(); useEffect(() => { window.scrollTo(0, 0); @@ -69,6 +70,9 @@ export default function ShowDetail() { if (!item) { return; } + if (isHidden(+id!)) { + return 'bg-green-800'; + } if (isWatched(+id!, 'show')) { return 'bg-green-400'; } @@ -86,6 +90,12 @@ export default function ShowDetail() { }); }; + const onToggleHidden = () => { + if (item) { + dispatch(toggleHidden(item.ids.trakt)); + } + }; + return item ? (
      @@ -171,6 +181,13 @@ export default function ShowDetail() {

      {status[item.status]}

      +

      {item.runtime || '?'} mins

      diff --git a/src/pages/shows/ShowsWatched.tsx b/src/pages/shows/ShowsWatched.tsx index dfa3adbf..d7ad2e23 100644 --- a/src/pages/shows/ShowsWatched.tsx +++ b/src/pages/shows/ShowsWatched.tsx @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { filterByGenres } from 'state/slices/shows'; +import { filterByGenres, getHidden } from 'state/slices/shows'; import { useAppSelector } from 'state/store'; import ImageLink from '../../components/ImageLink'; import PaginationContainer from '../../components/Pagination/PaginationContainer'; @@ -10,12 +10,21 @@ import { NoResults } from 'components/NoResults'; const ShowsWatched: React.FC = () => { const [genres, setGenres] = useState([]); const { watched } = useAppSelector(filterByGenres(genres)); + const hidden = useAppSelector(getHidden); const orderedShows = watched.sort((a, b) => { - if (!a.progress?.next_episode || a.progress?.next_episode?.season === 0) { + if ( + !a.progress?.next_episode || + a.progress?.next_episode?.season === 0 || + hidden[a.show.ids.trakt] + ) { return 1; } - if (!b.progress?.next_episode || b.progress?.next_episode?.season === 0) { + if ( + !b.progress?.next_episode || + b.progress?.next_episode?.season === 0 || + hidden[b.show.ids.trakt] + ) { return -1; } const aDate = new Date(a.progress?.last_watched_at ?? ''); diff --git a/src/state/firstLoadAction.ts b/src/state/firstLoadAction.ts index 1e85817d..f990033e 100644 --- a/src/state/firstLoadAction.ts +++ b/src/state/firstLoadAction.ts @@ -1,11 +1,13 @@ -import { getWatchedApi, getWatchlistApi } from 'utils/api'; +import { getHiddenShows, getWatchedApi, getWatchlistApi } from 'utils/api'; import db from 'utils/db'; import { set as setMovies, remove as removeMovies } from './slices/movies'; import { set as setShows, + setHidden, addWatched as addWatchedShow, remove as removeShows, updateShow, + updateHidden, } from './slices/shows'; import { store } from './store'; import { getMovie } from './slices/movies/thunks'; @@ -14,6 +16,7 @@ import equal from 'fast-deep-equal'; import { ShowWatched, ShowWatchlist } from '../models/Show'; import { MovieWatched, MovieWatchlist } from '../models/Movie'; import { differenceInHours } from 'date-fns'; +import { Ids } from '../models/Ids'; const _mustUpdateByHours = (old: string, newer: string) => { // usually field updated_at from getWatchedApi/getWatchedApi and getApi does not match exactly @@ -173,7 +176,12 @@ const loadWatchedShows = async () => { .toArray(); store.dispatch(setShows(showsWatched)); + const showsHidden = await db.table('shows-hidden').toArray(); + store.dispatch(setHidden(showsHidden)); + const { data } = await getWatchedApi('show'); + const { data: hidden } = await getHiddenShows(); + store.dispatch(updateHidden(hidden.map((s) => s.show.ids))); const showsToDelete = showsWatched.filter( (s) => !data.some((sd) => sd.show.ids.trakt === s.show.ids.trakt) diff --git a/src/state/middleware.ts b/src/state/middleware.ts index 29a75d9e..85f663da 100644 --- a/src/state/middleware.ts +++ b/src/state/middleware.ts @@ -18,6 +18,7 @@ import { updateProgress, updateTranslation as updateTranslationShow, updateSeasons, + updateHidden, } from './slices/shows'; import { addEpisodeWatched, @@ -26,12 +27,14 @@ import { removeEpisodeWatched, removeSeasonWatched, removeWatchlist as removeWatchlistShow, + toggleHidden, updateFullShow, } from './slices/shows/thunks'; import { changeLanguage } from './slices/config'; const MOVIES = 'movies'; const SHOWS = 'shows'; +const HIDDENSHOWS = 'shows-hidden'; export const dbMiddleware: Middleware = (store) => (next) => (action) => { if (isAnyOf(addWatchedMovie.fulfilled)(action)) { @@ -127,6 +130,16 @@ export const dbMiddleware: Middleware = (store) => (next) => (action) => { }); } else if (isAnyOf(changeLanguage.fulfilled)(action)) { localStorage.setItem('language', action.meta.arg.language); + } else if (isAnyOf(updateHidden)(action)) { + db.table(HIDDENSHOWS) + .clear() + .then(() => db.table(HIDDENSHOWS).bulkPut(action.payload)); + } else if (isAnyOf(toggleHidden.fulfilled)(action)) { + if (action.payload) { + db.table(HIDDENSHOWS).put({ trakt: action.meta.arg }, action.meta.arg); + } else { + db.table(HIDDENSHOWS).delete(action.meta.arg); + } } return next(action); diff --git a/src/state/slices/shows/index.ts b/src/state/slices/shows/index.ts index d8a0c7ec..0ca4c61c 100644 --- a/src/state/slices/shows/index.ts +++ b/src/state/slices/shows/index.ts @@ -9,6 +9,7 @@ import { removeEpisodeWatched, removeSeasonWatched, removeWatchlist, + toggleHidden, updateFullShow, } from './thunks'; import { @@ -18,6 +19,7 @@ import { ShowWatched, ShowWatchlist, } from '../../../models/Show'; +import { Ids } from '../../../models/Ids'; interface ShowsState { totalRequestsPending: number; @@ -28,6 +30,7 @@ interface ShowsState { }; detail?: Show; shows: Record; + hidden: Record; } const initialState: ShowsState = { @@ -38,6 +41,7 @@ const initialState: ShowsState = { seasons: [], }, shows: {}, + hidden: {}, }; const showsSlice = createSlice({ @@ -49,6 +53,18 @@ const showsSlice = createSlice({ state.shows[show.show.ids.trakt] = show; }); }, + setHidden(state, { payload }: PayloadAction>) { + payload.forEach((ids) => { + state.hidden = {}; + state.hidden[ids.trakt] = true; + }); + }, + updateHidden(state, { payload }: PayloadAction>) { + payload.forEach((ids) => { + state.hidden = {}; + state.hidden[ids.trakt] = true; + }); + }, addWatched(state, { payload }: PayloadAction) { state.shows[payload.show.ids.trakt] = payload; }, @@ -240,6 +256,9 @@ const showsSlice = createSlice({ }) .addCase(populateDetail.rejected, (state) => { state.detail = undefined; + }) + .addCase(toggleHidden.fulfilled, (state, { payload, meta }) => { + state.hidden[meta.arg] = payload; }); }, }); @@ -247,6 +266,8 @@ const showsSlice = createSlice({ // actions export const { set, + setHidden, + updateHidden, addWatched, updateShow, updateSeasons, @@ -294,3 +315,5 @@ export const filterByGenres = (genres: string[]) => export const totalByType = createSelector(byType, ({ watchlist, watched }) => { return { watchlist: watchlist.length, watched: watched.length }; }); + +export const getHidden = (state: RootState) => state.shows.hidden; diff --git a/src/state/slices/shows/thunks.ts b/src/state/slices/shows/thunks.ts index b25229e4..90991ead 100644 --- a/src/state/slices/shows/thunks.ts +++ b/src/state/slices/shows/thunks.ts @@ -1,12 +1,14 @@ import { createAsyncThunk } from '@reduxjs/toolkit'; import { RootState } from 'state/store'; import { + addHideShow, addWatchedApi, addWatchlistApi, getApi, getProgressApi, getSeasonsApi, getTranslationsApi, + removeHideShow, removeWatchedApi, removeWatchlistApi, } from 'utils/api'; @@ -265,3 +267,25 @@ export const populateDetail = createAsyncThunk< throw e; } }); + +export const toggleHidden = createAsyncThunk< + boolean, + number, + { state: RootState } +>('shows/toggleHidden', async (id, { getState }) => { + const state = getState(); + const isHidden = state.shows.hidden[id]; + + try { + if (isHidden) { + const response = await removeHideShow(id); + return response.data.deleted.shows === 1 ? false : true; + } + + const response = await addHideShow(id); + return response.data.added.shows === 1 ? true : false; + } catch (e) { + console.error(e); + throw e; + } +}); diff --git a/src/utils/api.ts b/src/utils/api.ts index 2dca6ddc..b12fe893 100644 --- a/src/utils/api.ts +++ b/src/utils/api.ts @@ -20,13 +20,16 @@ import { import { Translation } from '../models/Translation'; import { Movie, MovieWatched, MovieWatchlist } from '../models/Movie'; import { + AddedHidden, AddedWatched, AddedWatchlist, + HiddenShow, MovieCalendar, Profile, Ratings, RemovedWatched, RemovedWatchlist, + RemoveHidden, ShowCalendar, UserStats, } from '../models/Api'; @@ -227,3 +230,36 @@ export const getCalendar = ( `/calendars/my/${type}s/${firstDaxios}/${period}` ); }; + +export const getHiddenShows = () => { + return authTraktClient.get( + `/users/hidden/progress_watched?type=show` + ); +}; + +export const addHideShow = (id: number) => { + return authTraktClient.post(`/users/hidden/progress_watched`, { + shows: [ + { + ids: { + trakt: id, + }, + }, + ], + }); +}; + +export const removeHideShow = (id: number) => { + return authTraktClient.post( + `/users/hidden/progress_watched/remove`, + { + shows: [ + { + ids: { + trakt: id, + }, + }, + ], + } + ); +}; diff --git a/src/utils/db.ts b/src/utils/db.ts index b51249ff..200225e6 100644 --- a/src/utils/db.ts +++ b/src/utils/db.ts @@ -6,5 +6,10 @@ db.version(1).stores({ movies: 'movie.ids.trakt,localState', shows: 'show.ids.trakt,localState', }); +db.version(2).stores({ + movies: 'movie.ids.trakt,localState', + shows: 'show.ids.trakt,localState', + 'shows-hidden': 'trakt', +}); export default db; From 840889f38b11914c57712b3a02d8a06451032b92 Mon Sep 17 00:00:00 2001 From: Vicente Date: Tue, 4 Feb 2025 18:03:57 +0100 Subject: [PATCH 14/14] :bug: added missing translation --- src/hooks/useTranslate.ts | 10 ++++++++++ src/pages/ShowDetail.tsx | 11 +---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/hooks/useTranslate.ts b/src/hooks/useTranslate.ts index 2eb7016b..bc365dcf 100644 --- a/src/hooks/useTranslate.ts +++ b/src/hooks/useTranslate.ts @@ -68,6 +68,11 @@ const en = { system: 'System', direction: 'Director', cast: 'Cast', + 'returning series': 'returning series', + 'in production': 'in production', + planned: 'planned', + canceled: 'canceled', + ended: 'ended', }; const es = { @@ -137,6 +142,11 @@ const es = { system: 'Sistema', direction: 'Direcci贸n', cast: 'Reparto', + 'returning series': 'en antena', + 'in production': 'en producci贸n', + planned: 'planeada', + canceled: 'cancelada', + ended: 'terminada', }; const translations: Record> = { diff --git a/src/pages/ShowDetail.tsx b/src/pages/ShowDetail.tsx index 7b1be80a..b9cee6c3 100644 --- a/src/pages/ShowDetail.tsx +++ b/src/pages/ShowDetail.tsx @@ -22,15 +22,6 @@ import { useIsWatch } from '../hooks/useIsWatch'; import { Ratings } from '../models/Api'; import { Show, ShowWatched } from '../models/Show'; -// TODO translate -enum status { - 'returning series' = 'en antena', - 'in production' = 'en producci贸n', - planned = 'planeada', - canceled = 'cancelada', - ended = 'terminada', -} - export default function ShowDetail() { const [people, setPeople] = useState(); const [ratings, setRatings] = useState(); @@ -179,7 +170,7 @@ export default function ShowDetail() {

      - {status[item.status]} + {t(item.status)}