diff --git a/package.json b/package.json index ea0ece8..e8ff13c 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "devDependencies": { "@melt-ui/pp": "^0.3.0", - "@melt-ui/svelte": "^0.76.0", + "@melt-ui/svelte": "^0.76.2", "@playwright/test": "^1.42.1", "@resvg/resvg-js": "^2.6.0", "@sveltejs/adapter-auto": "^3.1.1", @@ -59,13 +59,13 @@ "svelte-sequential-preprocessor": "^2.0.1", "sveltekit-flash-message": "^2.4.4", "sveltekit-rate-limiter": "^0.4.3", - "sveltekit-superforms": "^2.10.6", + "sveltekit-superforms": "^2.11.0", "tailwindcss": "^3.4.1", "ts-node": "^10.9.2", "tslib": "^2.6.1", "tsx": "^4.7.1", "typescript": "^5.4.3", - "vite": "^5.2.2", + "vite": "^5.2.6", "vitest": "^1.4.0", "zod": "^3.22.4" }, @@ -105,13 +105,13 @@ "open-props": "^1.6.21", "oslo": "^1.1.3", "pg": "^8.11.3", - "postgres": "^3.4.3", + "postgres": "^3.4.4", "radix-svelte": "^0.9.0", "svelte-french-toast": "^1.2.0", "svelte-lazy-loader": "^1.0.0", "tailwind-merge": "^2.2.2", "tailwind-variants": "^0.2.1", "tailwindcss-animate": "^1.0.6", - "zod-to-json-schema": "^3.22.4" + "zod-to-json-schema": "^3.22.5" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85b93db..f1117f0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,13 +58,13 @@ dependencies: version: 0.6.0 drizzle-orm: specifier: ^0.30.4 - version: 0.30.4(@neondatabase/serverless@0.9.0)(@planetscale/database@1.16.0)(@types/pg@8.11.4)(pg@8.11.3)(postgres@3.4.3) + version: 0.30.4(@neondatabase/serverless@0.9.0)(@planetscale/database@1.16.0)(@types/pg@8.11.4)(pg@8.11.3)(postgres@3.4.4) feather-icons: specifier: ^4.29.1 version: 4.29.1 formsnap: specifier: ^0.5.1 - version: 0.5.1(svelte@4.2.12)(sveltekit-superforms@2.10.6) + version: 0.5.1(svelte@4.2.12)(sveltekit-superforms@2.11.0) html-entities: specifier: ^2.5.2 version: 2.5.2 @@ -96,8 +96,8 @@ dependencies: specifier: ^8.11.3 version: 8.11.3 postgres: - specifier: ^3.4.3 - version: 3.4.3 + specifier: ^3.4.4 + version: 3.4.4 radix-svelte: specifier: ^0.9.0 version: 0.9.0(svelte@4.2.12) @@ -117,16 +117,16 @@ dependencies: specifier: ^1.0.6 version: 1.0.7(tailwindcss@3.4.1) zod-to-json-schema: - specifier: ^3.22.4 - version: 3.22.4(zod@3.22.4) + specifier: ^3.22.5 + version: 3.22.5(zod@3.22.4) devDependencies: '@melt-ui/pp': specifier: ^0.3.0 - version: 0.3.0(@melt-ui/svelte@0.76.0)(svelte@4.2.12) + version: 0.3.0(@melt-ui/svelte@0.76.2)(svelte@4.2.12) '@melt-ui/svelte': - specifier: ^0.76.0 - version: 0.76.0(svelte@4.2.12) + specifier: ^0.76.2 + version: 0.76.2(svelte@4.2.12) '@playwright/test': specifier: ^1.42.1 version: 1.42.1 @@ -141,10 +141,10 @@ devDependencies: version: 0.1.9(svelte@4.2.12) '@sveltejs/kit': specifier: ^2.5.4 - version: 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2) + version: 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6) '@sveltejs/vite-plugin-svelte': specifier: ^3.0.2 - version: 3.0.2(svelte@4.2.12)(vite@5.2.2) + version: 3.0.2(svelte@4.2.12)(vite@5.2.6) '@types/cookie': specifier: ^0.6.0 version: 0.6.0 @@ -236,8 +236,8 @@ devDependencies: specifier: ^0.4.3 version: 0.4.3(@sveltejs/kit@2.5.4) sveltekit-superforms: - specifier: ^2.10.6 - version: 2.10.6(@sveltejs/kit@2.5.4)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.2)(svelte@4.2.12) + specifier: ^2.11.0 + version: 2.11.0(@sveltejs/kit@2.5.4)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.2)(svelte@4.2.12) tailwindcss: specifier: ^3.4.1 version: 3.4.1(ts-node@10.9.2) @@ -254,8 +254,8 @@ devDependencies: specifier: ^5.4.3 version: 5.4.3 vite: - specifier: ^5.2.2 - version: 5.2.2(@types/node@20.11.30)(sass@1.72.0) + specifier: ^5.2.6 + version: 5.2.6(@types/node@20.11.30)(sass@1.72.0) vitest: specifier: ^1.4.0 version: 1.4.0(@types/node@20.11.30)(sass@1.72.0) @@ -2034,14 +2034,14 @@ packages: - supports-color dev: false - /@melt-ui/pp@0.3.0(@melt-ui/svelte@0.76.0)(svelte@4.2.12): + /@melt-ui/pp@0.3.0(@melt-ui/svelte@0.76.2)(svelte@4.2.12): resolution: {integrity: sha512-b07Bdh8l2KcwKVCXOY+SoBw1dk9eWvQfMSi6SoacpRVyVmmfpi0kV4oGt3HYF0tUCB3sEmVicxse50ZzZxEzEA==} engines: {pnpm: '>=8.6.3'} peerDependencies: '@melt-ui/svelte': '>= 0.29.0' svelte: ^3.55.0 || ^4.0.0 || ^5.0.0-next.1 dependencies: - '@melt-ui/svelte': 0.76.0(svelte@4.2.12) + '@melt-ui/svelte': 0.76.2(svelte@4.2.12) estree-walker: 3.0.3 magic-string: 0.30.5 svelte: 4.2.12 @@ -2059,6 +2059,21 @@ packages: focus-trap: 7.5.4 nanoid: 5.0.6 svelte: 4.2.12 + dev: false + + /@melt-ui/svelte@0.76.2(svelte@4.2.12): + resolution: {integrity: sha512-7SbOa11tXUS95T3fReL+dwDs5FyJtCEqrqG3inRziDws346SYLsxOQ6HmX+4BkIsQh1R8U3XNa+EMmdMt38lMA==} + peerDependencies: + svelte: '>=3 <5' + dependencies: + '@floating-ui/core': 1.6.0 + '@floating-ui/dom': 1.6.3 + '@internationalized/date': 3.5.2 + dequal: 2.0.3 + focus-trap: 7.5.4 + nanoid: 5.0.6 + svelte: 4.2.12 + dev: true /@napi-rs/wasm-runtime@0.1.2: resolution: {integrity: sha512-8JuczewTFIZ/XIjHQ+YlQUydHvlKx2hkcxtuGwh+t/t5zWyZct6YG4+xjHcq8xyc/e7FmFwf42Zj2YgICwmlvA==} @@ -3122,7 +3137,7 @@ packages: '@sentry/types': 7.100.1 '@sentry/utils': 7.100.1 '@sentry/vite-plugin': 0.6.1 - '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2) + '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6) magicast: 0.2.8 sorcery: 0.11.0 transitivePeerDependencies: @@ -3201,8 +3216,8 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@sinclair/typebox@0.32.18: - resolution: {integrity: sha512-ioMK5TA5YOloYf/GcnF+1fT4eTvowJes2j7Pm0Ivlm9xq61keqQw/XtbQQnPG8O4uq2y2DDenU8OqNc93xn11Q==} + /@sinclair/typebox@0.32.19: + resolution: {integrity: sha512-AUphm4Py6t+q5b6TU8OA9YRgeGfogsWy2oZvYLRCxt6d+mPkT0Mc4j+BusQYMGJH47DJe3/fKkLtmWPrKP1nzQ==} requiresBuild: true optional: true @@ -3216,7 +3231,7 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 dependencies: - '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2) + '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6) import-meta-resolve: 4.0.0 dev: true @@ -3225,7 +3240,7 @@ packages: peerDependencies: '@sveltejs/kit': ^2.4.0 dependencies: - '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2) + '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6) '@vercel/nft': 0.26.4 esbuild: 0.19.12 transitivePeerDependencies: @@ -3244,7 +3259,7 @@ packages: - svelte dev: true - /@sveltejs/kit@2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2): + /@sveltejs/kit@2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6): resolution: {integrity: sha512-eDxK2d4EGzk99QsZNoPXe7jlzA5EGqfcCpUwZ912bhnalsZ2ZsG5wGRthkydupVjYyqdmzEanVKFhLxU2vkPSQ==} engines: {node: '>=18.13'} hasBin: true @@ -3254,7 +3269,7 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.3 dependencies: - '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.2.2) + '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.2.6) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 4.3.2 @@ -3268,9 +3283,9 @@ packages: sirv: 2.0.4 svelte: 4.2.12 tiny-glob: 0.2.9 - vite: 5.2.2(@types/node@20.11.30)(sass@1.72.0) + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) - /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2): + /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6): resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==} engines: {node: ^18.0.0 || >=20} peerDependencies: @@ -3278,29 +3293,29 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.2.2) + '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.2.6) debug: 4.3.4 svelte: 4.2.12 - vite: 5.2.2(@types/node@20.11.30)(sass@1.72.0) + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) transitivePeerDependencies: - supports-color - /@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.2.2): + /@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.2.6): resolution: {integrity: sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==} engines: {node: ^18.0.0 || >=20} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2) + '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6) debug: 4.3.4 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.5 svelte: 4.2.12 svelte-hmr: 0.15.3(svelte@4.2.12) - vite: 5.2.2(@types/node@20.11.30)(sass@1.72.0) - vitefu: 0.2.5(vite@5.2.2) + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) + vitefu: 0.2.5(vite@5.2.6) transitivePeerDependencies: - supports-color @@ -4279,7 +4294,7 @@ packages: - supports-color dev: true - /drizzle-orm@0.30.4(@neondatabase/serverless@0.9.0)(@planetscale/database@1.16.0)(@types/pg@8.11.4)(pg@8.11.3)(postgres@3.4.3): + /drizzle-orm@0.30.4(@neondatabase/serverless@0.9.0)(@planetscale/database@1.16.0)(@types/pg@8.11.4)(pg@8.11.3)(postgres@3.4.4): resolution: {integrity: sha512-kWoSMGbrOFkmkAweLTFtHJMpN+nwhx89q0mLELqT2aEU+1szNV8jrnBmJwZ0WGNp7J7yQn/ezEtxBI/qzTSElQ==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' @@ -4360,7 +4375,7 @@ packages: '@planetscale/database': 1.16.0 '@types/pg': 8.11.4 pg: 8.11.3 - postgres: 3.4.3 + postgres: 3.4.4 dev: false /electron-to-chromium@1.4.677: @@ -4850,7 +4865,7 @@ packages: is-callable: 1.2.7 dev: false - /formsnap@0.5.1(svelte@4.2.12)(sveltekit-superforms@2.10.6): + /formsnap@0.5.1(svelte@4.2.12)(sveltekit-superforms@2.11.0): resolution: {integrity: sha512-8ppOlOu7llBEJbV0PzUz/KWh1J8KfiGqwjiyb8emQ2m+/nYXohLBtMcLVpW3XwlMkUbYaIXM+5lhfGjw8xbGJw==} peerDependencies: svelte: ^4.0.0 @@ -4858,7 +4873,7 @@ packages: dependencies: nanoid: 5.0.6 svelte: 4.2.12 - sveltekit-superforms: 2.10.6(@sveltejs/kit@2.5.4)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.2)(svelte@4.2.12) + sveltekit-superforms: 2.11.0(@sveltejs/kit@2.5.4)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.2)(svelte@4.2.12) dev: false /fraction.js@4.3.7: @@ -6542,8 +6557,8 @@ packages: /postgres-range@1.1.4: resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - /postgres@3.4.3: - resolution: {integrity: sha512-iHJn4+M9vbTdHSdDzNkC0crHq+1CUdFhx+YqCE+SqWxPjm+Zu63jq7yZborOBF64c8pc58O5uMudyL1FQcHacA==} + /postgres@3.4.4: + resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==} engines: {node: '>=12'} dev: false @@ -7245,7 +7260,7 @@ packages: '@sveltejs/kit': 1.x || 2.x svelte: 3.x || 4.x || >=5.0.0-next.51 dependencies: - '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2) + '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6) svelte: 4.2.12 dev: true @@ -7255,16 +7270,16 @@ packages: '@sveltejs/kit': 1.x || 2.x dependencies: '@isaacs/ttlcache': 1.4.1 - '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2) + '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6) dev: true - /sveltekit-superforms@2.10.6(@sveltejs/kit@2.5.4)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.2)(svelte@4.2.12): - resolution: {integrity: sha512-Gu3a13rrjLdJ8EgITqrVB7PnH1XprqZa26Y8H1YSplfgR8+Kuu1v+fSz21N3UCGNNN1BozSjLaUfouerD6WRxQ==} + /sveltekit-superforms@2.11.0(@sveltejs/kit@2.5.4)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.2)(svelte@4.2.12): + resolution: {integrity: sha512-wRAznfYi9sOp4aQd2kb/SIafqHX4LROn5ojIXEbp2Pss9EPy69tmArQFm3JaiBC0hU72bAlUOTFSmVABTF9TEA==} peerDependencies: '@sveltejs/kit': 1.x || 2.x svelte: 3.x || 4.x || >=5.0.0-next.51 dependencies: - '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.2) + '@sveltejs/kit': 2.5.4(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.2.6) devalue: 4.3.2 just-clone: 6.2.0 memoize-weak: 1.0.2 @@ -7272,7 +7287,7 @@ packages: ts-deepmerge: 7.0.0 optionalDependencies: '@gcornut/valibot-json-schema': 0.0.26(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.2)(valibot@0.30.0) - '@sinclair/typebox': 0.32.18 + '@sinclair/typebox': 0.32.19 '@sodaru/yup-to-json-schema': 2.0.1 '@vinejs/vine': 1.8.0 arktype: 1.0.29-alpha @@ -7281,7 +7296,7 @@ packages: valibot: 0.30.0 yup: 1.4.0 zod: 3.22.4 - zod-to-json-schema: 3.22.4(zod@3.22.4) + zod-to-json-schema: 3.22.5(zod@3.22.4) transitivePeerDependencies: - '@types/json-schema' - esbuild @@ -7632,7 +7647,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.2(@types/node@20.11.30)(sass@1.72.0) + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) transitivePeerDependencies: - '@types/node' - less @@ -7644,8 +7659,8 @@ packages: - terser dev: true - /vite@5.2.2(@types/node@20.11.30)(sass@1.72.0): - resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==} + /vite@5.2.6(@types/node@20.11.30)(sass@1.72.0): + resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -7680,7 +7695,7 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitefu@0.2.5(vite@5.2.2): + /vitefu@0.2.5(vite@5.2.6): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 @@ -7688,7 +7703,7 @@ packages: vite: optional: true dependencies: - vite: 5.2.2(@types/node@20.11.30)(sass@1.72.0) + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) /vitest@1.4.0(@types/node@20.11.30)(sass@1.72.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} @@ -7733,7 +7748,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.2.2(@types/node@20.11.30)(sass@1.72.0) + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) vite-node: 1.4.0(@types/node@20.11.30)(sass@1.72.0) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -7849,8 +7864,8 @@ packages: type-fest: 2.19.0 optional: true - /zod-to-json-schema@3.22.4(zod@3.22.4): - resolution: {integrity: sha512-2Ed5dJ+n/O3cU383xSY28cuVi0BCQhF8nYqWU5paEpl7fVdqdAmiLdqLyfblbNdfOFwFfi/mqU4O1pwc60iBhQ==} + /zod-to-json-schema@3.22.5(zod@3.22.4): + resolution: {integrity: sha512-+akaPo6a0zpVCCseDed504KBJUQpEW5QZw7RMneNmKw+fGaML1Z9tUNLnHHAC8x6dzVRO1eB2oEMyZRnuBZg7Q==} peerDependencies: zod: ^3.22.4 dependencies: diff --git a/src/lib/server/auth.ts b/src/lib/server/auth.ts index 7c90149..be1472e 100644 --- a/src/lib/server/auth.ts +++ b/src/lib/server/auth.ts @@ -48,6 +48,7 @@ declare module 'lucia' { interface Register { Lucia: typeof lucia; DatabaseUserAttributes: DatabaseUserAttributes; + DatabaseSessionAttributes: DatabaseSessionAttributes; } interface DatabaseSessionAttributes { ip_country: string; @@ -59,5 +60,6 @@ declare module 'lucia' { firstName: string; lastName: string; theme: string; + two_factor_secret: string | null; } } diff --git a/src/routes/(app)/(protected)/profile/+page.server.ts b/src/routes/(app)/(protected)/profile/+page.server.ts index d2327c9..40122a8 100644 --- a/src/routes/(app)/(protected)/profile/+page.server.ts +++ b/src/routes/(app)/(protected)/profile/+page.server.ts @@ -39,6 +39,7 @@ export const load: PageServerLoad = async (event) => { return { profileForm, emailForm, + hasSetupTwoFactor: !!dbUser?.two_factor_secret }; }; diff --git a/src/routes/(app)/(protected)/profile/+page.svelte b/src/routes/(app)/(protected)/profile/+page.svelte index db0c3e5..8f2ce97 100644 --- a/src/routes/(app)/(protected)/profile/+page.svelte +++ b/src/routes/(app)/(protected)/profile/+page.svelte @@ -12,6 +12,8 @@ export let data; + const hasSetupTwoFactor = data.hasSetupTwoFactor; + const { form: profileForm, errors: profileErrors, enhance: profileEnhance } = superForm(data.profileForm, { taintedMessage: null, validators: zodClient(profileSchema), @@ -90,12 +92,25 @@ {/if} -