feat: add campaign configuration controls

This commit is contained in:
2026-06-04 14:45:47 +02:00
parent 07841aea0f
commit 585c4eeb2a
24 changed files with 2941 additions and 34 deletions

42
pnpm-lock.yaml generated
View File

@@ -11,6 +11,9 @@ importers:
'@convex-dev/better-auth':
specifier: ^0.12.2
version: 0.12.2(@standard-schema/spec@1.1.0)(better-auth@1.6.14(next@16.2.7(@babel/core@7.29.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(convex@1.40.0(react@19.2.4))(hono@4.12.23)(react@19.2.4)(typescript@5.9.3)
'@hookform/resolvers':
specifier: ^5.4.0
version: 5.4.0(react-hook-form@7.77.0(react@19.2.4))
better-auth:
specifier: ^1.6.14
version: 1.6.14(next@16.2.7(@babel/core@7.29.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
@@ -38,6 +41,9 @@ importers:
react-dom:
specifier: 19.2.4
version: 19.2.4(react@19.2.4)
react-hook-form:
specifier: ^7.77.0
version: 7.77.0(react@19.2.4)
shadcn:
specifier: ^4.10.0
version: 4.10.0(@types/node@20.19.41)(typescript@5.9.3)
@@ -47,6 +53,9 @@ importers:
tw-animate-css:
specifier: ^1.4.0
version: 1.4.0
zod:
specifier: ^4.4.3
version: 4.4.3
devDependencies:
'@tailwindcss/postcss':
specifier: ^4
@@ -528,6 +537,11 @@ packages:
peerDependencies:
hono: ^4
'@hookform/resolvers@5.4.0':
resolution: {integrity: sha512-EIsqr/t/qbinPIhGjMdtvutIN1Kk4uwbROE9/UQ93CAVGR7GkA7Y92+fX80OzXi/OB67jVFYwKGO1WzkxmkFZw==}
peerDependencies:
react-hook-form: ^7.55.0
'@humanfs/core@0.19.2':
resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==}
engines: {node: '>=18.18.0'}
@@ -1585,6 +1599,9 @@ packages:
'@standard-schema/spec@1.1.0':
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
'@standard-schema/utils@0.3.0':
resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==}
'@swc/helpers@0.5.15':
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
@@ -3614,6 +3631,12 @@ packages:
peerDependencies:
react: ^19.2.4
react-hook-form@7.77.0:
resolution: {integrity: sha512-Sslh9YDYc0GDlWT/lxasnIduNo4v3yyvqRGvmGKUre5AFjDs/HV9/OafHGD8d+sB2yoL4UIL9L8X9i0WlZZebg==}
engines: {node: '>=18.0.0'}
peerDependencies:
react: ^16.8.0 || ^17 || ^18 || ^19
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
@@ -4382,7 +4405,7 @@ snapshots:
'@better-fetch/fetch': 1.1.21
'@opentelemetry/semantic-conventions': 1.41.1
'@standard-schema/spec': 1.1.0
better-call: 1.3.5(zod@3.25.76)
better-call: 1.3.5(zod@4.4.3)
jose: 6.2.3
kysely: 0.29.2
nanostores: 1.3.0
@@ -4624,6 +4647,11 @@ snapshots:
dependencies:
hono: 4.12.23
'@hookform/resolvers@5.4.0(react-hook-form@7.77.0(react@19.2.4))':
dependencies:
'@standard-schema/utils': 0.3.0
react-hook-form: 7.77.0(react@19.2.4)
'@humanfs/core@0.19.2':
dependencies:
'@humanfs/types': 0.15.0
@@ -5645,6 +5673,8 @@ snapshots:
'@standard-schema/spec@1.1.0': {}
'@standard-schema/utils@0.3.0': {}
'@swc/helpers@0.5.15':
dependencies:
tslib: 2.8.1
@@ -6067,7 +6097,7 @@ snapshots:
'@better-fetch/fetch': 1.1.21
'@noble/ciphers': 2.2.0
'@noble/hashes': 2.2.0
better-call: 1.3.5(zod@3.25.76)
better-call: 1.3.5(zod@4.4.3)
defu: 6.1.7
jose: 6.2.3
kysely: 0.29.2
@@ -6081,14 +6111,14 @@ snapshots:
- '@cloudflare/workers-types'
- '@opentelemetry/api'
better-call@1.3.5(zod@3.25.76):
better-call@1.3.5(zod@4.4.3):
dependencies:
'@better-auth/utils': 0.4.1
'@better-fetch/fetch': 1.1.21
rou3: 0.7.12
set-cookie-parser: 3.1.0
optionalDependencies:
zod: 3.25.76
zod: 4.4.3
body-parser@2.2.2:
dependencies:
@@ -7754,6 +7784,10 @@ snapshots:
react: 19.2.4
scheduler: 0.27.0
react-hook-form@7.77.0(react@19.2.4):
dependencies:
react: 19.2.4
react-is@16.13.1: {}
react-remove-scroll-bar@2.3.8(@types/react@19.2.16)(react@19.2.4):