diff --git a/app/components/artifacts.tsx b/app/components/artifacts.tsx index ce187fbcb..f082694c4 100644 --- a/app/components/artifacts.tsx +++ b/app/components/artifacts.tsx @@ -203,7 +203,7 @@ export function ArtifactsShareButton({ } export function Artifacts() { - const { id } = useParams(); + const { id } = useParams<{ id: string }>(); const [code, setCode] = useState(""); const [loading, setLoading] = useState(true); const [fileName, setFileName] = useState(""); diff --git a/package.json b/package.json index 276425afe..8c21f1f7c 100644 --- a/package.json +++ b/package.json @@ -25,14 +25,15 @@ "@vercel/analytics": "^0.1.11", "@vercel/speed-insights": "^1.0.2", "axios": "^1.7.5", + "csstype": "^3.1.3", "emoji-picker-react": "^4.9.2", "fuse.js": "^7.0.0", "heic2any": "^0.0.4", "html-to-image": "^1.11.11", "idb-keyval": "^6.2.1", "lodash-es": "^4.17.21", - "mermaid": "^10.6.1", "markdown-to-txt": "^2.0.1", + "mermaid": "^10.6.1", "nanoid": "^5.0.3", "next": "^14.1.1", "node-fetch": "^3.3.1", @@ -60,6 +61,7 @@ "@types/react": "^18.2.70", "@types/react-dom": "^18.2.7", "@types/react-katex": "^3.0.0", + "@types/react-router": "^5.1.20", "@types/spark-md5": "^3.0.4", "concurrently": "^8.2.2", "cross-env": "^7.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 18bb63bec..811392bef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,10 +13,10 @@ importers: version: 3.0.6 '@hello-pangea/dnd': specifier: ^16.5.0 - version: 16.5.0(@types/react-dom@18.2.7)(@types/react@18.2.70)(react-dom@18.2.0)(react@18.2.0) + version: 16.5.0(@types/react-dom@18.2.7)(@types/react@18.2.70)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@next/third-parties': specifier: ^14.1.0 - version: 14.1.0(next@14.1.1)(react@18.2.0) + version: 14.1.0(next@14.1.1(@babel/core@7.25.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.59.2))(react@18.2.0) '@svgr/webpack': specifier: ^6.5.1 version: 6.5.1 @@ -29,6 +29,9 @@ importers: axios: specifier: ^1.7.5 version: 1.7.5 + csstype: + specifier: ^3.1.3 + version: 3.1.3 emoji-picker-react: specifier: ^4.9.2 version: 4.9.2(react@18.2.0) @@ -58,7 +61,7 @@ importers: version: 5.0.3 next: specifier: ^14.1.1 - version: 14.1.1(@babel/core@7.25.2)(react-dom@18.2.0)(react@18.2.0)(sass@1.59.2) + version: 14.1.1(@babel/core@7.25.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.59.2) node-fetch: specifier: ^3.3.1 version: 3.3.1 @@ -76,7 +79,7 @@ importers: version: 8.0.7(@types/react@18.2.70)(react@18.2.0) react-router-dom: specifier: ^6.15.0 - version: 6.15.0(react-dom@18.2.0)(react@18.2.0) + version: 6.15.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) rehype-highlight: specifier: ^6.0.0 version: 6.0.0 @@ -129,6 +132,9 @@ importers: '@types/react-katex': specifier: ^3.0.0 version: 3.0.0 + '@types/react-router': + specifier: ^5.1.20 + version: 5.1.20 '@types/spark-md5': specifier: ^3.0.4 version: 3.0.4 @@ -149,7 +155,7 @@ importers: version: 8.8.0(eslint@8.49.0) eslint-plugin-prettier: specifier: ^5.1.3 - version: 5.1.3(eslint-config-prettier@8.8.0)(eslint@8.49.0)(prettier@3.0.2) + version: 5.1.3(@types/eslint@9.6.1)(eslint-config-prettier@8.8.0(eslint@8.49.0))(eslint@8.49.0)(prettier@3.0.2) eslint-plugin-unused-imports: specifier: ^3.2.0 version: 3.2.0(eslint@8.49.0) @@ -1298,6 +1304,9 @@ packages: '@types/hast@2.3.10': resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + '@types/hoist-non-react-statics@3.3.5': resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} @@ -1343,6 +1352,9 @@ packages: '@types/react-katex@3.0.0': resolution: {integrity: sha512-AiHHXh71a2M7Z6z1wj6iA23SkiRF9r0neHUdu8zjU/cT3MyLxDefYHbcceKhV/gjDEZgF3YaiNHyPNtoGUjPvg==} + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + '@types/react@18.2.70': resolution: {integrity: sha512-hjlM2hho2vqklPhopNkXkdkeq6Lv8WSZTpr7956zY+3WS5cfYUewtCzsJLsbW5dEv3lfSeQ4W14ZFeKC437JRQ==} @@ -4920,7 +4932,7 @@ snapshots: '@fortaine/fetch-event-source@3.0.6': {} - '@hello-pangea/dnd@16.5.0(@types/react-dom@18.2.7)(@types/react@18.2.70)(react-dom@18.2.0)(react@18.2.0)': + '@hello-pangea/dnd@16.5.0(@types/react-dom@18.2.7)(@types/react@18.2.70)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.25.6 css-box-model: 1.2.1 @@ -4928,7 +4940,7 @@ snapshots: raf-schd: 4.0.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-redux: 8.1.3(@types/react-dom@18.2.7)(@types/react@18.2.70)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.1) + react-redux: 8.1.3(@types/react-dom@18.2.7)(@types/react@18.2.70)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1) redux: 4.2.1 use-memo-one: 1.1.3(react@18.2.0) transitivePeerDependencies: @@ -5003,9 +5015,9 @@ snapshots: '@next/swc-win32-x64-msvc@14.1.1': optional: true - '@next/third-parties@14.1.0(next@14.1.1)(react@18.2.0)': + '@next/third-parties@14.1.0(next@14.1.1(@babel/core@7.25.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.59.2))(react@18.2.0)': dependencies: - next: 14.1.1(@babel/core@7.25.2)(react-dom@18.2.0)(react@18.2.0)(sass@1.59.2) + next: 14.1.1(@babel/core@7.25.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.59.2) react: 18.2.0 third-party-capital: 1.0.20 @@ -5199,6 +5211,8 @@ snapshots: dependencies: '@types/unist': 2.0.11 + '@types/history@4.7.11': {} + '@types/hoist-non-react-statics@3.3.5': dependencies: '@types/react': 18.2.70 @@ -5242,6 +5256,11 @@ snapshots: dependencies: '@types/react': 18.2.70 + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.2.70 + '@types/react@18.2.70': dependencies: '@types/prop-types': 15.7.13 @@ -5264,6 +5283,7 @@ snapshots: '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7 eslint: 8.49.0 + optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -5285,6 +5305,7 @@ snapshots: minimatch: 9.0.3 semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.2.2) + optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -6232,11 +6253,12 @@ snapshots: '@typescript-eslint/parser': 6.21.0(eslint@8.49.0)(typescript@5.2.2) eslint: 8.49.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.49.0) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.3)(eslint@8.49.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.49.0))(eslint@8.49.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.49.0))(eslint@8.49.0))(eslint@8.49.0) eslint-plugin-jsx-a11y: 6.10.0(eslint@8.49.0) eslint-plugin-react: 7.36.1(eslint@8.49.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.49.0) + optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: - eslint-import-resolver-webpack @@ -6255,38 +6277,39 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.49.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.49.0))(eslint@8.49.0): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 8.49.0 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.49.0) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.3)(eslint@8.49.0) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.49.0))(eslint@8.49.0))(eslint@8.49.0) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 is-glob: 4.0.3 + optionalDependencies: + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.49.0))(eslint@8.49.0))(eslint@8.49.0) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.11.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.49.0): + eslint-module-utils@2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.49.0))(eslint@8.49.0))(eslint@8.49.0): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.49.0)(typescript@5.2.2) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.49.0)(typescript@5.2.2) eslint: 8.49.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.49.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.49.0))(eslint@8.49.0) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.3)(eslint@8.49.0): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.49.0))(eslint@8.49.0))(eslint@8.49.0): dependencies: '@rtsao/scc': 1.1.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.49.0)(typescript@5.2.2) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -6295,7 +6318,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.49.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.49.0) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.49.0))(eslint@8.49.0))(eslint@8.49.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -6305,6 +6328,8 @@ snapshots: object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.49.0)(typescript@5.2.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -6330,13 +6355,15 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.0 - eslint-plugin-prettier@5.1.3(eslint-config-prettier@8.8.0)(eslint@8.49.0)(prettier@3.0.2): + eslint-plugin-prettier@5.1.3(@types/eslint@9.6.1)(eslint-config-prettier@8.8.0(eslint@8.49.0))(eslint@8.49.0)(prettier@3.0.2): dependencies: eslint: 8.49.0 - eslint-config-prettier: 8.8.0(eslint@8.49.0) prettier: 3.0.2 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 + optionalDependencies: + '@types/eslint': 9.6.1 + eslint-config-prettier: 8.8.0(eslint@8.49.0) eslint-plugin-react-hooks@4.6.2(eslint@8.49.0): dependencies: @@ -7425,7 +7452,7 @@ snapshots: neo-async@2.6.2: {} - next@14.1.1(@babel/core@7.25.2)(react-dom@18.2.0)(react@18.2.0)(sass@1.59.2): + next@14.1.1(@babel/core@7.25.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.59.2): dependencies: '@next/env': 14.1.1 '@swc/helpers': 0.5.2 @@ -7435,7 +7462,6 @@ snapshots: postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - sass: 1.59.2 styled-jsx: 5.1.1(@babel/core@7.25.2)(react@18.2.0) optionalDependencies: '@next/swc-darwin-arm64': 14.1.1 @@ -7447,6 +7473,7 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.1.1 '@next/swc-win32-ia32-msvc': 14.1.1 '@next/swc-win32-x64-msvc': 14.1.1 + sass: 1.59.2 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -7660,21 +7687,22 @@ snapshots: transitivePeerDependencies: - supports-color - react-redux@8.1.3(@types/react-dom@18.2.7)(@types/react@18.2.70)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.1): + react-redux@8.1.3(@types/react-dom@18.2.7)(@types/react@18.2.70)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1): dependencies: '@babel/runtime': 7.25.6 '@types/hoist-non-react-statics': 3.3.5 - '@types/react': 18.2.70 - '@types/react-dom': 18.2.7 '@types/use-sync-external-store': 0.0.3 hoist-non-react-statics: 3.3.2 react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) react-is: 18.3.1 - redux: 4.2.1 use-sync-external-store: 1.2.2(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.70 + '@types/react-dom': 18.2.7 + react-dom: 18.2.0(react@18.2.0) + redux: 4.2.1 - react-router-dom@6.15.0(react-dom@18.2.0)(react@18.2.0): + react-router-dom@6.15.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@remix-run/router': 1.8.0 react: 18.2.0 @@ -8035,9 +8063,10 @@ snapshots: styled-jsx@5.1.1(@babel/core@7.25.2)(react@18.2.0): dependencies: - '@babel/core': 7.25.2 client-only: 0.0.1 react: 18.2.0 + optionalDependencies: + '@babel/core': 7.25.2 stylis@4.3.4: {} @@ -8422,7 +8451,8 @@ snapshots: zustand@4.3.8(react@18.2.0): dependencies: - react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) + optionalDependencies: + react: 18.2.0 zwitch@2.0.4: {}