update auth. deal with migraine

This commit is contained in:
Gabriel Brown 2025-06-03 17:00:53 -05:00
parent a9e7d8e126
commit ef24642128
5 changed files with 252 additions and 241 deletions

View File

@ -24,7 +24,7 @@
"@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slot": "^1.2.3",
"@supabase/ssr": "^0.6.1",
"@supabase/supabase-js": "^2.49.8",
"@supabase/supabase-js": "^2.49.9",
"@t3-oss/env-nextjs": "^0.12.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
@ -33,9 +33,9 @@
"next-themes": "^0.4.6",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-hook-form": "^7.56.4",
"sonner": "^2.0.4",
"zod": "^3.25.42"
"react-hook-form": "^7.57.0",
"sonner": "^2.0.5",
"zod": "^3.25.49"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.1",
@ -51,9 +51,9 @@
"tailwind-merge": "^3.3.0",
"tailwindcss": "^4.1.8",
"tailwindcss-animate": "^1.0.7",
"tw-animate-css": "^1.3.2",
"tw-animate-css": "^1.3.3",
"typescript": "^5.8.3",
"typescript-eslint": "^8.33.0"
"typescript-eslint": "^8.33.1"
},
"ct3aMetadata": {
"initVersion": "7.39.3"

428
pnpm-lock.yaml generated
View File

@ -10,7 +10,7 @@ importers:
dependencies:
'@hookform/resolvers':
specifier: ^5.0.1
version: 5.0.1(react-hook-form@7.56.4(react@19.1.0))
version: 5.0.1(react-hook-form@7.57.0(react@19.1.0))
'@radix-ui/react-avatar':
specifier: ^1.1.10
version: 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.6))(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
@ -31,13 +31,13 @@ importers:
version: 1.2.3(@types/react@19.1.6)(react@19.1.0)
'@supabase/ssr':
specifier: ^0.6.1
version: 0.6.1(@supabase/supabase-js@2.49.8)
version: 0.6.1(@supabase/supabase-js@2.49.9)
'@supabase/supabase-js':
specifier: ^2.49.8
version: 2.49.8
specifier: ^2.49.9
version: 2.49.9
'@t3-oss/env-nextjs':
specifier: ^0.12.0
version: 0.12.0(typescript@5.8.3)(zod@3.25.42)
version: 0.12.0(typescript@5.8.3)(zod@3.25.49)
class-variance-authority:
specifier: ^0.7.1
version: 0.7.1
@ -60,14 +60,14 @@ importers:
specifier: ^19.1.0
version: 19.1.0(react@19.1.0)
react-hook-form:
specifier: ^7.56.4
version: 7.56.4(react@19.1.0)
specifier: ^7.57.0
version: 7.57.0(react@19.1.0)
sonner:
specifier: ^2.0.4
version: 2.0.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
specifier: ^2.0.5
version: 2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
zod:
specifier: ^3.25.42
version: 3.25.42
specifier: ^3.25.49
version: 3.25.49
devDependencies:
'@eslint/eslintrc':
specifier: ^3.3.1
@ -109,14 +109,14 @@ importers:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@4.1.8)
tw-animate-css:
specifier: ^1.3.2
version: 1.3.2
specifier: ^1.3.3
version: 1.3.3
typescript:
specifier: ^5.8.3
version: 5.8.3
typescript-eslint:
specifier: ^8.33.0
version: 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
specifier: ^8.33.1
version: 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
packages:
@ -175,14 +175,14 @@ packages:
resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@floating-ui/core@1.7.0':
resolution: {integrity: sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==}
'@floating-ui/core@1.7.1':
resolution: {integrity: sha512-azI0DrjMMfIug/ExbBaeDVJXcY0a7EPvPjb2xAJPa4HeimBX+Z18HK8QQR3jb6356SnDDdxx+hinMLcJEDdOjw==}
'@floating-ui/dom@1.7.0':
resolution: {integrity: sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==}
'@floating-ui/dom@1.7.1':
resolution: {integrity: sha512-cwsmW/zyw5ltYTUeeYJ60CnQuPqmGwuGVhG9w0PRaRKkAyi38BT5CKrpIbb+jtahSwUl04cWzSx9ZOIxeS6RsQ==}
'@floating-ui/react-dom@2.1.2':
resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
'@floating-ui/react-dom@2.1.3':
resolution: {integrity: sha512-huMBfiU9UnQ2oBwIhgzyIiSpVgvlDstU8CX0AF+wS+KzmYMs0J2a3GwuFHV1Lz+jlrQGeC1fF+Nv0QoumyV0bA==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
@ -784,8 +784,8 @@ packages:
'@supabase/postgrest-js@1.19.4':
resolution: {integrity: sha512-O4soKqKtZIW3olqmbXXbKugUtByD2jPa8kL2m2c1oozAO11uCcGrRhkZL0kVxjBLrXHE0mdSkFsMj7jDSfyNpw==}
'@supabase/realtime-js@2.11.2':
resolution: {integrity: sha512-u/XeuL2Y0QEhXSoIPZZwR6wMXgB+RQbJzG9VErA3VghVt7uRfSVsjeqd7m5GhX3JR6dM/WRmLbVR8URpDWG4+w==}
'@supabase/realtime-js@2.11.9':
resolution: {integrity: sha512-fLseWq8tEPCO85x3TrV9Hqvk7H4SGOqnFQ223NPJSsxjSYn0EmzU1lvYO6wbA0fc8DE94beCAiiWvGvo4g33lQ==}
'@supabase/ssr@0.6.1':
resolution: {integrity: sha512-QtQgEMvaDzr77Mk3vZ3jWg2/y+D8tExYF7vcJT+wQ8ysuvOeGGjYbZlvj5bHYsj/SpC0bihcisnwPrM4Gp5G4g==}
@ -795,8 +795,8 @@ packages:
'@supabase/storage-js@2.7.1':
resolution: {integrity: sha512-asYHcyDR1fKqrMpytAS1zjyEfvxuOIp1CIXX7ji4lHHcJKqyk+sLl/Vxgm4sN6u8zvuUtae9e4kDxQP2qrwWBA==}
'@supabase/supabase-js@2.49.8':
resolution: {integrity: sha512-zzBQLgS/jZs7btWcIAc7V5yfB+juG7h0AXxKowMJuySsO5vK+F7Vp+HCa07Z+tu9lZtr3sT9fofkc86bdylmtw==}
'@supabase/supabase-js@2.49.9':
resolution: {integrity: sha512-lB2A2X8k1aWAqvlpO4uZOdfvSuZ2s0fCMwJ1Vq6tjWsi3F+au5lMbVVn92G0pG8gfmis33d64Plkm6eSDs6jRA==}
'@swc/counter@0.1.3':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
@ -949,145 +949,147 @@ packages:
'@types/ws@8.18.1':
resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
'@typescript-eslint/eslint-plugin@8.33.0':
resolution: {integrity: sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ==}
'@typescript-eslint/eslint-plugin@8.33.1':
resolution: {integrity: sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.33.0
'@typescript-eslint/parser': ^8.33.1
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/parser@8.33.0':
resolution: {integrity: sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ==}
'@typescript-eslint/parser@8.33.1':
resolution: {integrity: sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/project-service@8.33.0':
resolution: {integrity: sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/scope-manager@8.33.0':
resolution: {integrity: sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/tsconfig-utils@8.33.0':
resolution: {integrity: sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug==}
'@typescript-eslint/project-service@8.33.1':
resolution: {integrity: sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/type-utils@8.33.0':
resolution: {integrity: sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ==}
'@typescript-eslint/scope-manager@8.33.1':
resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/tsconfig-utils@8.33.1':
resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/type-utils@8.33.1':
resolution: {integrity: sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/types@8.33.0':
resolution: {integrity: sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg==}
'@typescript-eslint/types@8.33.1':
resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@8.33.0':
resolution: {integrity: sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ==}
'@typescript-eslint/typescript-estree@8.33.1':
resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/utils@8.33.0':
resolution: {integrity: sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw==}
'@typescript-eslint/utils@8.33.1':
resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/visitor-keys@8.33.0':
resolution: {integrity: sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ==}
'@typescript-eslint/visitor-keys@8.33.1':
resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@unrs/resolver-binding-darwin-arm64@1.7.8':
resolution: {integrity: sha512-rsRK8T7yxraNRDmpFLZCWqpea6OlXPNRRCjWMx24O1V86KFol7u2gj9zJCv6zB1oJjtnzWceuqdnCgOipFcJPA==}
'@unrs/resolver-binding-darwin-arm64@1.7.9':
resolution: {integrity: sha512-hWbcVTcNqgUirY5DC3heOLrz35D926r2izfxveBmuIgDwx9KkUHfqd93g8PtROJX01lvhmyAc3E09/ma6jhyqQ==}
cpu: [arm64]
os: [darwin]
'@unrs/resolver-binding-darwin-x64@1.7.8':
resolution: {integrity: sha512-16yEMWa+Olqkk8Kl6Bu0ltT5OgEedkSAsxcz1B3yEctrDYp3EMBu/5PPAGhWVGnwhtf3hNe3y15gfYBAjOv5tQ==}
'@unrs/resolver-binding-darwin-x64@1.7.9':
resolution: {integrity: sha512-NCZb/oaXELjt8jtm6ztlNPpAxKZsKIxsGYPSxkwQdQ/zl7X2PfyCpWqwoGE4A9vCP6gAgJnvH3e22nE0qk9ieA==}
cpu: [x64]
os: [darwin]
'@unrs/resolver-binding-freebsd-x64@1.7.8':
resolution: {integrity: sha512-ST4uqF6FmdZQgv+Q73FU1uHzppeT4mhX3IIEmHlLObrv5Ep50olWRz0iQ4PWovadjHMTAmpuJAGaAuCZYb7UAQ==}
'@unrs/resolver-binding-freebsd-x64@1.7.9':
resolution: {integrity: sha512-/AYheGgFn9Pw3X3pYFCohznydaUA9980/wlwgbgCsVxnY4IbqVoZhTLQZ4JWKKaOWBwwmM8FseHf5h5OawyOQQ==}
cpu: [x64]
os: [freebsd]
'@unrs/resolver-binding-linux-arm-gnueabihf@1.7.8':
resolution: {integrity: sha512-Z/A/4Rm2VWku2g25C3tVb986fY6unx5jaaCFpx1pbAj0OKkyuJ5wcQLHvNbIcJ9qhiYwXfrkB7JNlxrAbg7YFg==}
'@unrs/resolver-binding-linux-arm-gnueabihf@1.7.9':
resolution: {integrity: sha512-RYV9sEH3o6SZum5wGb9evXlgibsVfluuiyi09hXVD+qPRrCSB45h3z1HjZpe9+c25GiN53CEy149fYS0fLVBtw==}
cpu: [arm]
os: [linux]
'@unrs/resolver-binding-linux-arm-musleabihf@1.7.8':
resolution: {integrity: sha512-HN0p7o38qKmDo3bZUiQa6gP7Qhf0sKgJZtRfSHi6JL2Gi4NaUVF0EO1sQ1RHbeQ4VvfjUGMh3QE5dxEh06BgQQ==}
'@unrs/resolver-binding-linux-arm-musleabihf@1.7.9':
resolution: {integrity: sha512-0ishMZMCYNJd4SNjHnjByHWh6ia7EDVZrOVAW8wf9Vz2PTZ0pLrFwu5c9voHouGKg7s2cnzPz87c0OK7dwimUQ==}
cpu: [arm]
os: [linux]
'@unrs/resolver-binding-linux-arm64-gnu@1.7.8':
resolution: {integrity: sha512-HsoVqDBt9G69AN0KWeDNJW+7i8KFlwxrbbnJffgTGpiZd6Jw+Q95sqkXp8y458KhKduKLmXfVZGnKBTNxAgPjw==}
'@unrs/resolver-binding-linux-arm64-gnu@1.7.9':
resolution: {integrity: sha512-FOspRldYylONzWCkF5n/B1MMYKXXlg2bzgcgESEVcP4LFh0eom/0XsWvfy+dlfBJ+FkYfJjvBJeje14xOBOa6g==}
cpu: [arm64]
os: [linux]
'@unrs/resolver-binding-linux-arm64-musl@1.7.8':
resolution: {integrity: sha512-VfR2yTDUbUvn+e/Aw22CC9fQg9zdShHAfwWctNBdOk7w9CHWl2OtYlcMvjzMAns8QxoHQoqn3/CEnZ4Ts7hfrA==}
'@unrs/resolver-binding-linux-arm64-musl@1.7.9':
resolution: {integrity: sha512-P1S5jTht888/1mZVrBZx8IOxpikRDPoECxod1CcAHYUZGUNr+PNp1m5eB9FWMK2zRCJ8HgHNZfdRyDf9pNCrlQ==}
cpu: [arm64]
os: [linux]
'@unrs/resolver-binding-linux-ppc64-gnu@1.7.8':
resolution: {integrity: sha512-xUauVQNz4uDgs4UJJiUAwMe3N0PA0wvtImh7V0IFu++UKZJhssXbKHBRR4ecUJpUHCX2bc4Wc8sGsB6P+7BANg==}
'@unrs/resolver-binding-linux-ppc64-gnu@1.7.9':
resolution: {integrity: sha512-cD9+BPxlFSiIkGWknSgKdTMGZIzCtSIg/O7GJ1LoC+jGtUOBNBJYMn6FyEPRvdpphewYzaCuPsikrMkpdX303Q==}
cpu: [ppc64]
os: [linux]
'@unrs/resolver-binding-linux-riscv64-gnu@1.7.8':
resolution: {integrity: sha512-GqyIB+CuSHGhhc8ph5RrurtNetYJjb6SctSHafqmdGcRuGi6uyTMR8l18hMEhZFsXdFMc/MpInPLvmNV22xn+A==}
'@unrs/resolver-binding-linux-riscv64-gnu@1.7.9':
resolution: {integrity: sha512-Z6IuWg9u0257dCVgc/x/zIKamqJhrmaOFuq3AYsSt6ZtyEHoyD5kxdXQUvEgBAd/Fn1b8tsX+VD9mB9al5306Q==}
cpu: [riscv64]
os: [linux]
'@unrs/resolver-binding-linux-riscv64-musl@1.7.8':
resolution: {integrity: sha512-eEU3rWIFRv60xaAbtsgwHNWRZGD7cqkpCvNtio/f1TjEE3HfKLzPNB24fA9X/8ZXQrGldE65b7UKK3PmO4eWIQ==}
'@unrs/resolver-binding-linux-riscv64-musl@1.7.9':
resolution: {integrity: sha512-HpINrXLJVEpvkHHIla6pqhMAKbQBrY+2946i6rF6OlByONLTuObg65bcv3A38qV9yqJ7vtE0FyfNn68k0uQKbg==}
cpu: [riscv64]
os: [linux]
'@unrs/resolver-binding-linux-s390x-gnu@1.7.8':
resolution: {integrity: sha512-GVLI0f4I4TlLqEUoOFvTWedLsJEdvsD0+sxhdvQ5s+N+m2DSynTs8h9jxR0qQbKlpHWpc2Ortz3z48NHRT4l+w==}
'@unrs/resolver-binding-linux-s390x-gnu@1.7.9':
resolution: {integrity: sha512-ZXZFfaPFXnrDIPpkFoAZmxzXwqqfCHfnFdZhrEd+mrc/hHTQyxINyzrFMFCqtAa5eIjD7vgzNIXsMFU2QBnCPw==}
cpu: [s390x]
os: [linux]
'@unrs/resolver-binding-linux-x64-gnu@1.7.8':
resolution: {integrity: sha512-GX1pZ/4ncUreB0Rlp1l7bhKAZ8ZmvDIgXdeb5V2iK0eRRF332+6gRfR/r5LK88xfbtOpsmRHU6mQ4N8ZnwvGEA==}
'@unrs/resolver-binding-linux-x64-gnu@1.7.9':
resolution: {integrity: sha512-EzeeaZnuQOa93ox08oa9DqgQc8sK59jfs+apOUrZZSJCDG1ZbtJINPc8uRqE7p3Z66FPAe/uO3+7jZTkWbVDfg==}
cpu: [x64]
os: [linux]
'@unrs/resolver-binding-linux-x64-musl@1.7.8':
resolution: {integrity: sha512-n1N84MnsvDupzVuYqJGj+2pb9s8BI1A5RgXHvtVFHedGZVBCFjDpQVRlmsFMt6xZiKwDPaqsM16O/1isCUGt7w==}
'@unrs/resolver-binding-linux-x64-musl@1.7.9':
resolution: {integrity: sha512-a07ezNt0OY8Vv/iDreJo7ZkKtwRb6UCYaCcMY2nm3ext7rTtDFS7X1GePqrbByvIbRFd6E5q1CKBPzJk6M360Q==}
cpu: [x64]
os: [linux]
'@unrs/resolver-binding-wasm32-wasi@1.7.8':
resolution: {integrity: sha512-x94WnaU5g+pCPDVedfnXzoG6lCOF2xFGebNwhtbJCWfceE94Zj8aysSxdxotlrZrxnz5D3ijtyFUYtpz04n39Q==}
'@unrs/resolver-binding-wasm32-wasi@1.7.9':
resolution: {integrity: sha512-d0fHnxgtrv75Po6LKJLjo1LFC5S0E8vv86H/5wGDFLG0AvS/0k+SghgUW6zAzjM2XRAic/qcy9+O7n/5JOjxFA==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
'@unrs/resolver-binding-win32-arm64-msvc@1.7.8':
resolution: {integrity: sha512-vst2u8EJZ5L6jhJ6iLis3w9rg16aYqRxQuBAMYQRVrPMI43693hLP7DuqyOBRKgsQXy9/jgh204k0ViHkqQgdg==}
'@unrs/resolver-binding-win32-arm64-msvc@1.7.9':
resolution: {integrity: sha512-0MFcaQDsUYxNqRxjPdsMKg1OGtmsqLzPY2Nwiiyalx6HFvkcHxgRCAOppgeUuDucpUEf76k/4tBzfzPxjYkFUg==}
cpu: [arm64]
os: [win32]
'@unrs/resolver-binding-win32-ia32-msvc@1.7.8':
resolution: {integrity: sha512-yb3LZOLMFqnA+/ShlE1E5bpYPGDsA590VHHJPB+efnyowT776GJXBoh82em6O9WmYBUq57YblGTcMYAFBm72HA==}
'@unrs/resolver-binding-win32-ia32-msvc@1.7.9':
resolution: {integrity: sha512-SiewmebiN32RpzrV1Dvbw7kdDCRuPThdgEWKJvDNcEGnVEV3ScYGuk5smJjKHXszqNX3mIXG/PcCXqHsE/7XGA==}
cpu: [ia32]
os: [win32]
'@unrs/resolver-binding-win32-x64-msvc@1.7.8':
resolution: {integrity: sha512-hHKFx+opG5BA3/owMXon8ypwSotBGTdblG6oda/iOu9+OEYnk0cxD2uIcGyGT8jCK578kV+xMrNxqbn8Zjlpgw==}
'@unrs/resolver-binding-win32-x64-msvc@1.7.9':
resolution: {integrity: sha512-hORofIRZCm85+TUZ9OmHQJNlgtOmK/TPfvYeSplKAl+zQvAwMGyy6DZcSbrF+KdB1EDoGISwU7dX7PE92haOXg==}
cpu: [x64]
os: [win32]
@ -1123,8 +1125,8 @@ packages:
resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
engines: {node: '>= 0.4'}
array-includes@3.1.8:
resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
array-includes@3.1.9:
resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
engines: {node: '>= 0.4'}
array.prototype.findlast@1.2.5:
@ -2106,8 +2108,8 @@ packages:
peerDependencies:
react: ^19.1.0
react-hook-form@7.56.4:
resolution: {integrity: sha512-Rob7Ftz2vyZ/ZGsQZPaRdIefkgOSrQSPXfqBdvOPwJfoGnjwRJUs7EM7Kc1mcoDv3NOtqBzPGbcMB8CGn9CKgw==}
react-hook-form@7.57.0:
resolution: {integrity: sha512-RbEks3+cbvTP84l/VXGUZ+JMrKOS8ykQCRYdm5aYsxnDquL0vspsyNhGRO7pcH6hsZqWlPOjLye7rJqdtdAmlg==}
engines: {node: '>=18.0.0'}
peerDependencies:
react: ^16.8.0 || ^17 || ^18 || ^19
@ -2125,8 +2127,8 @@ packages:
'@types/react':
optional: true
react-remove-scroll@2.7.0:
resolution: {integrity: sha512-sGsQtcjMqdQyijAHytfGEELB8FufGbfXIsvUTe+NLx1GDRJCXtCFLBLUI1eyZCKXXvbEU2C6gai0PZKoIE9Vbg==}
react-remove-scroll@2.7.1:
resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': '*'
@ -2247,8 +2249,8 @@ packages:
simple-swizzle@0.2.2:
resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
sonner@2.0.4:
resolution: {integrity: sha512-fUOGFwhM9/t05VqjKeDv0+t6QZPByMkbFFs6IFsgRQKCBh/1d3HUAC5sYy80Q05+vDKdwSOG/zUPBc8PPpbDjw==}
sonner@2.0.5:
resolution: {integrity: sha512-YwbHQO6cSso3HBXlbCkgrgzDNIhws14r4MO87Ofy+cV2X7ES4pOoAK3+veSmVTvqNx1BWUxlhPmZzP00Crk2aQ==}
peerDependencies:
react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
@ -2362,8 +2364,8 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tw-animate-css@1.3.2:
resolution: {integrity: sha512-khGYcg4sHWFWcjpiWvy0KN0Bd6yVy6Ecc4r9ZP2u7FV+n4/Fp8MQscCWJkM0KMIRvrpGyKpIQnIbEd1hrewdeg==}
tw-animate-css@1.3.3:
resolution: {integrity: sha512-tXE2TRWrskc4TU3RDd7T8n8Np/wCfoeH9gz22c7PzYqNPQ9FBGFbWWzwL0JyHcFp+jHozmF76tbHfPAx22ua2Q==}
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
@ -2385,8 +2387,8 @@ packages:
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
engines: {node: '>= 0.4'}
typescript-eslint@8.33.0:
resolution: {integrity: sha512-5YmNhF24ylCsvdNW2oJwMzTbaeO4bg90KeGtMjUw0AGtHksgEPLRTUil+coHwCfiu4QjVJFnjp94DmU6zV7DhQ==}
typescript-eslint@8.33.1:
resolution: {integrity: sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@ -2404,8 +2406,8 @@ packages:
undici-types@6.19.8:
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
unrs-resolver@1.7.8:
resolution: {integrity: sha512-2zsXwyOXmCX9nGz4vhtZRYhe30V78heAv+KDc21A/KMdovGHbZcixeD5JHEF0DrFXzdytwuzYclcPbvp8A3Jlw==}
unrs-resolver@1.7.9:
resolution: {integrity: sha512-hhFtY782YKwpz54G1db49YYS1RuMn8mBylIrCldrjb9BxZKnQ2xHw7+2zcl7H6fnUlTHGWv23/+677cpufhfxQ==}
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@ -2486,8 +2488,8 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
zod@3.25.42:
resolution: {integrity: sha512-PcALTLskaucbeHc41tU/xfjfhcz8z0GdhhDcSgrCTmSazUuqnYqiXO63M0QUBVwpBlsLsNVn5qHSC5Dw3KZvaQ==}
zod@3.25.49:
resolution: {integrity: sha512-JMMPMy9ZBk3XFEdbM3iL1brx4NUSejd6xr3ELrrGEfGb355gjhiAWtG3K5o+AViV/3ZfkIrCzXsZn6SbLwTR8Q==}
snapshots:
@ -2558,27 +2560,27 @@ snapshots:
'@eslint/core': 0.14.0
levn: 0.4.1
'@floating-ui/core@1.7.0':
'@floating-ui/core@1.7.1':
dependencies:
'@floating-ui/utils': 0.2.9
'@floating-ui/dom@1.7.0':
'@floating-ui/dom@1.7.1':
dependencies:
'@floating-ui/core': 1.7.0
'@floating-ui/core': 1.7.1
'@floating-ui/utils': 0.2.9
'@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
'@floating-ui/react-dom@2.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
dependencies:
'@floating-ui/dom': 1.7.0
'@floating-ui/dom': 1.7.1
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
'@floating-ui/utils@0.2.9': {}
'@hookform/resolvers@5.0.1(react-hook-form@7.56.4(react@19.1.0))':
'@hookform/resolvers@5.0.1(react-hook-form@7.57.0(react@19.1.0))':
dependencies:
'@standard-schema/utils': 0.3.0
react-hook-form: 7.56.4(react@19.1.0)
react-hook-form: 7.57.0(react@19.1.0)
'@humanfs/core@0.19.1': {}
@ -2898,14 +2900,14 @@ snapshots:
aria-hidden: 1.2.6
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
react-remove-scroll: 2.7.0(@types/react@19.1.6)(react@19.1.0)
react-remove-scroll: 2.7.1(@types/react@19.1.6)(react@19.1.0)
optionalDependencies:
'@types/react': 19.1.6
'@types/react-dom': 19.1.5(@types/react@19.1.6)
'@radix-ui/react-popper@1.2.7(@types/react-dom@19.1.5(@types/react@19.1.6))(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
dependencies:
'@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@floating-ui/react-dom': 2.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.6))(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.6)(react@19.1.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.1.6)(react@19.1.0)
@ -3068,7 +3070,7 @@ snapshots:
dependencies:
'@supabase/node-fetch': 2.6.15
'@supabase/realtime-js@2.11.2':
'@supabase/realtime-js@2.11.9':
dependencies:
'@supabase/node-fetch': 2.6.15
'@types/phoenix': 1.6.6
@ -3078,22 +3080,22 @@ snapshots:
- bufferutil
- utf-8-validate
'@supabase/ssr@0.6.1(@supabase/supabase-js@2.49.8)':
'@supabase/ssr@0.6.1(@supabase/supabase-js@2.49.9)':
dependencies:
'@supabase/supabase-js': 2.49.8
'@supabase/supabase-js': 2.49.9
cookie: 1.0.2
'@supabase/storage-js@2.7.1':
dependencies:
'@supabase/node-fetch': 2.6.15
'@supabase/supabase-js@2.49.8':
'@supabase/supabase-js@2.49.9':
dependencies:
'@supabase/auth-js': 2.69.1
'@supabase/functions-js': 2.4.4
'@supabase/node-fetch': 2.6.15
'@supabase/postgrest-js': 1.19.4
'@supabase/realtime-js': 2.11.2
'@supabase/realtime-js': 2.11.9
'@supabase/storage-js': 2.7.1
transitivePeerDependencies:
- bufferutil
@ -3105,17 +3107,17 @@ snapshots:
dependencies:
tslib: 2.8.1
'@t3-oss/env-core@0.12.0(typescript@5.8.3)(zod@3.25.42)':
'@t3-oss/env-core@0.12.0(typescript@5.8.3)(zod@3.25.49)':
optionalDependencies:
typescript: 5.8.3
zod: 3.25.42
zod: 3.25.49
'@t3-oss/env-nextjs@0.12.0(typescript@5.8.3)(zod@3.25.42)':
'@t3-oss/env-nextjs@0.12.0(typescript@5.8.3)(zod@3.25.49)':
dependencies:
'@t3-oss/env-core': 0.12.0(typescript@5.8.3)(zod@3.25.42)
'@t3-oss/env-core': 0.12.0(typescript@5.8.3)(zod@3.25.49)
optionalDependencies:
typescript: 5.8.3
zod: 3.25.42
zod: 3.25.49
'@tailwindcss/node@4.1.8':
dependencies:
@ -3218,14 +3220,14 @@ snapshots:
dependencies:
'@types/node': 20.17.57
'@typescript-eslint/eslint-plugin@8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)':
'@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/scope-manager': 8.33.0
'@typescript-eslint/type-utils': 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/utils': 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.33.0
'@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/scope-manager': 8.33.1
'@typescript-eslint/type-utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.33.1
eslint: 9.28.0(jiti@2.4.2)
graphemer: 1.4.0
ignore: 7.0.5
@ -3235,40 +3237,40 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)':
'@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.33.0
'@typescript-eslint/types': 8.33.0
'@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.33.0
'@typescript-eslint/scope-manager': 8.33.1
'@typescript-eslint/types': 8.33.1
'@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.33.1
debug: 4.4.1
eslint: 9.28.0(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/project-service@8.33.0(typescript@5.8.3)':
'@typescript-eslint/project-service@8.33.1(typescript@5.8.3)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.33.0(typescript@5.8.3)
'@typescript-eslint/types': 8.33.0
'@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3)
'@typescript-eslint/types': 8.33.1
debug: 4.4.1
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/scope-manager@8.33.0':
'@typescript-eslint/scope-manager@8.33.1':
dependencies:
'@typescript-eslint/types': 8.33.0
'@typescript-eslint/visitor-keys': 8.33.0
'@typescript-eslint/types': 8.33.1
'@typescript-eslint/visitor-keys': 8.33.1
'@typescript-eslint/tsconfig-utils@8.33.0(typescript@5.8.3)':
'@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)':
dependencies:
typescript: 5.8.3
'@typescript-eslint/type-utils@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)':
'@typescript-eslint/type-utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
'@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3)
'@typescript-eslint/utils': 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3)
'@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
debug: 4.4.1
eslint: 9.28.0(jiti@2.4.2)
ts-api-utils: 2.1.0(typescript@5.8.3)
@ -3276,14 +3278,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@8.33.0': {}
'@typescript-eslint/types@8.33.1': {}
'@typescript-eslint/typescript-estree@8.33.0(typescript@5.8.3)':
'@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)':
dependencies:
'@typescript-eslint/project-service': 8.33.0(typescript@5.8.3)
'@typescript-eslint/tsconfig-utils': 8.33.0(typescript@5.8.3)
'@typescript-eslint/types': 8.33.0
'@typescript-eslint/visitor-keys': 8.33.0
'@typescript-eslint/project-service': 8.33.1(typescript@5.8.3)
'@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3)
'@typescript-eslint/types': 8.33.1
'@typescript-eslint/visitor-keys': 8.33.1
debug: 4.4.1
fast-glob: 3.3.3
is-glob: 4.0.3
@ -3294,73 +3296,73 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)':
'@typescript-eslint/utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
'@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2))
'@typescript-eslint/scope-manager': 8.33.0
'@typescript-eslint/types': 8.33.0
'@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3)
'@typescript-eslint/scope-manager': 8.33.1
'@typescript-eslint/types': 8.33.1
'@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3)
eslint: 9.28.0(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/visitor-keys@8.33.0':
'@typescript-eslint/visitor-keys@8.33.1':
dependencies:
'@typescript-eslint/types': 8.33.0
'@typescript-eslint/types': 8.33.1
eslint-visitor-keys: 4.2.0
'@unrs/resolver-binding-darwin-arm64@1.7.8':
'@unrs/resolver-binding-darwin-arm64@1.7.9':
optional: true
'@unrs/resolver-binding-darwin-x64@1.7.8':
'@unrs/resolver-binding-darwin-x64@1.7.9':
optional: true
'@unrs/resolver-binding-freebsd-x64@1.7.8':
'@unrs/resolver-binding-freebsd-x64@1.7.9':
optional: true
'@unrs/resolver-binding-linux-arm-gnueabihf@1.7.8':
'@unrs/resolver-binding-linux-arm-gnueabihf@1.7.9':
optional: true
'@unrs/resolver-binding-linux-arm-musleabihf@1.7.8':
'@unrs/resolver-binding-linux-arm-musleabihf@1.7.9':
optional: true
'@unrs/resolver-binding-linux-arm64-gnu@1.7.8':
'@unrs/resolver-binding-linux-arm64-gnu@1.7.9':
optional: true
'@unrs/resolver-binding-linux-arm64-musl@1.7.8':
'@unrs/resolver-binding-linux-arm64-musl@1.7.9':
optional: true
'@unrs/resolver-binding-linux-ppc64-gnu@1.7.8':
'@unrs/resolver-binding-linux-ppc64-gnu@1.7.9':
optional: true
'@unrs/resolver-binding-linux-riscv64-gnu@1.7.8':
'@unrs/resolver-binding-linux-riscv64-gnu@1.7.9':
optional: true
'@unrs/resolver-binding-linux-riscv64-musl@1.7.8':
'@unrs/resolver-binding-linux-riscv64-musl@1.7.9':
optional: true
'@unrs/resolver-binding-linux-s390x-gnu@1.7.8':
'@unrs/resolver-binding-linux-s390x-gnu@1.7.9':
optional: true
'@unrs/resolver-binding-linux-x64-gnu@1.7.8':
'@unrs/resolver-binding-linux-x64-gnu@1.7.9':
optional: true
'@unrs/resolver-binding-linux-x64-musl@1.7.8':
'@unrs/resolver-binding-linux-x64-musl@1.7.9':
optional: true
'@unrs/resolver-binding-wasm32-wasi@1.7.8':
'@unrs/resolver-binding-wasm32-wasi@1.7.9':
dependencies:
'@napi-rs/wasm-runtime': 0.2.10
optional: true
'@unrs/resolver-binding-win32-arm64-msvc@1.7.8':
'@unrs/resolver-binding-win32-arm64-msvc@1.7.9':
optional: true
'@unrs/resolver-binding-win32-ia32-msvc@1.7.8':
'@unrs/resolver-binding-win32-ia32-msvc@1.7.9':
optional: true
'@unrs/resolver-binding-win32-x64-msvc@1.7.8':
'@unrs/resolver-binding-win32-x64-msvc@1.7.9':
optional: true
acorn-jsx@5.3.2(acorn@8.14.1):
@ -3393,14 +3395,16 @@ snapshots:
call-bound: 1.0.4
is-array-buffer: 3.0.5
array-includes@3.1.8:
array-includes@3.1.9:
dependencies:
call-bind: 1.0.8
call-bound: 1.0.4
define-properties: 1.2.1
es-abstract: 1.24.0
es-object-atoms: 1.1.1
get-intrinsic: 1.3.0
is-string: 1.1.1
math-intrinsics: 1.1.0
array.prototype.findlast@1.2.5:
dependencies:
@ -3720,12 +3724,12 @@ snapshots:
dependencies:
'@next/eslint-plugin-next': 15.3.3
'@rushstack/eslint-patch': 1.11.0
'@typescript-eslint/eslint-plugin': 8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/parser': 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
eslint: 9.28.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.28.0(jiti@2.4.2))
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2))
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2))
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.28.0(jiti@2.4.2))
eslint-plugin-react: 7.37.5(eslint@9.28.0(jiti@2.4.2))
eslint-plugin-react-hooks: 5.2.0(eslint@9.28.0(jiti@2.4.2))
@ -3753,27 +3757,27 @@ snapshots:
is-bun-module: 2.0.0
stable-hash: 0.0.5
tinyglobby: 0.2.14
unrs-resolver: 1.7.8
unrs-resolver: 1.7.9
optionalDependencies:
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2))
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2))
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)):
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
eslint: 9.28.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.28.0(jiti@2.4.2))
transitivePeerDependencies:
- supports-color
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)):
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
array-includes: 3.1.9
array.prototype.findlastindex: 1.2.6
array.prototype.flat: 1.3.3
array.prototype.flatmap: 1.3.3
@ -3781,7 +3785,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.28.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2))
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2))
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@ -3793,7 +3797,7 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@ -3802,7 +3806,7 @@ snapshots:
eslint-plugin-jsx-a11y@6.10.2(eslint@9.28.0(jiti@2.4.2)):
dependencies:
aria-query: 5.3.2
array-includes: 3.1.8
array-includes: 3.1.9
array.prototype.flatmap: 1.3.3
ast-types-flow: 0.0.8
axe-core: 4.10.3
@ -3824,7 +3828,7 @@ snapshots:
eslint-plugin-react@7.37.5(eslint@9.28.0(jiti@2.4.2)):
dependencies:
array-includes: 3.1.8
array-includes: 3.1.9
array.prototype.findlast: 1.2.5
array.prototype.flatmap: 1.3.3
array.prototype.tosorted: 1.1.4
@ -4217,7 +4221,7 @@ snapshots:
jsx-ast-utils@3.3.5:
dependencies:
array-includes: 3.1.8
array-includes: 3.1.9
array.prototype.flat: 1.3.3
object.assign: 4.1.7
object.values: 1.2.1
@ -4483,7 +4487,7 @@ snapshots:
react: 19.1.0
scheduler: 0.26.0
react-hook-form@7.56.4(react@19.1.0):
react-hook-form@7.57.0(react@19.1.0):
dependencies:
react: 19.1.0
@ -4497,7 +4501,7 @@ snapshots:
optionalDependencies:
'@types/react': 19.1.6
react-remove-scroll@2.7.0(@types/react@19.1.6)(react@19.1.0):
react-remove-scroll@2.7.1(@types/react@19.1.6)(react@19.1.0):
dependencies:
react: 19.1.0
react-remove-scroll-bar: 2.3.8(@types/react@19.1.6)(react@19.1.0)
@ -4675,7 +4679,7 @@ snapshots:
is-arrayish: 0.3.2
optional: true
sonner@2.0.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
sonner@2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
dependencies:
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
@ -4799,7 +4803,7 @@ snapshots:
tslib@2.8.1: {}
tw-animate-css@1.3.2: {}
tw-animate-css@1.3.3: {}
type-check@0.4.0:
dependencies:
@ -4838,11 +4842,11 @@ snapshots:
possible-typed-array-names: 1.1.0
reflect.getprototypeof: 1.0.10
typescript-eslint@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3):
typescript-eslint@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3):
dependencies:
'@typescript-eslint/eslint-plugin': 8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/parser': 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/utils': 8.33.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
eslint: 9.28.0(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
@ -4859,27 +4863,27 @@ snapshots:
undici-types@6.19.8: {}
unrs-resolver@1.7.8:
unrs-resolver@1.7.9:
dependencies:
napi-postinstall: 0.2.4
optionalDependencies:
'@unrs/resolver-binding-darwin-arm64': 1.7.8
'@unrs/resolver-binding-darwin-x64': 1.7.8
'@unrs/resolver-binding-freebsd-x64': 1.7.8
'@unrs/resolver-binding-linux-arm-gnueabihf': 1.7.8
'@unrs/resolver-binding-linux-arm-musleabihf': 1.7.8
'@unrs/resolver-binding-linux-arm64-gnu': 1.7.8
'@unrs/resolver-binding-linux-arm64-musl': 1.7.8
'@unrs/resolver-binding-linux-ppc64-gnu': 1.7.8
'@unrs/resolver-binding-linux-riscv64-gnu': 1.7.8
'@unrs/resolver-binding-linux-riscv64-musl': 1.7.8
'@unrs/resolver-binding-linux-s390x-gnu': 1.7.8
'@unrs/resolver-binding-linux-x64-gnu': 1.7.8
'@unrs/resolver-binding-linux-x64-musl': 1.7.8
'@unrs/resolver-binding-wasm32-wasi': 1.7.8
'@unrs/resolver-binding-win32-arm64-msvc': 1.7.8
'@unrs/resolver-binding-win32-ia32-msvc': 1.7.8
'@unrs/resolver-binding-win32-x64-msvc': 1.7.8
'@unrs/resolver-binding-darwin-arm64': 1.7.9
'@unrs/resolver-binding-darwin-x64': 1.7.9
'@unrs/resolver-binding-freebsd-x64': 1.7.9
'@unrs/resolver-binding-linux-arm-gnueabihf': 1.7.9
'@unrs/resolver-binding-linux-arm-musleabihf': 1.7.9
'@unrs/resolver-binding-linux-arm64-gnu': 1.7.9
'@unrs/resolver-binding-linux-arm64-musl': 1.7.9
'@unrs/resolver-binding-linux-ppc64-gnu': 1.7.9
'@unrs/resolver-binding-linux-riscv64-gnu': 1.7.9
'@unrs/resolver-binding-linux-riscv64-musl': 1.7.9
'@unrs/resolver-binding-linux-s390x-gnu': 1.7.9
'@unrs/resolver-binding-linux-x64-gnu': 1.7.9
'@unrs/resolver-binding-linux-x64-musl': 1.7.9
'@unrs/resolver-binding-wasm32-wasi': 1.7.9
'@unrs/resolver-binding-win32-arm64-msvc': 1.7.9
'@unrs/resolver-binding-win32-ia32-msvc': 1.7.9
'@unrs/resolver-binding-win32-x64-msvc': 1.7.9
uri-js@4.4.1:
dependencies:
@ -4964,4 +4968,4 @@ snapshots:
yocto-queue@0.1.0: {}
zod@3.25.42: {}
zod@3.25.49: {}

View File

@ -67,7 +67,7 @@ export const metadata: Metadata = {
{ url: '/appicon/icon-72x72.png', type: 'image/png', sizes: '72x72'},
{ url: '/appicon/icon-96x96.png', type: 'image/png', sizes: '96x96'},
{ url: '/appicon/icon-144x144.png', type: 'image/png', sizes: '144x144'},
{ url: '/appicon/icon-192x192.png', type: 'image/png', sizes: '192x192'},
{ url: '/appicon/icon.png', type: 'image/png', sizes: '192x192'},
{ url: '/appicon/icon-36x36.png', type: 'image/png', sizes: '36x36', media: '(prefers-color-scheme: dark)' },
{ url: '/appicon/icon-48x48.png', type: 'image/png', sizes: '48x48', media: '(prefers-color-scheme: dark)' },
{ url: '/appicon/icon-72x72.png', type: 'image/png', sizes: '72x72', media: '(prefers-color-scheme: dark)' },

View File

@ -3,8 +3,10 @@
import React, {
type ReactNode,
createContext,
useCallback,
useContext,
useEffect,
useRef,
useState,
} from 'react';
import {
@ -41,31 +43,26 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => {
const [profile, setProfile] = useState<Profile | null>(null);
const [avatarUrl, setAvatarUrl] = useState<string | null>(null);
const [isLoading, setIsLoading] = useState(true);
const [isInitialized, setIsInitialized] = useState(false);
const fetchUserData = async () => {
const fetchingRef = useRef(false);
const fetchUserData = useCallback(async () => {
if (fetchingRef.current) return;
fetchingRef.current = true;
try {
setIsLoading(true);
// Get user data
const userResponse = await getUser();
if (!userResponse.success) {
const profileResponse = await getProfile();
if (!userResponse.success || !profileResponse.success) {
setUser(null);
setProfile(null);
setAvatarUrl(null);
return;
}
setUser(userResponse.data);
// Get profile data
const profileResponse = await getProfile();
if (!profileResponse.success) {
setProfile(null);
setAvatarUrl(null);
return;
}
setProfile(profileResponse.data);
// Get avatar URL if available
@ -74,16 +71,28 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => {
bucket: 'avatars',
url: profileResponse.data.avatar_url,
});
if (avatarResponse.success) {
setAvatarUrl(avatarResponse.data);
}
} else setAvatarUrl(null);
}
} catch (error) {
toast.error('Failed to load user data');
console.error(
'Auth fetch error: ',
error instanceof Error ?
`${error.message}` :
'Failed to load user data!'
);
if (!isInitialized) {
toast.error('Failed to load user data!');
}
} finally {
setIsLoading(false);
setIsInitialized(true);
fetchingRef.current = false;
}
};
}, [isInitialized]);
useEffect(() => {
const supabase = createClient();
@ -95,7 +104,7 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => {
const {
data: { subscription },
} = supabase.auth.onAuthStateChange(async (event, session) => {
if (event === 'SIGNED_IN' || event === 'TOKEN_REFRESHED') {
if (event === 'SIGNED_IN') {
await fetchUserData();
} else if (event === 'SIGNED_OUT') {
setUser(null);
@ -108,7 +117,7 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => {
return () => {
subscription.unsubscribe();
};
}, []);
}, [fetchUserData]);
const updateProfile = async (data: {
full_name?: string;
@ -116,9 +125,7 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => {
avatar_url?: string;
}) => {
try {
setIsLoading(true);
const result = await updateProfileAction(data);
if (!result.success) {
throw new Error(result.error ?? 'Failed to update profile');
}

View File

@ -18,7 +18,7 @@ const Navigation = () => {
>
<div className='flex gap-5 items-center font-semibold'>
<Link className='flex flex-row my-auto gap-2' href='/'>
<Image src='/icons/favicon-96x96.png' alt='T3 Logo' width={50} height={50} />
<Image src='/favicon-96x96.png' alt='T3 Logo' width={50} height={50} />
<h1 className='my-auto text-2xl'>T3 Supabase Template</h1>
</Link>
<div className='flex items-center gap-2'>