Fix TypeScript errors and implement furniture import ID integrity with 18+ age verification
CI / check (push) Successful in 29s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m2s

- Add termsAccepted and ageVerified columns to User table
- Update register schema with new boolean fields
- Fix register form age verification checkbox (th -> t)
- Fix furni-import spriteId declaration order
- Fix batch route variable naming (id -> spriteId)
- Fix catalog-audit import path and ensure correct types
- Hardened import with per-item id conflict checks
- Added audit option for FurnitureData.json spriteId conflicts
- Updated tagline to include Leeftijdsvereiste: 18+
This commit is contained in:
openhands committed 2026-08-14 16:37:00 +02:00
1 parent e5ec3c1f06
commit e76c530e4f
13 files changed
+267 -104

No files matched your search

+70 -69
View File
@@ -35,11 +35,11 @@ importers:
specifier: 3.2.2
version: 3.2.2([email protected])
'@hookform/resolvers':
specifier: 5.7.1
version: 5.7.1(@standard-schema/[email protected])([email protected]([email protected]))([email protected])
specifier: 5.8.0
version: 5.8.0(@standard-schema/[email protected])([email protected]([email protected]))([email protected])
'@next/bundle-analyzer':
specifier: 16.3.0
version: 16.3.0
specifier: 16.3.1
version: 16.3.1
'@tanstack/react-virtual':
specifier: 3.14.9
version: 3.14.9([email protected]([email protected]))([email protected])
@@ -95,14 +95,14 @@ importers:
specifier: 3.23.3
version: 3.23.3(@types/[email protected])
next:
specifier: 16.3.0
version: 16.3.0(@types/[email protected])([email protected]([email protected]))([email protected])
specifier: 16.3.1
version: 16.3.1(@types/[email protected])([email protected]([email protected]))([email protected])
next-auth:
specifier: 5.0.0-beta.32
version: 5.0.0-beta.32([email protected].0(@types/[email protected])([email protected]([email protected]))([email protected]))([email protected])
version: 5.0.0-beta.32([email protected].1(@types/[email protected])([email protected]([email protected]))([email protected]))([email protected])
next-intl:
specifier: 4.13.6
version: 4.13.6([email protected].0(@types/[email protected])([email protected]([email protected]))([email protected]))([email protected])([email protected])
version: 4.13.6(@swc/[email protected])([email protected].1(@types/[email protected])([email protected]([email protected]))([email protected]))([email protected])([email protected])
otplib:
specifier: 13.4.1
version: 13.4.1
@@ -119,8 +119,8 @@ importers:
specifier: 7.85.0
version: 7.85.0([email protected])
resend:
specifier: 6.19.0
version: 6.19.0
specifier: 6.20.0
version: 6.20.0
server-only:
specifier: 0.0.1
version: 0.0.1
@@ -559,8 +559,8 @@ packages:
'@formatjs/[email protected]':
resolution: {integrity: sha512-kHEAFOkeJSPNi7c5PaKaRjxcBrJwzzt81ifUu+8uve1EDW/VJl83KsxmqgqNZLzcFEhSliZGvx3+pk/RH0IOmg==}
'@hookform/resolvers@5.7.1':
resolution: {integrity: sha512-8wS/P4UDr5sQDe4nFaV51TVyfDPrWgNIXweqG0Bs9Z5LSuzKLb+RQNPvkN2oHM5SRrJyWrVH/F+LOUcFjUyvwQ==}
'@hookform/resolvers@5.8.0':
resolution: {integrity: sha512-2m6GvRLmYYK1Fwt093lGMf7db9l/+8pNuAtwoNkpBntJT4xcA5lNthYGWKViOc3z2SuaPD0HjE81pyXmqc1JyA==}
peerDependencies:
'@sinclair/typebox': '>=0.25.24'
'@standard-schema/spec': ^1.0.0
@@ -584,7 +584,7 @@ packages:
superstruct: '>=0.12.0'
typanion: ^3.3.2
valibot: '>=0.31.0 || ^1.0.0-beta.4 || ^1.0.0-rc'
vest: '>=3.0.0'
vest: '>=6.0.0'
yup: ^1.0.0
zod: ^3.25.0 || ^4.0.0
peerDependenciesMeta:
@@ -825,60 +825,60 @@ packages:
'@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4
'@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4
'@next/[email protected].0':
resolution: {integrity: sha512-o8OiXKIATcSC6kHm5BIEmaDEDTFUDhpy9POQIbzAQTlb8NWwFhEQheTLFSbyQXxH2ywhjZ/e8EUlbOjj2k22Yg==}
'@next/[email protected].1':
resolution: {integrity: sha512-/6XQeYPHM6jF1gTeJ82Mu6yXOHQIFVxzAn3DkPtHDp5v6SDXoCicBMTHloN+2h4WKFCQujSLCgLZHItJ3jN1uw==}
'@next/[email protected].0':
resolution: {integrity: sha512-o9r1S0BNiNreHP9Vs+Qnqd9kviDkJh8xIACY7UFZSmiGbbQRzPBBosvHzAU4TULHOIuOj/18RSsyz2qrREmIFw==}
'@next/[email protected].1':
resolution: {integrity: sha512-35G3xwkQUb2oETSDjFXGrVugknoayLFBh7vSE+yAcl9IP2zT9wyGwq7297AYHR11kJld807t5f8AJBs6WBzXsQ==}
'@next/[email protected].0':
resolution: {integrity: sha512-55hpqq18bEVAlxedlTt3tFqZmKg2nUXT1kn1G/BGEy0R13h3LwtwHPVzzjG6P4LLeOHE32PFDQUVaJEWvBEZBw==}
'@next/[email protected].1':
resolution: {integrity: sha512-ABMIu2zQ7cnNIHm5ivKGwZwUrm0pAai3yiJ/gK/rF1c1VP9UOnj7XECbMKFdVKp9I9eMYq9NoDs1WXOoowxzJw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@next/[email protected].0':
resolution: {integrity: sha512-SOi96kSaF5T+0wW4koiM1bWzSPwjzTesC1p3df+FjdOi5LIQkBK/blxh7HdoKnNuI4PURF1OO7TZqtfnbWDSgw==}
'@next/[email protected].1':
resolution: {integrity: sha512-gNG21e/UnrroeScbY/QndUEdl0mF1FRibW7BBeYUz/5ABCepjqDdEdgr592vpzMtCn/m7FTjYq3TN4TpyDnutw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@next/[email protected].0':
resolution: {integrity: sha512-P0gZAoPMF4dyTRzhmkV4PrqVzSOB6t4mC1oI3c4dqijJ+OVEVx5clIXAKR4/uQpsqw2KKM/0D5tVumcR2r5blg==}
'@next/[email protected].1':
resolution: {integrity: sha512-6B6Lw016iwNUQuaJoraMMTLh6TwHzFUtxipSScD1F3YyymcrRWkobodRS2ftIOkF5vrs4zNlyUrTC5YZQ9Lz5w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@next/[email protected].0':
resolution: {integrity: sha512-tXXGKJw0m37O0eKJARVTX/TheKPhz0QFVtVVZXmOig+9YKLQOSP6hvf2pxv5DO7CLEJyTHx3Pg043CDQkv1G4Q==}
'@next/[email protected].1':
resolution: {integrity: sha512-JUiPXZKK9wOhjf4MgDiH29GZLxfqOesbLtHq2pDxwH/WwscTRV2ToymnOTh1egzaZf0ueUf8T2+CeYTGHjW0Iw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@next/[email protected].0':
resolution: {integrity: sha512-pjGxK5EY7yWml78ALejFkWmgHsU7wbFQrISiugpH6FbUJhgEvw3xFZ/EBAtLl7QtL0WdQKiG9eWJ3mOKGTukHw==}
'@next/[email protected].1':
resolution: {integrity: sha512-Uog9jsrmIRIL/lfvIp9htmskSNC7JcQsMVucXL2V2YY1y/D9IUN3LPEafqy0zRJ2cIU1SQ0V6F6TlffQ+pLAGg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@next/[email protected].0':
resolution: {integrity: sha512-sjo++Xx+lomlPs3HRsHWhVDyGG6ms1kGW5EtHLERdII8AyG1i+f6aq68xHREO6AEMlhjTNEWBSmfJfqm9orf7g==}
'@next/[email protected].1':
resolution: {integrity: sha512-6yy3FT13KgUFOj5H8bl8w/6nKiJwHIvbtwh1V+1acsu+7y4tJjnemSa6mhsh53BeoVrlozE+fMgZhXH46WmjMA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
'@next/[email protected].0':
resolution: {integrity: sha512-C5JSgiO54wURdaxdEUIXqkz04uMqC9UmPX1gtDrV/5Tf1UowdWYI8uA5hfFbPolTlp0q4KZ60xlHePNibf0VIw==}
'@next/[email protected].1':
resolution: {integrity: sha512-iOoN1QecUoGNZik536U/vtK43YwgyrCsGIkth52yIkl612n+0C9MjSnJbQAikISpb+WYRooBVhaDlUW7iZoKog==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@next/[email protected].0':
resolution: {integrity: sha512-fDOggsweNb5SSw0ZKVk6U+gxSyGFFlIBY/LBc1r8GUj4u/6t6oArL+Pmkg0MBnsgR+KkdsURilVH4F3GXUGepA==}
'@next/[email protected].1':
resolution: {integrity: sha512-d/k+PpAriUPaeMJJOG7HUSdqfEX46FEPWU1p3/nm2ACmXhj9hFEWdFODUBIpkuijXYkfL90qZzTqVPRp4BW/hw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -1584,8 +1584,8 @@ packages:
'@swc/[email protected]':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
'@swc/[email protected].15':
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
'@swc/[email protected].23':
resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==}
'@swc/[email protected]':
resolution: {integrity: sha512-V6Mnml8v09QALx6K0elJ7o9K/MkVDtW3t6L+7Ou/JcWtb3xwId2AH4FeOceySd2JaO87IMw4+6vSZxLm34LPbw==}
@@ -2583,8 +2583,8 @@ packages:
typescript:
optional: true
[email protected].0:
resolution: {integrity: sha512-NEdGOzH+08eTXMUp9UYkA99Nhi5N6Thrhc1jgFOQgfgnGK/dA2hRwBpXep+exdFQrnwlRf/3Wixyp8lLBUpE2A==}
[email protected].1:
resolution: {integrity: sha512-hsAp0i7Rh+/dhe7DGIeN2YlpLM1DP4MNxti9EtDMtqcO612X81MvvEj388/oTce9U1EcEIOWDlGq0zRwrBKvuA==}
engines: {node: '>=20.9.0'}
hasBin: true
peerDependencies:
@@ -2758,8 +2758,8 @@ packages:
[email protected]:
resolution: {integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==}
resend@6.19.0:
resolution: {integrity: sha512-JnEdYnd9WyBDIzunsEZtUF8n3cBKM9SlmySaos/7wwi4sEXKG1Zz4M64VFAyk+278erX01Fq2wHQ3p7OIdPriA==}
resend@6.20.0:
resolution: {integrity: sha512-fXDFt7jVMuka6ruS79DzaQFKPyxOAUtoYUGSl3dTUyOnFK9klmUULxADQRzFFtHfHRipYyy62jYcm4cMKqvtjw==}
engines: {node: '>=20'}
peerDependencies:
'@react-email/render': '*'
@@ -3372,7 +3372,7 @@ snapshots:
dependencies:
'@formatjs/fast-memoize': 3.1.7
'@hookform/resolvers@5.7.1(@standard-schema/[email protected])([email protected]([email protected]))([email protected])':
'@hookform/resolvers@5.8.0(@standard-schema/[email protected])([email protected]([email protected]))([email protected])':
dependencies:
'@standard-schema/utils': 0.3.0
react-hook-form: 7.85.0([email protected])
@@ -3514,37 +3514,37 @@ snapshots:
'@tybys/wasm-util': 0.10.3
optional: true
'@next/[email protected].0':
'@next/[email protected].1':
dependencies:
webpack-bundle-analyzer: 4.10.1
transitivePeerDependencies:
- bufferutil
- utf-8-validate
'@next/[email protected].0': {}
'@next/[email protected].1': {}
'@next/[email protected].0':
'@next/[email protected].1':
optional: true
'@next/[email protected].0':
'@next/[email protected].1':
optional: true
'@next/[email protected].0':
'@next/[email protected].1':
optional: true
'@next/[email protected].0':
'@next/[email protected].1':
optional: true
'@next/[email protected].0':
'@next/[email protected].1':
optional: true
'@next/[email protected].0':
'@next/[email protected].1':
optional: true
'@next/[email protected].0':
'@next/[email protected].1':
optional: true
'@next/[email protected].0':
'@next/[email protected].1':
optional: true
'@noble/[email protected]': {}
@@ -3985,7 +3985,7 @@ snapshots:
'@swc/[email protected]':
optional: true
'@swc/[email protected]':
'@swc/[email protected](@swc/[email protected])':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.28
@@ -4002,10 +4002,11 @@ snapshots:
'@swc/core-win32-arm64-msvc': 1.15.47
'@swc/core-win32-ia32-msvc': 1.15.47
'@swc/core-win32-x64-msvc': 1.15.47
'@swc/helpers': 0.5.23
'@swc/[email protected]': {}
'@swc/[email protected].15':
'@swc/[email protected].23':
dependencies:
tslib: 2.8.1
@@ -4753,22 +4754,22 @@ snapshots:
[email protected]: {}
[email protected]([email protected].0(@types/[email protected])([email protected]([email protected]))([email protected]))([email protected]):
[email protected]([email protected].1(@types/[email protected])([email protected]([email protected]))([email protected]))([email protected]):
dependencies:
'@auth/core': 0.41.3
next: 16.3.0(@types/[email protected])([email protected]([email protected]))([email protected])
next: 16.3.1(@types/[email protected])([email protected]([email protected]))([email protected])
react: 19.2.8
[email protected]: {}
[email protected]([email protected].0(@types/[email protected])([email protected]([email protected]))([email protected]))([email protected])([email protected]):
[email protected](@swc/[email protected])([email protected].1(@types/[email protected])([email protected]([email protected]))([email protected]))([email protected])([email protected]):
dependencies:
'@formatjs/intl-localematcher': 0.8.13
'@parcel/watcher': 2.6.0
'@swc/core': 1.15.47
'@swc/core': 1.15.47(@swc/[email protected])
icu-minify: 4.13.6
negotiator: 1.0.0
next: 16.3.0(@types/[email protected])([email protected]([email protected]))([email protected])
next: 16.3.1(@types/[email protected])([email protected]([email protected]))([email protected])
next-intl-swc-plugin-extractor: 4.13.6
po-parser: 2.1.1
react: 19.2.8
@@ -4778,10 +4779,10 @@ snapshots:
transitivePeerDependencies:
- '@swc/helpers'
[email protected].0(@types/[email protected])([email protected]([email protected]))([email protected]):
[email protected].1(@types/[email protected])([email protected]([email protected]))([email protected]):
dependencies:
'@next/env': 16.3.0
'@swc/helpers': 0.5.15
'@next/env': 16.3.1
'@swc/helpers': 0.5.23
baseline-browser-mapping: 2.11.13
caniuse-lite: 1.0.30001809
postcss: 8.5.26
@@ -4789,14 +4790,14 @@ snapshots:
react-dom: 19.2.8([email protected])
styled-jsx: 5.1.6([email protected])
optionalDependencies:
'@next/swc-darwin-arm64': 16.3.0
'@next/swc-darwin-x64': 16.3.0
'@next/swc-linux-arm64-gnu': 16.3.0
'@next/swc-linux-arm64-musl': 16.3.0
'@next/swc-linux-x64-gnu': 16.3.0
'@next/swc-linux-x64-musl': 16.3.0
'@next/swc-win32-arm64-msvc': 16.3.0
'@next/swc-win32-x64-msvc': 16.3.0
'@next/swc-darwin-arm64': 16.3.1
'@next/swc-darwin-x64': 16.3.1
'@next/swc-linux-arm64-gnu': 16.3.1
'@next/swc-linux-arm64-musl': 16.3.1
'@next/swc-linux-x64-gnu': 16.3.1
'@next/swc-linux-x64-musl': 16.3.1
'@next/swc-win32-arm64-msvc': 16.3.1
'@next/swc-win32-x64-msvc': 16.3.1
sharp: 0.35.3(@types/[email protected])
transitivePeerDependencies:
- '@babel/core'
@@ -5004,7 +5005,7 @@ snapshots:
[email protected]: {}
resend@6.19.0:
resend@6.20.0:
dependencies:
postal-mime: 2.7.5
standardwebhooks: 1.0.0