diff --git a/package.json b/package.json
index 543a1527..1c4fb0a5 100644
--- a/package.json
+++ b/package.json
@@ -23,21 +23,21 @@
"embla-carousel-react": "^7.1.0",
"fast-blurhash": "^1.1.2",
"image-conversion": "^2.1.1",
+ "preact": "^10.13.1",
"prop-types": "^15.8.1",
- "react": "^18.2.0",
"react-clock": "4.1.0",
"react-color-gradient-picker": "0.1.2",
- "react-dom": "^18.2.0",
"react-icons": "^4.8.0",
"react-modal": "3.16.1",
"react-sortable-hoc": "2.0.0",
"react-toastify": "9.1.1"
},
"devDependencies": {
+ "@babel/plugin-transform-react-jsx": "^7.21.0",
"@commitlint/cli": "^17.4.4",
"@commitlint/config-conventional": "^17.4.4",
"@eartharoid/deep-merge": "^0.0.2",
- "@vitejs/plugin-react-swc": "^3.2.0",
+ "@preact/preset-vite": "^2.5.0",
"adm-zip": "^0.5.10",
"eslint": "^8.36.0",
"eslint-config-prettier": "^8.7.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 04e0314a..c517388b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,6 +1,7 @@
lockfileVersion: 5.4
specifiers:
+ '@babel/plugin-transform-react-jsx': ^7.21.0
'@commitlint/cli': ^17.4.4
'@commitlint/config-conventional': ^17.4.4
'@eartharoid/deep-merge': ^0.0.2
@@ -11,8 +12,8 @@ specifiers:
'@fontsource/lexend-deca': 4.5.14
'@fontsource/montserrat': 4.5.14
'@mui/material': 5.11.13
+ '@preact/preset-vite': ^2.5.0
'@sentry/react': ^7.42.0
- '@vitejs/plugin-react-swc': ^3.2.0
adm-zip: ^0.5.10
embla-carousel-autoplay: ^7.1.0
embla-carousel-react: ^7.1.0
@@ -22,12 +23,11 @@ specifiers:
fast-blurhash: ^1.1.2
husky: ^8.0.3
image-conversion: ^2.1.1
+ preact: ^10.13.1
prettier: ^2.8.4
prop-types: ^15.8.1
- react: ^18.2.0
react-clock: 4.1.0
react-color-gradient-picker: 0.1.2
- react-dom: ^18.2.0
react-icons: ^4.8.0
react-modal: 3.16.1
react-sortable-hoc: 2.0.0
@@ -42,36 +42,36 @@ specifiers:
dependencies:
'@eartharoid/i18n': 1.2.1
- '@emotion/react': 11.10.6_react@18.2.0
- '@emotion/styled': 11.10.6_3og6jmu6wvzuytygvdoxepq3x4
- '@floating-ui/react-dom': 1.3.0_biqbaboplfbrettd7655fr4n2y
+ '@emotion/react': 11.10.6
+ '@emotion/styled': 11.10.6_@emotion+react@11.10.6
+ '@floating-ui/react-dom': 1.3.0
'@fontsource/lexend-deca': 4.5.14
'@fontsource/montserrat': 4.5.14
- '@mui/material': 5.11.13_fbxtuirhogpez7m7qjkm3itwca
- '@sentry/react': 7.43.0_react@18.2.0
+ '@mui/material': 5.11.13_4b65gej4s4ehqmzxoznt4rfucq
+ '@sentry/react': 7.43.0
embla-carousel-autoplay: 7.1.0
- embla-carousel-react: 7.1.0_react@18.2.0
+ embla-carousel-react: 7.1.0
fast-blurhash: 1.1.2
image-conversion: 2.1.1
+ preact: 10.13.1
prop-types: 15.8.1
- react: 18.2.0
- react-clock: 4.1.0_biqbaboplfbrettd7655fr4n2y
- react-color-gradient-picker: 0.1.2_biqbaboplfbrettd7655fr4n2y
- react-dom: 18.2.0_react@18.2.0
- react-icons: 4.8.0_react@18.2.0
- react-modal: 3.16.1_biqbaboplfbrettd7655fr4n2y
- react-sortable-hoc: 2.0.0_v2m5e27vhdewzwhryxwfaorcca
- react-toastify: 9.1.1_biqbaboplfbrettd7655fr4n2y
+ react-clock: 4.1.0
+ react-color-gradient-picker: 0.1.2
+ react-icons: 4.8.0
+ react-modal: 3.16.1
+ react-sortable-hoc: 2.0.0_prop-types@15.8.1
+ react-toastify: 9.1.1
devDependencies:
+ '@babel/plugin-transform-react-jsx': 7.21.0
'@commitlint/cli': 17.4.4
'@commitlint/config-conventional': 17.4.4
'@eartharoid/deep-merge': 0.0.2
- '@vitejs/plugin-react-swc': 3.2.0_vite@4.1.4
+ '@preact/preset-vite': 2.5.0_preact@10.13.1+vite@4.1.4
adm-zip: 0.5.10
eslint: 8.36.0
eslint-config-prettier: 8.7.0_eslint@8.36.0
- eslint-config-react-app: 7.0.1_eslint@8.36.0
+ eslint-config-react-app: 7.0.1_44syqav6pho53vetdpzbvjhpoe
husky: 8.0.3
prettier: 2.8.4
sass: 1.59.2
@@ -116,7 +116,7 @@ packages:
'@babel/parser': 7.20.7
'@babel/template': 7.20.7
'@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
convert-source-map: 1.9.0
debug: 4.3.4
gensync: 1.0.0-beta.2
@@ -144,7 +144,7 @@ packages:
resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
'@jridgewell/gen-mapping': 0.3.2
jsesc: 2.5.2
dev: true
@@ -163,7 +163,7 @@ packages:
resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-builder-binary-assignment-operator-visitor/7.18.9:
@@ -251,7 +251,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.20.7
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-function-name/7.21.0:
@@ -266,7 +266,7 @@ packages:
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-member-expression-to-functions/7.21.0:
@@ -280,7 +280,7 @@ packages:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
/@babel/helper-module-transforms/7.20.11:
resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==}
@@ -293,7 +293,7 @@ packages:
'@babel/helper-validator-identifier': 7.19.1
'@babel/template': 7.20.7
'@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -350,7 +350,7 @@ packages:
'@babel/helper-optimise-call-expression': 7.18.6
'@babel/template': 7.20.7
'@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -359,21 +359,21 @@ packages:
resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-skip-transparent-expression-wrappers/7.20.0:
resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-split-export-declaration/7.18.6:
resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/helper-string-parser/7.19.4:
@@ -412,7 +412,7 @@ packages:
dependencies:
'@babel/template': 7.20.7
'@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -430,7 +430,7 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/parser/7.21.2:
@@ -748,6 +748,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-jsx/7.18.6:
+ resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
/@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
engines: {node: '>=6.9.0'}
@@ -1131,6 +1140,15 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-transform-react-jsx-development/7.18.6:
+ resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/plugin-transform-react-jsx': 7.21.0
+ dev: true
+
/@babel/plugin-transform-react-jsx-development/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==}
engines: {node: '>=6.9.0'}
@@ -1141,6 +1159,19 @@ packages:
'@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.20.12
dev: true
+ /@babel/plugin-transform-react-jsx/7.21.0:
+ resolution: {integrity: sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-jsx': 7.18.6
+ '@babel/types': 7.21.2
+ dev: true
+
/@babel/plugin-transform-react-jsx/7.21.0_@babel+core@7.20.12:
resolution: {integrity: sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==}
engines: {node: '>=6.9.0'}
@@ -1366,7 +1397,7 @@ packages:
'@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.12
'@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.12
'@babel/preset-modules': 0.1.5_@babel+core@7.20.12
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.12
babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.12
babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.12
@@ -1441,7 +1472,7 @@ packages:
dependencies:
'@babel/code-frame': 7.18.6
'@babel/parser': 7.20.7
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
dev: true
/@babel/traverse/7.20.12:
@@ -1455,7 +1486,7 @@ packages:
'@babel/helper-hoist-variables': 7.18.6
'@babel/helper-split-export-declaration': 7.18.6
'@babel/parser': 7.20.7
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
@@ -1480,14 +1511,6 @@ packages:
- supports-color
dev: true
- /@babel/types/7.20.7:
- resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.19.4
- '@babel/helper-validator-identifier': 7.19.1
- to-fast-properties: 2.0.0
-
/@babel/types/7.21.2:
resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==}
engines: {node: '>=6.9.0'}
@@ -1495,7 +1518,6 @@ packages:
'@babel/helper-string-parser': 7.19.4
'@babel/helper-validator-identifier': 7.19.1
to-fast-properties: 2.0.0
- dev: true
/@commitlint/cli/17.4.4:
resolution: {integrity: sha512-HwKlD7CPVMVGTAeFZylVNy14Vm5POVY0WxPkZr7EXLC/os0LH/obs6z4HRvJtH/nHCMYBvUBQhGwnufKfTjd5g==}
@@ -1756,7 +1778,7 @@ packages:
resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==}
dev: false
- /@emotion/react/11.10.6_react@18.2.0:
+ /@emotion/react/11.10.6:
resolution: {integrity: sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==}
peerDependencies:
'@types/react': '*'
@@ -1769,11 +1791,10 @@ packages:
'@emotion/babel-plugin': 11.10.6
'@emotion/cache': 11.10.5
'@emotion/serialize': 1.1.1
- '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.0
'@emotion/utils': 1.2.0
'@emotion/weak-memoize': 0.3.0
hoist-non-react-statics: 3.3.2
- react: 18.2.0
dev: false
/@emotion/serialize/1.1.1:
@@ -1790,7 +1811,7 @@ packages:
resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==}
dev: false
- /@emotion/styled/11.10.6_3og6jmu6wvzuytygvdoxepq3x4:
+ /@emotion/styled/11.10.6_@emotion+react@11.10.6:
resolution: {integrity: sha512-OXtBzOmDSJo5Q0AFemHCfl+bUueT8BIcPSxu0EGTpGk6DmI5dnhSzQANm1e1ze0YZL7TDyAyy6s/b/zmGOS3Og==}
peerDependencies:
'@emotion/react': ^11.0.0-rc.0
@@ -1803,23 +1824,20 @@ packages:
'@babel/runtime': 7.21.0
'@emotion/babel-plugin': 11.10.6
'@emotion/is-prop-valid': 1.2.0
- '@emotion/react': 11.10.6_react@18.2.0
+ '@emotion/react': 11.10.6
'@emotion/serialize': 1.1.1
- '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.0
'@emotion/utils': 1.2.0
- react: 18.2.0
dev: false
/@emotion/unitless/0.8.0:
resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==}
dev: false
- /@emotion/use-insertion-effect-with-fallbacks/1.0.0_react@18.2.0:
+ /@emotion/use-insertion-effect-with-fallbacks/1.0.0:
resolution: {integrity: sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==}
peerDependencies:
react: '>=16.8.0'
- dependencies:
- react: 18.2.0
dev: false
/@emotion/utils/1.2.0:
@@ -2075,15 +2093,13 @@ packages:
'@floating-ui/core': 1.2.3
dev: false
- /@floating-ui/react-dom/1.3.0_biqbaboplfbrettd7655fr4n2y:
+ /@floating-ui/react-dom/1.3.0:
resolution: {integrity: sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@floating-ui/dom': 1.2.4
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
dev: false
/@fontsource/lexend-deca/4.5.14:
@@ -2159,7 +2175,7 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.14
dev: true
- /@mui/base/5.0.0-alpha.121_biqbaboplfbrettd7655fr4n2y:
+ /@mui/base/5.0.0-alpha.121:
resolution: {integrity: sha512-8nJRY76UqlJV+q/Yzo0tgGfPWEOa+4N9rjO81fMmcJqP0I6m54hLDXsjvMg4tvelY5eKHXUK6Tb7en+GHfTqZA==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -2173,12 +2189,10 @@ packages:
'@babel/runtime': 7.21.0
'@emotion/is-prop-valid': 1.2.0
'@mui/types': 7.2.3
- '@mui/utils': 5.11.13_react@18.2.0
+ '@mui/utils': 5.11.13
'@popperjs/core': 2.11.6
clsx: 1.2.1
prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
react-is: 18.2.0
dev: false
@@ -2186,7 +2200,7 @@ packages:
resolution: {integrity: sha512-lx+GXBR9h/ApZsEP728tl0pyZyuajto+VnBgsoAzw1d5+CbmOo8ZWieKwVUGxZlPT1wMYNUYS5NtKzCli0xYjw==}
dev: false
- /@mui/material/5.11.13_fbxtuirhogpez7m7qjkm3itwca:
+ /@mui/material/5.11.13_4b65gej4s4ehqmzxoznt4rfucq:
resolution: {integrity: sha512-2CnSj43F+159LbGmTLLQs5xbGYMiYlpTByQhP7c7cMX6opbScctBFE1PuyElpAmwW8Ag9ysfZH1d1MFAmJQkjg==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -2204,24 +2218,22 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.21.0
- '@emotion/react': 11.10.6_react@18.2.0
- '@emotion/styled': 11.10.6_3og6jmu6wvzuytygvdoxepq3x4
- '@mui/base': 5.0.0-alpha.121_biqbaboplfbrettd7655fr4n2y
+ '@emotion/react': 11.10.6
+ '@emotion/styled': 11.10.6_@emotion+react@11.10.6
+ '@mui/base': 5.0.0-alpha.121
'@mui/core-downloads-tracker': 5.11.13
- '@mui/system': 5.11.13_xqp3pgpqjlfxxa3zxu4zoc4fba
+ '@mui/system': 5.11.13_4b65gej4s4ehqmzxoznt4rfucq
'@mui/types': 7.2.3
- '@mui/utils': 5.11.13_react@18.2.0
+ '@mui/utils': 5.11.13
'@types/react-transition-group': 4.4.5
clsx: 1.2.1
csstype: 3.1.1
prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
react-is: 18.2.0
- react-transition-group: 4.4.5_biqbaboplfbrettd7655fr4n2y
+ react-transition-group: 4.4.5
dev: false
- /@mui/private-theming/5.11.13_react@18.2.0:
+ /@mui/private-theming/5.11.13:
resolution: {integrity: sha512-PJnYNKzW5LIx3R+Zsp6WZVPs6w5sEKJ7mgLNnUXuYB1zo5aX71FVLtV7geyPXRcaN2tsoRNK7h444ED0t7cIjA==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -2232,12 +2244,11 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.21.0
- '@mui/utils': 5.11.13_react@18.2.0
+ '@mui/utils': 5.11.13
prop-types: 15.8.1
- react: 18.2.0
dev: false
- /@mui/styled-engine/5.11.11_xqp3pgpqjlfxxa3zxu4zoc4fba:
+ /@mui/styled-engine/5.11.11_4b65gej4s4ehqmzxoznt4rfucq:
resolution: {integrity: sha512-wV0UgW4lN5FkDBXefN8eTYeuE9sjyQdg5h94vtwZCUamGQEzmCOtir4AakgmbWMy0x8OLjdEUESn9wnf5J9MOg==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -2252,14 +2263,13 @@ packages:
dependencies:
'@babel/runtime': 7.21.0
'@emotion/cache': 11.10.5
- '@emotion/react': 11.10.6_react@18.2.0
- '@emotion/styled': 11.10.6_3og6jmu6wvzuytygvdoxepq3x4
+ '@emotion/react': 11.10.6
+ '@emotion/styled': 11.10.6_@emotion+react@11.10.6
csstype: 3.1.1
prop-types: 15.8.1
- react: 18.2.0
dev: false
- /@mui/system/5.11.13_xqp3pgpqjlfxxa3zxu4zoc4fba:
+ /@mui/system/5.11.13_4b65gej4s4ehqmzxoznt4rfucq:
resolution: {integrity: sha512-OWP0Alp6C8ufnGm9+CZcl3d+OoRXL2PnrRT5ohaMLxvGL9OfNcL2t4JOjMmA0k1UAGd6E/Ygbu5lEPrZSDlvCg==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -2276,16 +2286,15 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.21.0
- '@emotion/react': 11.10.6_react@18.2.0
- '@emotion/styled': 11.10.6_3og6jmu6wvzuytygvdoxepq3x4
- '@mui/private-theming': 5.11.13_react@18.2.0
- '@mui/styled-engine': 5.11.11_xqp3pgpqjlfxxa3zxu4zoc4fba
+ '@emotion/react': 11.10.6
+ '@emotion/styled': 11.10.6_@emotion+react@11.10.6
+ '@mui/private-theming': 5.11.13
+ '@mui/styled-engine': 5.11.11_4b65gej4s4ehqmzxoznt4rfucq
'@mui/types': 7.2.3
- '@mui/utils': 5.11.13_react@18.2.0
+ '@mui/utils': 5.11.13
clsx: 1.2.1
csstype: 3.1.1
prop-types: 15.8.1
- react: 18.2.0
dev: false
/@mui/types/7.2.3:
@@ -2297,7 +2306,7 @@ packages:
optional: true
dev: false
- /@mui/utils/5.11.13_react@18.2.0:
+ /@mui/utils/5.11.13:
resolution: {integrity: sha512-5ltA58MM9euOuUcnvwFJqpLdEugc9XFsRR8Gt4zZNb31XzMfSKJPR4eumulyhsOTK1rWf7K4D63NKFPfX0AxqA==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -2307,7 +2316,6 @@ packages:
'@types/prop-types': 15.7.5
'@types/react-is': 17.0.3
prop-types: 15.8.1
- react: 18.2.0
react-is: 18.2.0
dev: false
@@ -2342,6 +2350,67 @@ packages:
resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==}
dev: false
+ /@preact/preset-vite/2.5.0_preact@10.13.1+vite@4.1.4:
+ resolution: {integrity: sha512-BUhfB2xQ6ex0yPkrT1Z3LbfPzjpJecOZwQ/xJrXGFSZD84+ObyS//41RdEoQCMWsM0t7UHGaujUxUBub7WM1Jw==}
+ peerDependencies:
+ '@babel/core': 7.x
+ vite: 2.x || 3.x || 4.x
+ dependencies:
+ '@babel/plugin-transform-react-jsx': 7.21.0
+ '@babel/plugin-transform-react-jsx-development': 7.18.6
+ '@prefresh/vite': 2.2.9_preact@10.13.1+vite@4.1.4
+ '@rollup/pluginutils': 4.2.1
+ babel-plugin-transform-hook-names: 1.0.2
+ debug: 4.3.4
+ kolorist: 1.7.0
+ resolve: 1.22.1
+ vite: 4.1.4_sass@1.59.2
+ transitivePeerDependencies:
+ - preact
+ - supports-color
+ dev: true
+
+ /@prefresh/babel-plugin/0.4.4:
+ resolution: {integrity: sha512-/EvgIFMDL+nd20WNvMO0JQnzIl1EJPgmSaSYrZUww7A+aSdKsi37aL07TljrZR1cBMuzFxcr4xvqsUQLFJEukw==}
+ dev: true
+
+ /@prefresh/core/1.4.1_preact@10.13.1:
+ resolution: {integrity: sha512-og1vaBj3LMJagVncNrDb37Gqc0cWaUcDbpVt5hZtsN4i2Iwzd/5hyTsDHvlMirhSym3wL9ihU0Xa2VhSaOue7g==}
+ peerDependencies:
+ preact: ^10.0.0
+ dependencies:
+ preact: 10.13.1
+ dev: true
+
+ /@prefresh/utils/1.1.3:
+ resolution: {integrity: sha512-Mb9abhJTOV4yCfkXrMrcgFiFT7MfNOw8sDa+XyZBdq/Ai2p4Zyxqsb3EgHLOEdHpMj6J9aiZ54W8H6FTam1u+A==}
+ dev: true
+
+ /@prefresh/vite/2.2.9_preact@10.13.1+vite@4.1.4:
+ resolution: {integrity: sha512-1ERBF85Ja9/lkrfaltmo4Gca7R2ClQPSHHDDysFgfvPzHmLUeyB0x9WHwhwov/AA1DnyPhsfYT54z3yQd8XrgA==}
+ peerDependencies:
+ preact: ^10.4.0
+ vite: '>=2.0.0-beta.3'
+ dependencies:
+ '@babel/core': 7.20.12
+ '@prefresh/babel-plugin': 0.4.4
+ '@prefresh/core': 1.4.1_preact@10.13.1
+ '@prefresh/utils': 1.1.3
+ '@rollup/pluginutils': 4.2.1
+ preact: 10.13.1
+ vite: 4.1.4_sass@1.59.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@rollup/pluginutils/4.2.1:
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
+ engines: {node: '>= 8.0.0'}
+ dependencies:
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: true
+
/@rushstack/eslint-patch/1.2.0:
resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==}
dev: true
@@ -2366,7 +2435,7 @@ packages:
tslib: 1.14.1
dev: false
- /@sentry/react/7.43.0_react@18.2.0:
+ /@sentry/react/7.43.0:
resolution: {integrity: sha512-HWt0Eh+Y+Z/g+PWgeYWT6+5B+J82gauQ0GydjGeHeeSpoZRPRwWAoRFh+NKM/pe3neVr59VCyn4ghyoE3kODGA==}
engines: {node: '>=8'}
peerDependencies:
@@ -2376,7 +2445,6 @@ packages:
'@sentry/types': 7.43.0
'@sentry/utils': 7.43.0
hoist-non-react-statics: 3.3.2
- react: 18.2.0
tslib: 1.14.1
dev: false
@@ -2402,113 +2470,6 @@ packages:
tslib: 1.14.1
dev: false
- /@swc/core-darwin-arm64/1.3.40:
- resolution: {integrity: sha512-x4JHshTVB2o5xOedLL54/jsKkfUlsMw25tNM5fWkehiKWXlQuxEasl5/roceAFETWm8mEESuL8pWgZaiyTDl4Q==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-darwin-x64/1.3.40:
- resolution: {integrity: sha512-2QaW9HtlvatiQscQACVIyKtj+vAEFEC6Tn+8rqxm8ikYHUD33M/FVXGWEvMLTI7T3P25zjhs+toAlLsjHgfzQQ==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-arm-gnueabihf/1.3.40:
- resolution: {integrity: sha512-cJPgSg8222gezj5Db2S8PNvcALJLokvXqvFjyzRR253SMFFkq9JKWk0uwO3wg8i8jhe78xMB6EO6AteQqFWvCg==}
- engines: {node: '>=10'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-arm64-gnu/1.3.40:
- resolution: {integrity: sha512-s76n4/vpQzV7dpS703m1WnCxyG7OfGk+EeJf+KEl/m6KP7c5MHHOLOf8hpagI/QI1H8jb9j1ADqNu2C7tEUR8Q==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-arm64-musl/1.3.40:
- resolution: {integrity: sha512-aTkeImCq1WrkljAQNnqlbk/1ermotONkBl11GH7Ia+8yhsmgt8ZiNBIi0tJ5UjdfXDtnl58Iek43Vo8LWaPUKA==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-x64-gnu/1.3.40:
- resolution: {integrity: sha512-ZsfVlzXSXvNZBuK1fCrenoLSLVv0Zk7OdmkAG9cWN3bKkc/ynxO+6njXLEKWfv9bRfDBXhxifyHGOVOQlIFIAA==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-linux-x64-musl/1.3.40:
- resolution: {integrity: sha512-5GgMuadbd6fhHg/+7W25i+9OQTW4nTMGECias0BNPlcW8nnohzSphpj5jLI/Ub5bWzMwE2hua6e2uiZ17rTySg==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-win32-arm64-msvc/1.3.40:
- resolution: {integrity: sha512-TqiK28eaK3YOKSp8iESlrrbSzDGRQqM0zR4hvCgfHwL4L1BPh/M0aIMC/vyYh2gqpz2quyNqgi/DxoZ2+WxlUg==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-win32-ia32-msvc/1.3.40:
- resolution: {integrity: sha512-PqtCXFs5+ZbrfFe1VZAcCl8k9h47wE65mKDhDvZ9/SQhXxZX2+f5mUGXuH4G5rA0CyijsVpHnpA/5rqE7f2Sxw==}
- engines: {node: '>=10'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core-win32-x64-msvc/1.3.40:
- resolution: {integrity: sha512-73DGsjsJYSzmoRbfomPj5jcQawtK2H0bCDi/1wgfl8NKVOuzrq+PpaTry3lzx+gvTHxUX6mUHV22i7C9ITL74Q==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@swc/core/1.3.40:
- resolution: {integrity: sha512-ZQJ+NID24PQkPIHnbO2B68YNQ6aMEyDz6dcsZucpRK4r7+aPqQ2yVLaqFcQU9VcGMyo4JJydmokzyTr1roWPIQ==}
- engines: {node: '>=10'}
- requiresBuild: true
- optionalDependencies:
- '@swc/core-darwin-arm64': 1.3.40
- '@swc/core-darwin-x64': 1.3.40
- '@swc/core-linux-arm-gnueabihf': 1.3.40
- '@swc/core-linux-arm64-gnu': 1.3.40
- '@swc/core-linux-arm64-musl': 1.3.40
- '@swc/core-linux-x64-gnu': 1.3.40
- '@swc/core-linux-x64-musl': 1.3.40
- '@swc/core-win32-arm64-msvc': 1.3.40
- '@swc/core-win32-ia32-msvc': 1.3.40
- '@swc/core-win32-x64-msvc': 1.3.40
- dev: true
-
/@tsconfig/node10/1.0.9:
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
dev: true
@@ -2733,15 +2694,6 @@ packages:
eslint-visitor-keys: 3.3.0
dev: true
- /@vitejs/plugin-react-swc/3.2.0_vite@4.1.4:
- resolution: {integrity: sha512-IcBoXL/mcH7JdQr/nfDlDwTdIaH8Rg7LpfQDF4nAht+juHWIuv6WhpKPCSfY4+zztAaB07qdBoFz1XCZsgo3pQ==}
- peerDependencies:
- vite: ^4
- dependencies:
- '@swc/core': 1.3.40
- vite: 4.1.4_sass@1.59.2
- dev: true
-
/@wojtekmaj/date-utils/1.1.2:
resolution: {integrity: sha512-06PQad/6pyYDjInBW2ih4Oy30EAg0mtXTCz+b/fGwzN2JB2X2Zsa4QtHl4I8M+IaCKN8bwj61OW3XAWxh+D9hA==}
dev: false
@@ -2974,6 +2926,12 @@ packages:
- supports-color
dev: true
+ /babel-plugin-transform-hook-names/1.0.2:
+ resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==}
+ peerDependencies:
+ '@babel/core': ^7.12.10
+ dev: true
+
/babel-plugin-transform-react-remove-prop-types/0.4.24:
resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==}
dev: true
@@ -3411,13 +3369,12 @@ packages:
embla-carousel: 7.1.0
dev: false
- /embla-carousel-react/7.1.0_react@18.2.0:
+ /embla-carousel-react/7.1.0:
resolution: {integrity: sha512-tbYRPRZSDNd2QLNqYDcArAakGIxtUbhS7tkP0dGXktXHGgcX+3ji3VrOUTOftBiujZrMV8kRxtrRUe/1soloIQ==}
peerDependencies:
react: ^16.8.0 || ^17.0.1 || ^18.0.0
dependencies:
embla-carousel: 7.1.0
- react: 18.2.0
dev: false
/embla-carousel/7.1.0:
@@ -3567,7 +3524,7 @@ packages:
eslint: 8.36.0
dev: true
- /eslint-config-react-app/7.0.1_eslint@8.36.0:
+ /eslint-config-react-app/7.0.1_44syqav6pho53vetdpzbvjhpoe:
resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -3585,7 +3542,7 @@ packages:
babel-preset-react-app: 10.0.1
confusing-browser-globals: 1.0.11
eslint: 8.36.0
- eslint-plugin-flowtype: 8.0.3_eslint@8.36.0
+ eslint-plugin-flowtype: 8.0.3_44syqav6pho53vetdpzbvjhpoe
eslint-plugin-import: 2.27.5_a7er6olmtneep4uytpot6gt7wu
eslint-plugin-jest: 25.7.0_dchlkxfdm6cbfc25bfo3oeha6e
eslint-plugin-jsx-a11y: 6.7.1_eslint@8.36.0
@@ -3640,7 +3597,7 @@ packages:
- supports-color
dev: true
- /eslint-plugin-flowtype/8.0.3_eslint@8.36.0:
+ /eslint-plugin-flowtype/8.0.3_44syqav6pho53vetdpzbvjhpoe:
resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -3648,6 +3605,7 @@ packages:
'@babel/plugin-transform-react-jsx': ^7.14.9
eslint: ^8.1.0
dependencies:
+ '@babel/plugin-transform-react-jsx': 7.21.0
eslint: 8.36.0
lodash: 4.17.21
string-natural-compare: 3.0.1
@@ -3886,6 +3844,10 @@ packages:
engines: {node: '>=4.0'}
dev: true
+ /estree-walker/2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: true
+
/esutils/2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -4608,6 +4570,10 @@ packages:
resolution: {integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==}
dev: true
+ /kolorist/1.7.0:
+ resolution: {integrity: sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==}
+ dev: true
+
/language-subtag-registry/0.3.22:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
dev: true
@@ -5092,6 +5058,9 @@ packages:
source-map-js: 1.0.2
dev: true
+ /preact/10.13.1:
+ resolution: {integrity: sha512-KyoXVDU5OqTpG9LXlB3+y639JAGzl8JSBXLn1J9HTSB3gbKcuInga7bZnXLlxmK94ntTs1EFeZp0lrja2AuBYQ==}
+
/prelude-ls/1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -5140,7 +5109,7 @@ packages:
'@types/node': 10.17.60
dev: true
- /react-clock/4.1.0_biqbaboplfbrettd7655fr4n2y:
+ /react-clock/4.1.0:
resolution: {integrity: sha512-1BxIDxH8PcEBEUZDIXXS2njK5Gb84U5egTKXZDimF4aKO1bq+/bdX+chMNouLmaOSYB1of3DriLb0WhLOr8lAA==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -5151,36 +5120,19 @@ packages:
clsx: 1.2.1
get-user-locale: 2.1.3
prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
dev: false
- /react-color-gradient-picker/0.1.2_biqbaboplfbrettd7655fr4n2y:
+ /react-color-gradient-picker/0.1.2:
resolution: {integrity: sha512-/woJfVZbp/lEwqdNfk/vxmuUj7K9imyF6C5mrsfvwvtF1uFr7THHRyEDPLZd4mD9N3opPl6Z7G7SZrFQ8qBq9w==}
peerDependencies:
react: ^16.13.1
react-dom: ^16.13.1
- dependencies:
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
dev: false
- /react-dom/18.2.0_react@18.2.0:
- resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
- peerDependencies:
- react: ^18.2.0
- dependencies:
- loose-envify: 1.4.0
- react: 18.2.0
- scheduler: 0.23.0
- dev: false
-
- /react-icons/4.8.0_react@18.2.0:
+ /react-icons/4.8.0:
resolution: {integrity: sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==}
peerDependencies:
react: '*'
- dependencies:
- react: 18.2.0
dev: false
/react-is/16.13.1:
@@ -5194,7 +5146,7 @@ packages:
resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
dev: false
- /react-modal/3.16.1_biqbaboplfbrettd7655fr4n2y:
+ /react-modal/3.16.1:
resolution: {integrity: sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==}
engines: {node: '>=8'}
peerDependencies:
@@ -5203,13 +5155,11 @@ packages:
dependencies:
exenv: 1.2.2
prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
react-lifecycles-compat: 3.0.4
warning: 4.0.3
dev: false
- /react-sortable-hoc/2.0.0_v2m5e27vhdewzwhryxwfaorcca:
+ /react-sortable-hoc/2.0.0_prop-types@15.8.1:
resolution: {integrity: sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==}
peerDependencies:
prop-types: ^15.5.7
@@ -5219,22 +5169,18 @@ packages:
'@babel/runtime': 7.20.7
invariant: 2.2.4
prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
dev: false
- /react-toastify/9.1.1_biqbaboplfbrettd7655fr4n2y:
+ /react-toastify/9.1.1:
resolution: {integrity: sha512-pkFCla1z3ve045qvjEmn2xOJOy4ZciwRXm1oMPULVkELi5aJdHCN/FHnuqXq8IwGDLB7PPk2/J6uP9D8ejuiRw==}
peerDependencies:
react: '>=16'
react-dom: '>=16'
dependencies:
clsx: 1.2.1
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
dev: false
- /react-transition-group/4.4.5_biqbaboplfbrettd7655fr4n2y:
+ /react-transition-group/4.4.5:
resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
peerDependencies:
react: '>=16.6.0'
@@ -5244,15 +5190,6 @@ packages:
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
- dev: false
-
- /react/18.2.0:
- resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
- engines: {node: '>=0.10.0'}
- dependencies:
- loose-envify: 1.4.0
dev: false
/read-pkg-up/7.0.1:
@@ -5437,12 +5374,6 @@ packages:
source-map-js: 1.0.2
dev: true
- /scheduler/0.23.0:
- resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
- dependencies:
- loose-envify: 1.4.0
- dev: false
-
/semver/5.7.1:
resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
hasBin: true
diff --git a/src/App.jsx b/src/App.jsx
index 784206dd..a960515e 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import { ToastContainer } from 'react-toastify';
import Background from 'components/widgets/background/Background';
diff --git a/src/components/helpers/autocomplete/Autocomplete.jsx b/src/components/helpers/autocomplete/Autocomplete.jsx
index 841fb47d..fe68dbe0 100644
--- a/src/components/helpers/autocomplete/Autocomplete.jsx
+++ b/src/components/helpers/autocomplete/Autocomplete.jsx
@@ -1,4 +1,4 @@
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import EventBus from 'modules/helpers/eventbus';
diff --git a/src/components/helpers/carousel/Carousel.jsx b/src/components/helpers/carousel/Carousel.jsx
index 6d6101ce..c6c25531 100644
--- a/src/components/helpers/carousel/Carousel.jsx
+++ b/src/components/helpers/carousel/Carousel.jsx
@@ -1,4 +1,4 @@
-import React, { useState, useEffect, useCallback, useRef, memo } from 'react';
+import React, { useState, useEffect, useCallback, useRef, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import { MdOutlineArrowForwardIos, MdOutlineArrowBackIos } from 'react-icons/md';
import useEmblaCarousel from 'embla-carousel-react';
diff --git a/src/components/helpers/preview/Preview.jsx b/src/components/helpers/preview/Preview.jsx
index a88ba044..6b8b3d6e 100644
--- a/src/components/helpers/preview/Preview.jsx
+++ b/src/components/helpers/preview/Preview.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import variables from 'modules/variables';
import './preview.scss';
diff --git a/src/components/helpers/sharemodal/ShareModal.jsx b/src/components/helpers/sharemodal/ShareModal.jsx
index 25925ea6..2f72f3fc 100644
--- a/src/components/helpers/sharemodal/ShareModal.jsx
+++ b/src/components/helpers/sharemodal/ShareModal.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import variables from 'modules/variables';
import { MdClose, MdEmail, MdContentCopy } from 'react-icons/md';
diff --git a/src/components/helpers/tooltip/Tooltip.jsx b/src/components/helpers/tooltip/Tooltip.jsx
index 64b3a21c..ad57cc51 100644
--- a/src/components/helpers/tooltip/Tooltip.jsx
+++ b/src/components/helpers/tooltip/Tooltip.jsx
@@ -1,4 +1,4 @@
-import { useState, memo } from 'react';
+import { useState, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import { useFloating, flip, offset, shift } from '@floating-ui/react-dom';
import './tooltip.scss';
diff --git a/src/components/helpers/tooltip/infoTooltip.jsx b/src/components/helpers/tooltip/infoTooltip.jsx
index d6e33ecc..679e0451 100644
--- a/src/components/helpers/tooltip/infoTooltip.jsx
+++ b/src/components/helpers/tooltip/infoTooltip.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { useState, memo } from 'react';
+import { useState, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import { useFloating, flip, offset, shift } from '@floating-ui/react-dom';
import { MdClose, MdInfo, MdOpenInNew } from 'react-icons/md';
diff --git a/src/components/modals/ErrorBoundary.jsx b/src/components/modals/ErrorBoundary.jsx
index a6448f3a..fbc15da3 100644
--- a/src/components/modals/ErrorBoundary.jsx
+++ b/src/components/modals/ErrorBoundary.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { MdErrorOutline } from 'react-icons/md';
diff --git a/src/components/modals/Modals.jsx b/src/components/modals/Modals.jsx
index 6780be11..d7d4e4aa 100644
--- a/src/components/modals/Modals.jsx
+++ b/src/components/modals/Modals.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import Modal from 'react-modal';
import Main from './main/Main';
diff --git a/src/components/modals/main/Main.jsx b/src/components/modals/main/Main.jsx
index 669baece..975333b9 100644
--- a/src/components/modals/main/Main.jsx
+++ b/src/components/modals/main/Main.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { Suspense, lazy, useState, memo } from 'react';
+import { Suspense, lazy, useState, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import { MdClose } from 'react-icons/md';
diff --git a/src/components/modals/main/marketplace/Item.jsx b/src/components/modals/main/marketplace/Item.jsx
index 0119fe2d..eedf7cde 100644
--- a/src/components/modals/main/marketplace/Item.jsx
+++ b/src/components/modals/main/marketplace/Item.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, Fragment } from 'react';
+import { PureComponent, Fragment } from 'preact/compat';
import PropTypes from 'prop-types';
import Tooltip from 'components/helpers/tooltip/Tooltip';
import ImageCarousel from 'components/helpers/carousel/Carousel';
diff --git a/src/components/modals/main/marketplace/Items.jsx b/src/components/modals/main/marketplace/Items.jsx
index 4628a8cc..adb95ec5 100644
--- a/src/components/modals/main/marketplace/Items.jsx
+++ b/src/components/modals/main/marketplace/Items.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import React, { memo } from 'react';
+import React, { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import { MdAutoFixHigh, MdOutlineArrowForward, MdOutlineOpenInNew } from 'react-icons/md';
diff --git a/src/components/modals/main/marketplace/Lightbox.jsx b/src/components/modals/main/marketplace/Lightbox.jsx
index fa9944a0..c32d3f73 100644
--- a/src/components/modals/main/marketplace/Lightbox.jsx
+++ b/src/components/modals/main/marketplace/Lightbox.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import variables from 'modules/variables';
diff --git a/src/components/modals/main/marketplace/SideloadFailedModal.jsx b/src/components/modals/main/marketplace/SideloadFailedModal.jsx
index a561c7cd..41985e2c 100644
--- a/src/components/modals/main/marketplace/SideloadFailedModal.jsx
+++ b/src/components/modals/main/marketplace/SideloadFailedModal.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import variables from 'modules/variables';
import { MdClose } from 'react-icons/md';
diff --git a/src/components/modals/main/marketplace/sections/Added.jsx b/src/components/modals/main/marketplace/sections/Added.jsx
index 992db415..744c7eb9 100644
--- a/src/components/modals/main/marketplace/sections/Added.jsx
+++ b/src/components/modals/main/marketplace/sections/Added.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import { MdUpdate, MdOutlineExtensionOff, MdCode } from 'react-icons/md';
import { toast } from 'react-toastify';
import Modal from 'react-modal';
diff --git a/src/components/modals/main/marketplace/sections/Create.jsx b/src/components/modals/main/marketplace/sections/Create.jsx
index 90f8ecf0..0b851bce 100644
--- a/src/components/modals/main/marketplace/sections/Create.jsx
+++ b/src/components/modals/main/marketplace/sections/Create.jsx
@@ -1,7 +1,7 @@
/* eslint-disable no-unused-vars */
// todo: refactor all of this
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import {
MdSettings as Settings,
MdOutlineInsertPhoto as Photos,
diff --git a/src/components/modals/main/marketplace/sections/Marketplace.jsx b/src/components/modals/main/marketplace/sections/Marketplace.jsx
index dad4f27f..4f72f3ee 100644
--- a/src/components/modals/main/marketplace/sections/Marketplace.jsx
+++ b/src/components/modals/main/marketplace/sections/Marketplace.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { toast } from 'react-toastify';
import {
diff --git a/src/components/modals/main/settings/Checkbox.jsx b/src/components/modals/main/settings/Checkbox.jsx
index 0384e0ba..e93f0e83 100644
--- a/src/components/modals/main/settings/Checkbox.jsx
+++ b/src/components/modals/main/settings/Checkbox.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { Checkbox as CheckboxUI, FormControlLabel } from '@mui/material';
diff --git a/src/components/modals/main/settings/ChipSelect.jsx b/src/components/modals/main/settings/ChipSelect.jsx
index 6ef2e735..65555436 100644
--- a/src/components/modals/main/settings/ChipSelect.jsx
+++ b/src/components/modals/main/settings/ChipSelect.jsx
@@ -1,4 +1,4 @@
-import { useState, memo } from 'react';
+import { useState, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import Box from '@mui/material/Box';
diff --git a/src/components/modals/main/settings/Dropdown.jsx b/src/components/modals/main/settings/Dropdown.jsx
index 14c6915d..7593267f 100644
--- a/src/components/modals/main/settings/Dropdown.jsx
+++ b/src/components/modals/main/settings/Dropdown.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import PropTypes from 'prop-types';
import { InputLabel, MenuItem, FormControl, Select } from '@mui/material';
diff --git a/src/components/modals/main/settings/FileUpload.jsx b/src/components/modals/main/settings/FileUpload.jsx
index 6d26c9cc..9c1a9b55 100644
--- a/src/components/modals/main/settings/FileUpload.jsx
+++ b/src/components/modals/main/settings/FileUpload.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { toast } from 'react-toastify';
import { compressAccurately, filetoDataURL } from 'image-conversion';
diff --git a/src/components/modals/main/settings/Header.jsx b/src/components/modals/main/settings/Header.jsx
index 69d5207c..d6518346 100644
--- a/src/components/modals/main/settings/Header.jsx
+++ b/src/components/modals/main/settings/Header.jsx
@@ -1,6 +1,6 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { /*MdHelpOutline,*/ MdFlag, MdArrowBack } from 'react-icons/md';
diff --git a/src/components/modals/main/settings/Radio.jsx b/src/components/modals/main/settings/Radio.jsx
index cf60a310..434edf8a 100644
--- a/src/components/modals/main/settings/Radio.jsx
+++ b/src/components/modals/main/settings/Radio.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import {
Radio as RadioUI,
diff --git a/src/components/modals/main/settings/ResetModal.jsx b/src/components/modals/main/settings/ResetModal.jsx
index 157876ed..e2f07e09 100644
--- a/src/components/modals/main/settings/ResetModal.jsx
+++ b/src/components/modals/main/settings/ResetModal.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import variables from 'modules/variables';
import { MdClose, MdRestartAlt } from 'react-icons/md';
diff --git a/src/components/modals/main/settings/SettingsItem.jsx b/src/components/modals/main/settings/SettingsItem.jsx
index 7dad66f8..536c7424 100644
--- a/src/components/modals/main/settings/SettingsItem.jsx
+++ b/src/components/modals/main/settings/SettingsItem.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
function SettingsItem({ final, title, subtitle, children }) {
diff --git a/src/components/modals/main/settings/Slider.jsx b/src/components/modals/main/settings/Slider.jsx
index b3fd5fed..354c37a7 100644
--- a/src/components/modals/main/settings/Slider.jsx
+++ b/src/components/modals/main/settings/Slider.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { toast } from 'react-toastify';
import { Slider } from '@mui/material';
diff --git a/src/components/modals/main/settings/Switch.jsx b/src/components/modals/main/settings/Switch.jsx
index 2692e11e..a86c512f 100644
--- a/src/components/modals/main/settings/Switch.jsx
+++ b/src/components/modals/main/settings/Switch.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { Switch as SwitchUI, FormControlLabel } from '@mui/material';
diff --git a/src/components/modals/main/settings/Text.jsx b/src/components/modals/main/settings/Text.jsx
index a38c4132..fe933e7d 100644
--- a/src/components/modals/main/settings/Text.jsx
+++ b/src/components/modals/main/settings/Text.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { toast } from 'react-toastify';
import { TextField } from '@mui/material';
diff --git a/src/components/modals/main/settings/sections/About.jsx b/src/components/modals/main/settings/sections/About.jsx
index c45e292c..602019c9 100644
--- a/src/components/modals/main/settings/sections/About.jsx
+++ b/src/components/modals/main/settings/sections/About.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import { MdEmail, MdContactPage } from 'react-icons/md';
import { FaDiscord, FaTwitter } from 'react-icons/fa';
import { SiGithubsponsors, SiOpencollective } from 'react-icons/si';
diff --git a/src/components/modals/main/settings/sections/Advanced.jsx b/src/components/modals/main/settings/sections/Advanced.jsx
index a32a3661..6cae4413 100644
--- a/src/components/modals/main/settings/sections/Advanced.jsx
+++ b/src/components/modals/main/settings/sections/Advanced.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import Modal from 'react-modal';
import { MenuItem } from '@mui/material';
import {
diff --git a/src/components/modals/main/settings/sections/Appearance.jsx b/src/components/modals/main/settings/sections/Appearance.jsx
index 6c753d3e..6f122c6e 100644
--- a/src/components/modals/main/settings/sections/Appearance.jsx
+++ b/src/components/modals/main/settings/sections/Appearance.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import variables from 'modules/variables';
diff --git a/src/components/modals/main/settings/sections/Changelog.jsx b/src/components/modals/main/settings/sections/Changelog.jsx
index d11ee714..07c57eb2 100644
--- a/src/components/modals/main/settings/sections/Changelog.jsx
+++ b/src/components/modals/main/settings/sections/Changelog.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import { MdOutlineWifiOff } from 'react-icons/md';
import Modal from 'react-modal';
diff --git a/src/components/modals/main/settings/sections/Date.jsx b/src/components/modals/main/settings/sections/Date.jsx
index fdf8e1ed..15aabe8d 100644
--- a/src/components/modals/main/settings/sections/Date.jsx
+++ b/src/components/modals/main/settings/sections/Date.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import Header from '../Header';
import Checkbox from '../Checkbox';
diff --git a/src/components/modals/main/settings/sections/Experimental.jsx b/src/components/modals/main/settings/sections/Experimental.jsx
index 3f744eac..f2da1e6a 100644
--- a/src/components/modals/main/settings/sections/Experimental.jsx
+++ b/src/components/modals/main/settings/sections/Experimental.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { useState, memo } from 'react';
+import { useState, memo } from 'preact/compat';
import Checkbox from '../Checkbox';
import Slider from '../Slider';
import { TextField } from '@mui/material';
diff --git a/src/components/modals/main/settings/sections/Greeting.jsx b/src/components/modals/main/settings/sections/Greeting.jsx
index afd99124..135265bc 100644
--- a/src/components/modals/main/settings/sections/Greeting.jsx
+++ b/src/components/modals/main/settings/sections/Greeting.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import Header from '../Header';
import Checkbox from '../Checkbox';
diff --git a/src/components/modals/main/settings/sections/Language.jsx b/src/components/modals/main/settings/sections/Language.jsx
index e09b7e32..4072f3dd 100644
--- a/src/components/modals/main/settings/sections/Language.jsx
+++ b/src/components/modals/main/settings/sections/Language.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import Radio from '../Radio';
diff --git a/src/components/modals/main/settings/sections/Message.jsx b/src/components/modals/main/settings/sections/Message.jsx
index 0338d9ee..ccf266ba 100644
--- a/src/components/modals/main/settings/sections/Message.jsx
+++ b/src/components/modals/main/settings/sections/Message.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import { MdCancel, MdAdd, MdOutlineTextsms } from 'react-icons/md';
import { toast } from 'react-toastify';
import { TextareaAutosize } from '@mui/material';
diff --git a/src/components/modals/main/settings/sections/Navbar.jsx b/src/components/modals/main/settings/sections/Navbar.jsx
index 37738213..a5afb613 100644
--- a/src/components/modals/main/settings/sections/Navbar.jsx
+++ b/src/components/modals/main/settings/sections/Navbar.jsx
@@ -1,6 +1,6 @@
import variables from 'modules/variables';
-import { useState, memo } from 'react';
+import { useState, memo } from 'preact/compat';
import Checkbox from '../Checkbox';
import Dropdown from '../Dropdown';
diff --git a/src/components/modals/main/settings/sections/Overview.jsx b/src/components/modals/main/settings/sections/Overview.jsx
index 1679eaea..02532ce9 100644
--- a/src/components/modals/main/settings/sections/Overview.jsx
+++ b/src/components/modals/main/settings/sections/Overview.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import { MdOutlineDragIndicator } from 'react-icons/md';
import { sortableContainer, sortableElement } from 'react-sortable-hoc';
import { toast } from 'react-toastify';
diff --git a/src/components/modals/main/settings/sections/QuickLinks.jsx b/src/components/modals/main/settings/sections/QuickLinks.jsx
index ed4fc414..5345f06e 100644
--- a/src/components/modals/main/settings/sections/QuickLinks.jsx
+++ b/src/components/modals/main/settings/sections/QuickLinks.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import { MdAddLink, MdLinkOff, MdCancel, MdEdit } from 'react-icons/md';
import Header from '../Header';
import Checkbox from '../Checkbox';
diff --git a/src/components/modals/main/settings/sections/Quote.jsx b/src/components/modals/main/settings/sections/Quote.jsx
index 4e5a4674..b84c2034 100644
--- a/src/components/modals/main/settings/sections/Quote.jsx
+++ b/src/components/modals/main/settings/sections/Quote.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import React, { PureComponent } from 'react';
+import React, { PureComponent } from 'preact/compat';
import {
MdCancel,
MdAdd,
diff --git a/src/components/modals/main/settings/sections/Search.jsx b/src/components/modals/main/settings/sections/Search.jsx
index 7ec8b384..4a092c5a 100644
--- a/src/components/modals/main/settings/sections/Search.jsx
+++ b/src/components/modals/main/settings/sections/Search.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import { toast } from 'react-toastify';
import { MenuItem, TextField } from '@mui/material';
diff --git a/src/components/modals/main/settings/sections/Stats.jsx b/src/components/modals/main/settings/sections/Stats.jsx
index acc95d0d..f681d707 100644
--- a/src/components/modals/main/settings/sections/Stats.jsx
+++ b/src/components/modals/main/settings/sections/Stats.jsx
@@ -1,6 +1,6 @@
/* eslint-disable array-callback-return */
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import { MdShowChart } from 'react-icons/md';
import { FaTrophy } from 'react-icons/fa';
diff --git a/src/components/modals/main/settings/sections/Time.jsx b/src/components/modals/main/settings/sections/Time.jsx
index b56550e5..839bfeaf 100644
--- a/src/components/modals/main/settings/sections/Time.jsx
+++ b/src/components/modals/main/settings/sections/Time.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import Header from '../Header';
import Checkbox from '../Checkbox';
diff --git a/src/components/modals/main/settings/sections/Weather.jsx b/src/components/modals/main/settings/sections/Weather.jsx
index 6cc9480e..35a2856f 100644
--- a/src/components/modals/main/settings/sections/Weather.jsx
+++ b/src/components/modals/main/settings/sections/Weather.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import Header from '../Header';
import Radio from '../Radio';
diff --git a/src/components/modals/main/settings/sections/advanced/Advanced.jsx b/src/components/modals/main/settings/sections/advanced/Advanced.jsx
index 691aa577..0a7f90b5 100644
--- a/src/components/modals/main/settings/sections/advanced/Advanced.jsx
+++ b/src/components/modals/main/settings/sections/advanced/Advanced.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import Modal from 'react-modal';
import { MenuItem } from '@mui/material';
import {
diff --git a/src/components/modals/main/settings/sections/advanced/Data.jsx b/src/components/modals/main/settings/sections/advanced/Data.jsx
index 800c1220..f2ae830c 100644
--- a/src/components/modals/main/settings/sections/advanced/Data.jsx
+++ b/src/components/modals/main/settings/sections/advanced/Data.jsx
@@ -1,6 +1,6 @@
import variables from 'modules/variables';
import SettingsItem from '../../SettingsItem';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import {
MdOutlineKeyboardArrowRight,
MdUpload as ImportIcon,
diff --git a/src/components/modals/main/settings/sections/background/Background.jsx b/src/components/modals/main/settings/sections/background/Background.jsx
index c324918c..a0cec949 100644
--- a/src/components/modals/main/settings/sections/background/Background.jsx
+++ b/src/components/modals/main/settings/sections/background/Background.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import { MenuItem } from '@mui/material';
import { MdSource, MdOutlineKeyboardArrowRight, MdOutlineAutoAwesome } from 'react-icons/md';
diff --git a/src/components/modals/main/settings/sections/background/Colour.jsx b/src/components/modals/main/settings/sections/background/Colour.jsx
index c89bd91f..d8482cf5 100644
--- a/src/components/modals/main/settings/sections/background/Colour.jsx
+++ b/src/components/modals/main/settings/sections/background/Colour.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, Fragment } from 'react';
+import { PureComponent, Fragment } from 'preact/compat';
import { ColorPicker } from 'react-color-gradient-picker';
import { toast } from 'react-toastify';
import SettingsItem from '../../SettingsItem';
diff --git a/src/components/modals/main/settings/sections/background/Custom.jsx b/src/components/modals/main/settings/sections/background/Custom.jsx
index 3cd8bea1..c396659e 100644
--- a/src/components/modals/main/settings/sections/background/Custom.jsx
+++ b/src/components/modals/main/settings/sections/background/Custom.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import { toast } from 'react-toastify';
import {
MdCancel,
diff --git a/src/components/modals/main/settings/sections/background/CustomURLModal.jsx b/src/components/modals/main/settings/sections/background/CustomURLModal.jsx
index 704f5ce5..780bea89 100644
--- a/src/components/modals/main/settings/sections/background/CustomURLModal.jsx
+++ b/src/components/modals/main/settings/sections/background/CustomURLModal.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { useState, memo } from 'react';
+import { useState, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import { MdClose, MdOutlineAddLink } from 'react-icons/md';
import Tooltip from 'components/helpers/tooltip/Tooltip';
diff --git a/src/components/modals/main/settings/sections/overview_skeletons/Clock.jsx b/src/components/modals/main/settings/sections/overview_skeletons/Clock.jsx
index 730a2ebb..f812f1e9 100644
--- a/src/components/modals/main/settings/sections/overview_skeletons/Clock.jsx
+++ b/src/components/modals/main/settings/sections/overview_skeletons/Clock.jsx
@@ -1,4 +1,4 @@
-import { Suspense, lazy, memo } from 'react';
+import { Suspense, lazy, memo } from 'preact/compat';
const Analog = lazy(() => import('react-clock'));
function ClockSkeleton() {
diff --git a/src/components/modals/main/settings/sections/overview_skeletons/Date.jsx b/src/components/modals/main/settings/sections/overview_skeletons/Date.jsx
index e64ca4f3..2c52ca52 100644
--- a/src/components/modals/main/settings/sections/overview_skeletons/Date.jsx
+++ b/src/components/modals/main/settings/sections/overview_skeletons/Date.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
function DateSkeleton() {
return Thursday January 1st;
diff --git a/src/components/modals/main/settings/sections/overview_skeletons/Greeting.jsx b/src/components/modals/main/settings/sections/overview_skeletons/Greeting.jsx
index 752613cc..4c96294f 100644
--- a/src/components/modals/main/settings/sections/overview_skeletons/Greeting.jsx
+++ b/src/components/modals/main/settings/sections/overview_skeletons/Greeting.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
function GreetingSkeleton() {
return Good Morning;
diff --git a/src/components/modals/main/settings/sections/overview_skeletons/Message.jsx b/src/components/modals/main/settings/sections/overview_skeletons/Message.jsx
index 98274fe4..7b0a0d29 100644
--- a/src/components/modals/main/settings/sections/overview_skeletons/Message.jsx
+++ b/src/components/modals/main/settings/sections/overview_skeletons/Message.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
function MessageSkeleton() {
return (
diff --git a/src/components/modals/main/settings/sections/overview_skeletons/QuickLinks.jsx b/src/components/modals/main/settings/sections/overview_skeletons/QuickLinks.jsx
index 3c6c941f..e2afe6fb 100644
--- a/src/components/modals/main/settings/sections/overview_skeletons/QuickLinks.jsx
+++ b/src/components/modals/main/settings/sections/overview_skeletons/QuickLinks.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import { FaDiscord, FaTwitter } from 'react-icons/fa';
import { SiGithubsponsors, SiOpencollective } from 'react-icons/si';
diff --git a/src/components/modals/main/settings/sections/overview_skeletons/Quote.jsx b/src/components/modals/main/settings/sections/overview_skeletons/Quote.jsx
index 2b3dcf2c..5cd1736c 100644
--- a/src/components/modals/main/settings/sections/overview_skeletons/Quote.jsx
+++ b/src/components/modals/main/settings/sections/overview_skeletons/Quote.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import { MdPerson } from 'react-icons/md';
function QuoteSkeleton() {
diff --git a/src/components/modals/main/settings/sections/quicklinks/AddModal.jsx b/src/components/modals/main/settings/sections/quicklinks/AddModal.jsx
index 0c4394de..c5f85a6e 100644
--- a/src/components/modals/main/settings/sections/quicklinks/AddModal.jsx
+++ b/src/components/modals/main/settings/sections/quicklinks/AddModal.jsx
@@ -1,6 +1,6 @@
import variables from 'modules/variables';
-import { useState, memo } from 'react';
+import { useState, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import { TextareaAutosize } from '@mui/material';
import { MdAddLink, MdClose } from 'react-icons/md';
diff --git a/src/components/modals/main/tabs/Addons.jsx b/src/components/modals/main/tabs/Addons.jsx
index 3c7a9eca..3dd0ecb9 100644
--- a/src/components/modals/main/tabs/Addons.jsx
+++ b/src/components/modals/main/tabs/Addons.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import Tabs from './backend/Tabs';
diff --git a/src/components/modals/main/tabs/Marketplace.jsx b/src/components/modals/main/tabs/Marketplace.jsx
index 9311509c..f73f85b1 100644
--- a/src/components/modals/main/tabs/Marketplace.jsx
+++ b/src/components/modals/main/tabs/Marketplace.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import Tabs from './backend/Tabs';
diff --git a/src/components/modals/main/tabs/Settings.jsx b/src/components/modals/main/tabs/Settings.jsx
index f1cfed91..46dafb8f 100644
--- a/src/components/modals/main/tabs/Settings.jsx
+++ b/src/components/modals/main/tabs/Settings.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import Tabs from './backend/Tabs';
diff --git a/src/components/modals/main/tabs/backend/Tab.jsx b/src/components/modals/main/tabs/backend/Tab.jsx
index b615d863..3b6ed44c 100644
--- a/src/components/modals/main/tabs/backend/Tab.jsx
+++ b/src/components/modals/main/tabs/backend/Tab.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import {
MdSettings as Settings,
diff --git a/src/components/modals/main/tabs/backend/Tabs.jsx b/src/components/modals/main/tabs/backend/Tabs.jsx
index 416cf215..21267201 100644
--- a/src/components/modals/main/tabs/backend/Tabs.jsx
+++ b/src/components/modals/main/tabs/backend/Tabs.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import {
MdSettings,
diff --git a/src/components/modals/welcome/ProgressBar.jsx b/src/components/modals/welcome/ProgressBar.jsx
index 801513e7..68492440 100644
--- a/src/components/modals/welcome/ProgressBar.jsx
+++ b/src/components/modals/welcome/ProgressBar.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
function ProgressBar({ count, currentTab, switchTab }) {
diff --git a/src/components/modals/welcome/Welcome.jsx b/src/components/modals/welcome/Welcome.jsx
index 71f03a81..3a817daf 100644
--- a/src/components/modals/welcome/Welcome.jsx
+++ b/src/components/modals/welcome/Welcome.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import EventBus from 'modules/helpers/eventbus';
diff --git a/src/components/modals/welcome/WelcomeSections.jsx b/src/components/modals/welcome/WelcomeSections.jsx
index add037e2..e7b7d137 100644
--- a/src/components/modals/welcome/WelcomeSections.jsx
+++ b/src/components/modals/welcome/WelcomeSections.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import {
diff --git a/src/components/widgets/Widgets.jsx b/src/components/widgets/Widgets.jsx
index 27a4a7ec..8bb4ddc0 100644
--- a/src/components/widgets/Widgets.jsx
+++ b/src/components/widgets/Widgets.jsx
@@ -1,4 +1,4 @@
-import { PureComponent, Fragment, Suspense, lazy } from 'react';
+import { PureComponent, Fragment, Suspense, lazy } from 'preact/compat';
import Clock from './time/Clock';
import Greeting from './greeting/Greeting';
diff --git a/src/components/widgets/background/Background.jsx b/src/components/widgets/background/Background.jsx
index 5deb487f..23a8b721 100644
--- a/src/components/widgets/background/Background.jsx
+++ b/src/components/widgets/background/Background.jsx
@@ -1,7 +1,7 @@
/* eslint-disable no-unused-expressions */
// todo: rewrite this mess
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PhotoInformation from './PhotoInformation';
diff --git a/src/components/widgets/background/ExcludeModal.jsx b/src/components/widgets/background/ExcludeModal.jsx
index 39c6bb99..7a5b5028 100644
--- a/src/components/widgets/background/ExcludeModal.jsx
+++ b/src/components/widgets/background/ExcludeModal.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import EventBus from 'modules/helpers/eventbus';
import Tooltip from 'components/helpers/tooltip/Tooltip';
diff --git a/src/components/widgets/background/Favourite.jsx b/src/components/widgets/background/Favourite.jsx
index d725f1fa..b1407e20 100644
--- a/src/components/widgets/background/Favourite.jsx
+++ b/src/components/widgets/background/Favourite.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { MdStar, MdStarBorder } from 'react-icons/md';
diff --git a/src/components/widgets/background/Maximise.jsx b/src/components/widgets/background/Maximise.jsx
index 04fe43fa..251a132a 100644
--- a/src/components/widgets/background/Maximise.jsx
+++ b/src/components/widgets/background/Maximise.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import PropTypes from 'prop-types';
import { MdCropFree } from 'react-icons/md';
diff --git a/src/components/widgets/background/PhotoInformation.jsx b/src/components/widgets/background/PhotoInformation.jsx
index 022c208b..ed77a584 100644
--- a/src/components/widgets/background/PhotoInformation.jsx
+++ b/src/components/widgets/background/PhotoInformation.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { useState, memo } from 'react';
+import { useState, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import Favourite from './Favourite';
import {
diff --git a/src/components/widgets/greeting/Greeting.jsx b/src/components/widgets/greeting/Greeting.jsx
index 3f6c32e7..e3faa562 100644
--- a/src/components/widgets/greeting/Greeting.jsx
+++ b/src/components/widgets/greeting/Greeting.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import { nth, convertTimezone } from 'modules/helpers/date';
import EventBus from 'modules/helpers/eventbus';
diff --git a/src/components/widgets/message/Message.jsx b/src/components/widgets/message/Message.jsx
index 8bb3020e..c8f158ab 100644
--- a/src/components/widgets/message/Message.jsx
+++ b/src/components/widgets/message/Message.jsx
@@ -1,4 +1,4 @@
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import EventBus from 'modules/helpers/eventbus';
diff --git a/src/components/widgets/navbar/Navbar.jsx b/src/components/widgets/navbar/Navbar.jsx
index 31de2a3f..bd15b4d7 100644
--- a/src/components/widgets/navbar/Navbar.jsx
+++ b/src/components/widgets/navbar/Navbar.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import PropTypes from 'prop-types';
import { MdRefresh, MdSettings } from 'react-icons/md';
diff --git a/src/components/widgets/navbar/Notes.jsx b/src/components/widgets/navbar/Notes.jsx
index eaea1b13..3463f279 100644
--- a/src/components/widgets/navbar/Notes.jsx
+++ b/src/components/widgets/navbar/Notes.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, memo } from 'react';
+import { PureComponent, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import { MdContentCopy, MdAssignment, MdPushPin, MdDownload } from 'react-icons/md';
diff --git a/src/components/widgets/navbar/Todo.jsx b/src/components/widgets/navbar/Todo.jsx
index 43648e93..d83c7e7c 100644
--- a/src/components/widgets/navbar/Todo.jsx
+++ b/src/components/widgets/navbar/Todo.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, memo } from 'react';
+import { PureComponent, memo } from 'preact/compat';
import PropTypes from 'prop-types';
import {
diff --git a/src/components/widgets/quicklinks/QuickLinks.jsx b/src/components/widgets/quicklinks/QuickLinks.jsx
index 85587df1..4c605ab8 100644
--- a/src/components/widgets/quicklinks/QuickLinks.jsx
+++ b/src/components/widgets/quicklinks/QuickLinks.jsx
@@ -1,4 +1,4 @@
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import Tooltip from 'components/helpers/tooltip/Tooltip';
import EventBus from 'modules/helpers/eventbus';
diff --git a/src/components/widgets/quote/Quote.jsx b/src/components/widgets/quote/Quote.jsx
index 732b88fb..56dce3ac 100644
--- a/src/components/widgets/quote/Quote.jsx
+++ b/src/components/widgets/quote/Quote.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import {
MdContentCopy,
MdStarBorder,
diff --git a/src/components/widgets/search/Search.jsx b/src/components/widgets/search/Search.jsx
index 7d27ff22..12f15671 100644
--- a/src/components/widgets/search/Search.jsx
+++ b/src/components/widgets/search/Search.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import { MdSearch, MdMic, MdScreenSearchDesktop } from 'react-icons/md';
import { BsGoogle } from 'react-icons/bs';
import { SiDuckduckgo, SiMicrosoftbing, SiYahoo, SiBaidu } from 'react-icons/si';
diff --git a/src/components/widgets/time/Clock.jsx b/src/components/widgets/time/Clock.jsx
index 9657f315..682f0272 100644
--- a/src/components/widgets/time/Clock.jsx
+++ b/src/components/widgets/time/Clock.jsx
@@ -1,4 +1,4 @@
-import { PureComponent, Suspense, lazy } from 'react';
+import { PureComponent, Suspense, lazy } from 'preact/compat';
import { convertTimezone } from 'modules/helpers/date';
import EventBus from 'modules/helpers/eventbus';
diff --git a/src/components/widgets/time/Date.jsx b/src/components/widgets/time/Date.jsx
index 123125ee..493111cb 100644
--- a/src/components/widgets/time/Date.jsx
+++ b/src/components/widgets/time/Date.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent, createRef } from 'react';
+import { PureComponent, createRef } from 'preact/compat';
import { nth, convertTimezone } from '../../../modules/helpers/date';
import EventBus from 'modules/helpers/eventbus';
diff --git a/src/components/widgets/weather/Expanded.jsx b/src/components/widgets/weather/Expanded.jsx
index 119df044..4a778dd9 100644
--- a/src/components/widgets/weather/Expanded.jsx
+++ b/src/components/widgets/weather/Expanded.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import { WiHumidity, WiWindy, WiBarometer, WiCloud } from 'react-icons/wi';
diff --git a/src/components/widgets/weather/Weather.jsx b/src/components/widgets/weather/Weather.jsx
index 3a2db309..bf04ba5e 100644
--- a/src/components/widgets/weather/Weather.jsx
+++ b/src/components/widgets/weather/Weather.jsx
@@ -1,5 +1,5 @@
import variables from 'modules/variables';
-import { PureComponent } from 'react';
+import { PureComponent } from 'preact/compat';
import WeatherIcon from './WeatherIcon';
import Expanded from './Expanded';
diff --git a/src/components/widgets/weather/WeatherIcon.jsx b/src/components/widgets/weather/WeatherIcon.jsx
index 16b2047d..f6e5fa4b 100644
--- a/src/components/widgets/weather/WeatherIcon.jsx
+++ b/src/components/widgets/weather/WeatherIcon.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import {
diff --git a/src/components/widgets/weather/WindDirectionIcon.jsx b/src/components/widgets/weather/WindDirectionIcon.jsx
index 5b0c5191..64bd02a9 100644
--- a/src/components/widgets/weather/WindDirectionIcon.jsx
+++ b/src/components/widgets/weather/WindDirectionIcon.jsx
@@ -1,4 +1,4 @@
-import { memo } from 'react';
+import { memo } from 'preact/compat';
import PropTypes from 'prop-types';
import {
diff --git a/src/index.jsx b/src/index.jsx
index 78d9be16..bf04f590 100644
--- a/src/index.jsx
+++ b/src/index.jsx
@@ -1,4 +1,9 @@
-import { render } from 'react-dom';
+/* eslint-disable import/first */
+if (process.env.NODE_ENV==='development') {
+ import("preact/debug");
+}
+
+import { render } from 'preact';
import * as Sentry from '@sentry/react';
import App from './App';
diff --git a/vite.config.js b/vite.config.js
index a94f3a04..f8751127 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,5 +1,5 @@
import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react-swc';
+import preact from '@preact/preset-vite';
import path from 'path';
import fs from 'fs';
import ADMZip from 'adm-zip';
@@ -61,7 +61,7 @@ const prepareBuilds = () => ({
});
export default defineConfig({
- plugins: [react(), prepareBuilds(), progress()],
+ plugins: [preact(), prepareBuilds(), progress()],
server: {
open: true,
hmr: {
@@ -86,13 +86,17 @@ export default defineConfig({
},
},
},
+ alias: {
+ react: 'preact/compat',
+ 'react-dom': 'preact/compat',
+ },
resolve: {
extensions: ['.js', '.jsx'],
alias: {
components: path.resolve(__dirname, './src/components'),
modules: path.resolve(__dirname, './src/modules'),
translations: path.resolve(__dirname, './src/translations'),
- scss: path.resolve(__dirname, './src/scss'),
+ scss: path.resolve(__dirname, './src/scss')
},
},
});