diff --git a/next.config.js b/next.config.js index 1ed7d96..a5dfc85 100644 --- a/next.config.js +++ b/next.config.js @@ -6,10 +6,10 @@ await import('./src/env.js'); /** @type {import("next").NextConfig} */ const config = { - experimental: { - ppr: true, - reactCompiler: true - }, + // experimental: { + // ppr: true, + // reactCompiler: true + // }, logging: { fetches: { fullUrl: true diff --git a/package.json b/package.json index 4edcd04..3152a2c 100644 --- a/package.json +++ b/package.json @@ -27,10 +27,10 @@ "lodash-es": "^4.17.21", "lucide-react": "^0.441.0", "nanoid": "^5.0.7", - "next": "15.0.0-rc.0", + "next": "14.2.11", "next-auth": "5.0.0-beta.18", - "react": "19.0.0-rc-f994737d14-20240522", - "react-dom": "19.0.0-rc-f994737d14-20240522", + "react": "18.2.0", + "react-dom": "18.2.0", "react-hook-form": "^7.53.0", "react-hot-toast": "^2.4.1", "react-textarea-autosize": "^8.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2226da..7194868 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,13 +22,13 @@ dependencies: version: 0.0.0-insiders.565cd3e(postcss@8.4.45) '@tanstack/react-query': specifier: ^5.56.2 - version: 5.56.2(react@19.0.0-rc-f994737d14-20240522) + version: 5.56.2(react@18.2.0) '@vercel/analytics': specifier: ^1.3.1 - version: 1.3.1(next@15.0.0-rc.0)(react@19.0.0-rc-f994737d14-20240522) + version: 1.3.1(next@14.2.11)(react@18.2.0) '@vercel/speed-insights': specifier: ^1.0.12 - version: 1.0.12(next@15.0.0-rc.0)(react@19.0.0-rc-f994737d14-20240522) + version: 1.0.12(next@14.2.11)(react@18.2.0) babel-plugin-react-compiler: specifier: 0.0.0-experimental-fe484b5-20240912 version: 0.0.0-experimental-fe484b5-20240912 @@ -37,37 +37,37 @@ dependencies: version: 2.5.1 drizzle-orm: specifier: ^0.33.0 - version: 0.33.0(@libsql/client@0.6.0)(@types/react@18.3.5)(mysql2@3.11.2)(react@19.0.0-rc-f994737d14-20240522) + version: 0.33.0(@libsql/client@0.6.0)(@types/react@18.3.5)(mysql2@3.11.2)(react@18.2.0) lodash-es: specifier: ^4.17.21 version: 4.17.21 lucide-react: specifier: ^0.441.0 - version: 0.441.0(react@19.0.0-rc-f994737d14-20240522) + version: 0.441.0(react@18.2.0) nanoid: specifier: ^5.0.7 version: 5.0.7 next: - specifier: 15.0.0-rc.0 - version: 15.0.0-rc.0(babel-plugin-react-compiler@0.0.0-experimental-fe484b5-20240912)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522) + specifier: 14.2.11 + version: 14.2.11(react-dom@18.2.0)(react@18.2.0) next-auth: specifier: 5.0.0-beta.18 - version: 5.0.0-beta.18(next@15.0.0-rc.0)(react@19.0.0-rc-f994737d14-20240522) + version: 5.0.0-beta.18(next@14.2.11)(react@18.2.0) react: - specifier: 19.0.0-rc-f994737d14-20240522 - version: 19.0.0-rc-f994737d14-20240522 + specifier: 18.2.0 + version: 18.2.0 react-dom: - specifier: 19.0.0-rc-f994737d14-20240522 - version: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522) + specifier: 18.2.0 + version: 18.2.0(react@18.2.0) react-hook-form: specifier: ^7.53.0 - version: 7.53.0(react@19.0.0-rc-f994737d14-20240522) + version: 7.53.0(react@18.2.0) react-hot-toast: specifier: ^2.4.1 - version: 2.4.1(csstype@3.1.3)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522) + version: 2.4.1(csstype@3.1.3)(react-dom@18.2.0)(react@18.2.0) react-textarea-autosize: specifier: ^8.5.3 - version: 8.5.3(@types/react@18.3.5)(react@19.0.0-rc-f994737d14-20240522) + version: 8.5.3(@types/react@18.3.5)(react@18.2.0) server-only: specifier: ^0.0.1 version: 0.0.1 @@ -261,14 +261,6 @@ packages: resolution: {integrity: sha512-AHy0vjc+n/4w/8Mif+w86qpppHuF3AyXbcWW+R/W7GNA3F5/p2nuhlkCJaTXSLZheB4l1rtHzOfr9A7NwoR/Zg==} dev: true - /@emnapi/runtime@1.2.0: - resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} - requiresBuild: true - dependencies: - tslib: 2.7.0 - dev: false - optional: true - /@esbuild-kit/core-utils@3.3.2: resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} dependencies: @@ -776,7 +768,7 @@ packages: peerDependencies: react-hook-form: ^7.0.0 dependencies: - react-hook-form: 7.53.0(react@19.0.0-rc-f994737d14-20240522) + react-hook-form: 7.53.0(react@18.2.0) dev: false /@humanwhocodes/config-array@0.11.14: @@ -801,186 +793,6 @@ packages: deprecated: Use @eslint/object-schema instead dev: true - /@img/sharp-darwin-arm64@0.33.5: - resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.0.4 - dev: false - optional: true - - /@img/sharp-darwin-x64@0.33.5: - resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [darwin] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.0.4 - dev: false - optional: true - - /@img/sharp-libvips-darwin-arm64@1.0.4: - resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-libvips-darwin-x64@1.0.4: - resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-libvips-linux-arm64@1.0.4: - resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-libvips-linux-arm@1.0.5: - resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-libvips-linux-s390x@1.0.4: - resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-libvips-linux-x64@1.0.4: - resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-libvips-linuxmusl-arm64@1.0.4: - resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-libvips-linuxmusl-x64@1.0.4: - resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-linux-arm64@0.33.5: - resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.0.4 - dev: false - optional: true - - /@img/sharp-linux-arm@0.33.5: - resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.0.5 - dev: false - optional: true - - /@img/sharp-linux-s390x@0.33.5: - resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [s390x] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.0.4 - dev: false - optional: true - - /@img/sharp-linux-x64@0.33.5: - resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.0.4 - dev: false - optional: true - - /@img/sharp-linuxmusl-arm64@0.33.5: - resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 - dev: false - optional: true - - /@img/sharp-linuxmusl-x64@0.33.5: - resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - requiresBuild: true - optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 - dev: false - optional: true - - /@img/sharp-wasm32@0.33.5: - resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [wasm32] - requiresBuild: true - dependencies: - '@emnapi/runtime': 1.2.0 - dev: false - optional: true - - /@img/sharp-win32-ia32@0.33.5: - resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@img/sharp-win32-x64@0.33.5: - resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1137,8 +949,8 @@ packages: resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} dev: false - /@next/env@15.0.0-rc.0: - resolution: {integrity: sha512-6W0ndQvHR9sXcqcKeR/inD2UTRCs9+VkSK3lfaGmEuZs7EjwwXMO2BPYjz9oBrtfPL3xuTjtXsHKSsalYQ5l1Q==} + /@next/env@14.2.11: + resolution: {integrity: sha512-HYsQRSIXwiNqvzzYThrBwq6RhXo3E0n8j8nQnAs8i4fCEo2Zf/3eS0IiRA8XnRg9Ha0YnpkyJZIZg1qEwemrHw==} dev: false /@next/eslint-plugin-next@13.5.6: @@ -1147,8 +959,8 @@ packages: glob: 7.1.7 dev: true - /@next/swc-darwin-arm64@15.0.0-rc.0: - resolution: {integrity: sha512-4OpTXvAWcSabXA5d688zdUwa3sfT9QrLnHMdpv4q2UDnnuqmOI0xLb6lrOxwpi+vHJNkneuNLqyc5HGBhkqL6A==} + /@next/swc-darwin-arm64@14.2.11: + resolution: {integrity: sha512-eiY9u7wEJZWp/Pga07Qy3ZmNEfALmmSS1HtsJF3y1QEyaExu7boENz11fWqDmZ3uvcyAxCMhTrA1jfVxITQW8g==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -1156,8 +968,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@15.0.0-rc.0: - resolution: {integrity: sha512-/TD8M9DT244uhtFA8P/0DUbM7ftg2zio6yOo6ajV16vNjkcug9Kt9//Wa4SrJjWcsGZpViLctOlwn3/6JFAuAA==} + /@next/swc-darwin-x64@14.2.11: + resolution: {integrity: sha512-lnB0zYCld4yE0IX3ANrVMmtAbziBb7MYekcmR6iE9bujmgERl6+FK+b0MBq0pl304lYe7zO4yxJus9H/Af8jbg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -1165,8 +977,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu@15.0.0-rc.0: - resolution: {integrity: sha512-3VTO32938AcqOlOI/U61/MIpeYrblP22VU1GrgmMQJozsAXEJgLCgf3wxZtn61/FG4Yc0tp7rPZE2t1fIGe0+w==} + /@next/swc-linux-arm64-gnu@14.2.11: + resolution: {integrity: sha512-Ulo9TZVocYmUAtzvZ7FfldtwUoQY0+9z3BiXZCLSUwU2bp7GqHA7/bqrfsArDlUb2xeGwn3ZuBbKtNK8TR0A8w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -1174,8 +986,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@15.0.0-rc.0: - resolution: {integrity: sha512-0kDnxM3AfrrHFJ/wTkjkv7cVHIaGwv+CzDg9lL2BoLEM4kMQhH20DTsBOMqpTpo1K2KCg67LuTGd3QOITT5uFQ==} + /@next/swc-linux-arm64-musl@14.2.11: + resolution: {integrity: sha512-fH377DnKGyUnkWlmUpFF1T90m0dADBfK11dF8sOQkiELF9M+YwDRCGe8ZyDzvQcUd20Rr5U7vpZRrAxKwd3Rzg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -1183,8 +995,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@15.0.0-rc.0: - resolution: {integrity: sha512-fPMNahzqYFjm5h0ncJ5+F3NrShmWhpusM+zrQl01MMU0Ed5xsL4pJJDSuXV4wPkNUSjCP3XstTjxR5kBdO4juQ==} + /@next/swc-linux-x64-gnu@14.2.11: + resolution: {integrity: sha512-a0TH4ZZp4NS0LgXP/488kgvWelNpwfgGTUCDXVhPGH6pInb7yIYNgM4kmNWOxBFt+TIuOH6Pi9NnGG4XWFUyXQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -1192,8 +1004,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@15.0.0-rc.0: - resolution: {integrity: sha512-7/FLgOqrrQAxOVQrxfr3bGgZ83pSCmc2S3TXBILnHw0S8qLxmFjhSjH5ogaDmjrES/PSYMaX1FsP5Af88hp7Gw==} + /@next/swc-linux-x64-musl@14.2.11: + resolution: {integrity: sha512-DYYZcO4Uir2gZxA4D2JcOAKVs8ZxbOFYPpXSVIgeoQbREbeEHxysVsg3nY4FrQy51e5opxt5mOHl/LzIyZBoKA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -1201,8 +1013,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@15.0.0-rc.0: - resolution: {integrity: sha512-5wcqoYHh7hbdghjH6Xs3i5/f0ov+i1Xw2E3O+BzZNESYVLgCM1q7KJu5gdGFoXA2gz5XaKF/VBcYHikLzyjgmA==} + /@next/swc-win32-arm64-msvc@14.2.11: + resolution: {integrity: sha512-PwqHeKG3/kKfPpM6of1B9UJ+Er6ySUy59PeFu0Un0LBzJTRKKAg2V6J60Yqzp99m55mLa+YTbU6xj61ImTv9mg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -1210,8 +1022,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@15.0.0-rc.0: - resolution: {integrity: sha512-/hqOmYRTvtBPToE4Dbl9n+sLYU7DPd52R+TtjIrrEzTMgFo2/d7un3sD7GKmb2OwOj/ExyGv6Bd/JzytBVxXlw==} + /@next/swc-win32-ia32-msvc@14.2.11: + resolution: {integrity: sha512-0U7PWMnOYIvM74GY6rbH6w7v+vNPDVH1gUhlwHpfInJnNe5LkmUZqhp7FNWeNa5wbVgRcRi1F1cyxp4dmeLLvA==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -1219,8 +1031,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@15.0.0-rc.0: - resolution: {integrity: sha512-2Jly5nShvCUzzngP3RzdQ3JcuEcHcnIEvkvZDCXqFAK+bWks4+qOkEUO1QIAERQ99J5J9/1AN/8zFBme3Mm57A==} + /@next/swc-win32-x64-msvc@14.2.11: + resolution: {integrity: sha512-gQpS7mcgovWoaTG1FbS5/ojF7CGfql1Q0ZLsMrhcsi2Sr9HEqsUZ70MPJyaYBXbk6iEAP7UXMD9HC8KY1qNwvA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1273,9 +1085,14 @@ packages: resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} dev: true - /@swc/helpers@0.5.11: - resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: + '@swc/counter': 0.1.3 tslib: 2.7.0 dev: false @@ -1319,13 +1136,13 @@ packages: resolution: {integrity: sha512-gor0RI3/R5rVV3gXfddh1MM+hgl0Z4G7tj6Xxpq6p2I03NGPaJ8dITY9Gz05zYYb/EJq9vPas/T4wn9EaDPd4Q==} dev: false - /@tanstack/react-query@5.56.2(react@19.0.0-rc-f994737d14-20240522): + /@tanstack/react-query@5.56.2(react@18.2.0): resolution: {integrity: sha512-SR0GzHVo6yzhN72pnRhkEFRAHMsUo5ZPzAxfTMvUxFIDVS6W9LYUp6nXW3fcHVdg0ZJl8opSH85jqahvm6DSVg==} peerDependencies: react: ^18 || ^19 dependencies: '@tanstack/query-core': 5.56.2 - react: 19.0.0-rc-f994737d14-20240522 + react: 18.2.0 dev: false /@types/cookie@0.6.0: @@ -1552,7 +1369,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vercel/analytics@1.3.1(next@15.0.0-rc.0)(react@19.0.0-rc-f994737d14-20240522): + /@vercel/analytics@1.3.1(next@14.2.11)(react@18.2.0): resolution: {integrity: sha512-xhSlYgAuJ6Q4WQGkzYTLmXwhYl39sWjoMA3nHxfkvG+WdBT25c563a7QhwwKivEOZtPJXifYHR1m2ihoisbWyA==} peerDependencies: next: '>= 13' @@ -1563,12 +1380,12 @@ packages: react: optional: true dependencies: - next: 15.0.0-rc.0(babel-plugin-react-compiler@0.0.0-experimental-fe484b5-20240912)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522) - react: 19.0.0-rc-f994737d14-20240522 + next: 14.2.11(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 server-only: 0.0.1 dev: false - /@vercel/speed-insights@1.0.12(next@15.0.0-rc.0)(react@19.0.0-rc-f994737d14-20240522): + /@vercel/speed-insights@1.0.12(next@14.2.11)(react@18.2.0): resolution: {integrity: sha512-ZGQ+a7bcfWJD2VYEp2R1LHvRAMyyaFBYytZXsfnbOMkeOvzGNVxUL7aVUvisIrTZjXTSsxG45DKX7yiw6nq2Jw==} requiresBuild: true peerDependencies: @@ -1592,8 +1409,8 @@ packages: vue-router: optional: true dependencies: - next: 15.0.0-rc.0(babel-plugin-react-compiler@0.0.0-experimental-fe484b5-20240912)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522) - react: 19.0.0-rc-f994737d14-20240522 + next: 14.2.11(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 dev: false /acorn-jsx@5.3.2(acorn@8.12.1): @@ -1950,25 +1767,6 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} requiresBuild: true - /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - requiresBuild: true - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - dev: false - optional: true - - /color@4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} - engines: {node: '>=12.5.0'} - requiresBuild: true - dependencies: - color-convert: 2.0.1 - color-string: 1.9.1 - dev: false - optional: true - /commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -2121,13 +1919,6 @@ packages: engines: {node: '>=8'} dev: false - /detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} - engines: {node: '>=8'} - requiresBuild: true - dev: false - optional: true - /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true @@ -2169,7 +1960,7 @@ packages: - supports-color dev: true - /drizzle-orm@0.33.0(@libsql/client@0.6.0)(@types/react@18.3.5)(mysql2@3.11.2)(react@19.0.0-rc-f994737d14-20240522): + /drizzle-orm@0.33.0(@libsql/client@0.6.0)(@types/react@18.3.5)(mysql2@3.11.2)(react@18.2.0): resolution: {integrity: sha512-SHy72R2Rdkz0LEq0PSG/IdvnT3nGiWuRk+2tXZQ90GVq/XQhpCzu/EFT3V2rox+w8MlkBQxifF8pCStNYnERfA==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' @@ -2261,7 +2052,7 @@ packages: '@libsql/client': 0.6.0 '@types/react': 18.3.5 mysql2: 3.11.2 - react: 19.0.0-rc-f994737d14-20240522 + react: 18.2.0 dev: false /eastasianwidth@0.2.0: @@ -3197,12 +2988,6 @@ packages: get-intrinsic: 1.2.4 dev: true - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - requiresBuild: true - dev: false - optional: true - /is-async-function@2.0.0: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} @@ -3568,12 +3353,12 @@ packages: resolution: {integrity: sha512-86xXMB6DiuKrTqkE/lRL0drlNh568awttBPJ7D66fzDHpy6NC5r3N+Ly/lKCS2zjmeGyvFDx670z0cD0PVBwGA==} engines: {bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0'} - /lucide-react@0.441.0(react@19.0.0-rc-f994737d14-20240522): + /lucide-react@0.441.0(react@18.2.0): resolution: {integrity: sha512-0vfExYtvSDhkC2lqg0zYVW1Uu9GsI4knuV9GP9by5z0Xhc4Zi5RejTxfz9LsjRmCyWVzHCJvxGKZWcRyvQCWVg==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc dependencies: - react: 19.0.0-rc-f994737d14-20240522 + react: 18.2.0 dev: false /merge2@1.4.1: @@ -3662,7 +3447,7 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /next-auth@5.0.0-beta.18(next@15.0.0-rc.0)(react@19.0.0-rc-f994737d14-20240522): + /next-auth@5.0.0-beta.18(next@14.2.11)(react@18.2.0): resolution: {integrity: sha512-x55L8wZb8PcPGCYA3e/l9tdpd7YL3FDuhas4W8pxq3PjrWJ9OoDxNN0otK9axJamJBbBgjfzTJjVQB6hXoe0ZQ==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 @@ -3679,52 +3464,47 @@ packages: optional: true dependencies: '@auth/core': 0.31.0 - next: 15.0.0-rc.0(babel-plugin-react-compiler@0.0.0-experimental-fe484b5-20240912)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522) - react: 19.0.0-rc-f994737d14-20240522 + next: 14.2.11(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 dev: false - /next@15.0.0-rc.0(babel-plugin-react-compiler@0.0.0-experimental-fe484b5-20240912)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522): - resolution: {integrity: sha512-IWcCvxUSCAuOK5gig4+9yiyt/dLKpIa+WT01Qcx4CBE4TtwJljyTDnCVVn64jDZ4qmSzsaEYXpb4DTI8qbk03A==} + /next@14.2.11(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-8MDFqHBhdmR2wdfaWc8+lW3A/hppFe1ggQ9vgIu/g2/2QEMYJrPoQP6b+VNk56gIug/bStysAmrpUKtj3XN8Bw==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 - babel-plugin-react-compiler: '*' - react: 19.0.0-rc-f994737d14-20240522 - react-dom: 19.0.0-rc-f994737d14-20240522 + react: ^18.2.0 + react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': optional: true '@playwright/test': optional: true - babel-plugin-react-compiler: - optional: true sass: optional: true dependencies: - '@next/env': 15.0.0-rc.0 - '@swc/helpers': 0.5.11 - babel-plugin-react-compiler: 0.0.0-experimental-fe484b5-20240912 + '@next/env': 14.2.11 + '@swc/helpers': 0.5.5 busboy: 1.6.0 caniuse-lite: 1.0.30001660 graceful-fs: 4.2.11 postcss: 8.4.31 - react: 19.0.0-rc-f994737d14-20240522 - react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522) - styled-jsx: 5.1.3(react@19.0.0-rc-f994737d14-20240522) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.0-rc.0 - '@next/swc-darwin-x64': 15.0.0-rc.0 - '@next/swc-linux-arm64-gnu': 15.0.0-rc.0 - '@next/swc-linux-arm64-musl': 15.0.0-rc.0 - '@next/swc-linux-x64-gnu': 15.0.0-rc.0 - '@next/swc-linux-x64-musl': 15.0.0-rc.0 - '@next/swc-win32-arm64-msvc': 15.0.0-rc.0 - '@next/swc-win32-ia32-msvc': 15.0.0-rc.0 - '@next/swc-win32-x64-msvc': 15.0.0-rc.0 - sharp: 0.33.5 + '@next/swc-darwin-arm64': 14.2.11 + '@next/swc-darwin-x64': 14.2.11 + '@next/swc-linux-arm64-gnu': 14.2.11 + '@next/swc-linux-arm64-musl': 14.2.11 + '@next/swc-linux-x64-gnu': 14.2.11 + '@next/swc-linux-x64-musl': 14.2.11 + '@next/swc-win32-arm64-msvc': 14.2.11 + '@next/swc-win32-ia32-msvc': 14.2.11 + '@next/swc-win32-x64-msvc': 14.2.11 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -4136,25 +3916,26 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true - /react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522): - resolution: {integrity: sha512-J4CsfTSptPKkhaPbaR6n/KohQiHZTrRZ8GL4H8rbAqN/Qpy69g2MIoLBr5/PUX21ye6JxC1ZRWJFna7Xdg1pdA==} + /react-dom@18.2.0(react@18.2.0): + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: - react: 19.0.0-rc-f994737d14-20240522 + react: ^18.2.0 dependencies: - react: 19.0.0-rc-f994737d14-20240522 - scheduler: 0.25.0-rc-f994737d14-20240522 + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.2 dev: false - /react-hook-form@7.53.0(react@19.0.0-rc-f994737d14-20240522): + /react-hook-form@7.53.0(react@18.2.0): resolution: {integrity: sha512-M1n3HhqCww6S2hxLxciEXy2oISPnAzxY7gvwVPrtlczTM/1dDadXgUxDpHMrMTblDOcm/AXtXxHwZ3jpg1mqKQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 dependencies: - react: 19.0.0-rc-f994737d14-20240522 + react: 18.2.0 dev: false - /react-hot-toast@2.4.1(csstype@3.1.3)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522): + /react-hot-toast@2.4.1(csstype@3.1.3)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ==} engines: {node: '>=10'} peerDependencies: @@ -4162,8 +3943,8 @@ packages: react-dom: '>=16' dependencies: goober: 2.1.14(csstype@3.1.3) - react: 19.0.0-rc-f994737d14-20240522 - react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - csstype dev: false @@ -4171,23 +3952,25 @@ packages: /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - /react-textarea-autosize@8.5.3(@types/react@18.3.5)(react@19.0.0-rc-f994737d14-20240522): + /react-textarea-autosize@8.5.3(@types/react@18.3.5)(react@18.2.0): resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@babel/runtime': 7.25.6 - react: 19.0.0-rc-f994737d14-20240522 - use-composed-ref: 1.3.0(react@19.0.0-rc-f994737d14-20240522) - use-latest: 1.2.1(@types/react@18.3.5)(react@19.0.0-rc-f994737d14-20240522) + react: 18.2.0 + use-composed-ref: 1.3.0(react@18.2.0) + use-latest: 1.2.1(@types/react@18.3.5)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false - /react@19.0.0-rc-f994737d14-20240522: - resolution: {integrity: sha512-SeU2v5Xy6FotVhKz0pMS2gvYP7HlkF0qgTskj3JzA1vlxcb3dQjxlm9t0ZlJqcgoyI3VFAw7bomuDMdgy1nBuw==} + /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-cache@1.0.0: @@ -4298,8 +4081,10 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /scheduler@0.25.0-rc-f994737d14-20240522: - resolution: {integrity: sha512-qS+xGFF7AljP2APO2iJe8zESNsK20k25MACz+WGOXPybUsRdi1ssvaoF93im2nSX2q/XT3wKkjdz6RQfbmaxdw==} + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + dependencies: + loose-envify: 1.4.0 dev: false /semver@6.3.1: @@ -4311,6 +4096,7 @@ packages: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true + dev: true /seq-queue@0.0.5: resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==} @@ -4341,37 +4127,6 @@ packages: has-property-descriptors: 1.0.2 dev: true - /sharp@0.33.5: - resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - requiresBuild: true - dependencies: - color: 4.2.3 - detect-libc: 2.0.3 - semver: 7.6.3 - optionalDependencies: - '@img/sharp-darwin-arm64': 0.33.5 - '@img/sharp-darwin-x64': 0.33.5 - '@img/sharp-libvips-darwin-arm64': 1.0.4 - '@img/sharp-libvips-darwin-x64': 1.0.4 - '@img/sharp-libvips-linux-arm': 1.0.5 - '@img/sharp-libvips-linux-arm64': 1.0.4 - '@img/sharp-libvips-linux-s390x': 1.0.4 - '@img/sharp-libvips-linux-x64': 1.0.4 - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 - '@img/sharp-linux-arm': 0.33.5 - '@img/sharp-linux-arm64': 0.33.5 - '@img/sharp-linux-s390x': 0.33.5 - '@img/sharp-linux-x64': 0.33.5 - '@img/sharp-linuxmusl-arm64': 0.33.5 - '@img/sharp-linuxmusl-x64': 0.33.5 - '@img/sharp-wasm32': 0.33.5 - '@img/sharp-win32-ia32': 0.33.5 - '@img/sharp-win32-x64': 0.33.5 - dev: false - optional: true - /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -4399,14 +4154,6 @@ packages: engines: {node: '>=14'} dev: true - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - requiresBuild: true - dependencies: - is-arrayish: 0.3.2 - dev: false - optional: true - /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -4550,13 +4297,13 @@ packages: engines: {node: '>=8'} dev: true - /styled-jsx@5.1.3(react@19.0.0-rc-f994737d14-20240522): - resolution: {integrity: sha512-qLRShOWTE/Mf6Bvl72kFeKBl8N2Eq9WIFfoAuvbtP/6tqlnj1SCjv117n2MIjOPpa1jTorYqLJgsHKy5Y3ziww==} + /styled-jsx@5.1.1(react@18.2.0): + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' peerDependenciesMeta: '@babel/core': optional: true @@ -4564,7 +4311,7 @@ packages: optional: true dependencies: client-only: 0.0.1 - react: 19.0.0-rc-f994737d14-20240522 + react: 18.2.0 dev: false /sucrase@3.35.0: @@ -4790,15 +4537,15 @@ packages: punycode: 2.3.1 dev: true - /use-composed-ref@1.3.0(react@19.0.0-rc-f994737d14-20240522): + /use-composed-ref@1.3.0(react@18.2.0): resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - react: 19.0.0-rc-f994737d14-20240522 + react: 18.2.0 dev: false - /use-isomorphic-layout-effect@1.1.2(@types/react@18.3.5)(react@19.0.0-rc-f994737d14-20240522): + /use-isomorphic-layout-effect@1.1.2(@types/react@18.3.5)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -4808,10 +4555,10 @@ packages: optional: true dependencies: '@types/react': 18.3.5 - react: 19.0.0-rc-f994737d14-20240522 + react: 18.2.0 dev: false - /use-latest@1.2.1(@types/react@18.3.5)(react@19.0.0-rc-f994737d14-20240522): + /use-latest@1.2.1(@types/react@18.3.5)(react@18.2.0): resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' @@ -4821,8 +4568,8 @@ packages: optional: true dependencies: '@types/react': 18.3.5 - react: 19.0.0-rc-f994737d14-20240522 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.5)(react@19.0.0-rc-f994737d14-20240522) + react: 18.2.0 + use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.5)(react@18.2.0) dev: false /util-deprecate@1.0.2: diff --git a/src/app/admin/PageContent.tsx b/src/app/admin/PageContent.tsx new file mode 100644 index 0000000..ddd4f57 --- /dev/null +++ b/src/app/admin/PageContent.tsx @@ -0,0 +1,137 @@ +'use client'; + +import { Download, Upload, RotateCcw, User, Images } from 'lucide-react'; +import { useState } from 'react'; +import toast from 'react-hot-toast'; + +import Input from '~/components/form/Input'; +import Textarea from '~/components/form/Textarea'; +import TextButton from '~/components/styled/TextButton'; +import useAsyncAction from '~/hooks/useAsyncAction'; +import { + createTurtleWoWAccount, + exportClientTrees, + exportTable, + exportMissingIcons, + importClientTrees, + importTable, + regenerateIds +} from '~/server/api/routers/general'; +import { downloadBlob } from '~/utils'; + +import AdminModule from './AdminModule'; + +const PageContent = () => { + const { asyncAction, disableInteractions } = useAsyncAction(); + + const [table, setTable] = useState(''); + const [dbImport, setDbImport] = useState(''); + const [clientImport, setClientImport] = useState(''); + + return ( + <> +

Admin panel

+
+ + createTurtleWoWAccount(undefined))} + disabled={disableInteractions} + > + Create TurtleWoW account + + regenerateIds(undefined))} + disabled={disableInteractions} + > + Regenerate IDs + + { + const response = await exportMissingIcons(undefined); + window.navigator.clipboard.writeText(response); + toast.success('Copied to clipboard'); + })} + disabled={disableInteractions} + > + Export WoWHead icons + + + + + setTable(e.currentTarget.value)} + /> +