betterstart-cli 0.0.119 → 0.0.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/adapters/next/integrations/resend/actions/render-password-reset-email.ts +5 -5
- package/dist/assets/adapters/next/templates/init/admin-globals.css +35 -23
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-branding-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-user-menu-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-user-menu.tsx +3 -3
- package/dist/assets/adapters/next/templates/init/components/layouts/content-skeleton.tsx +13 -13
- package/dist/assets/adapters/next/templates/init/components/layouts/sidebar-branding.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-body.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-header.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-table-pagination.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/copyable-code-block.tsx +3 -7
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/lifecycle-hooks-tab.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/plain-code-fallback.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/snippets-tab.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode-integrate.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/entity-metadata.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-item.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-current-row.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-drawer.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/media/edit-media-dialog-content.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-drawer.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-item.tsx +3 -3
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-pagination.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-preview.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-url-importer.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/page-header.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/sort-order-drag-overlay-item.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/sort-order-item.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/dashboard-page.tsx +3 -3
- package/dist/assets/adapters/next/templates/init/pages/forgot-password-form.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/forgot-password-page-skeleton.tsx +8 -8
- package/dist/assets/adapters/next/templates/init/pages/login-form.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/login-page-skeleton.tsx +8 -8
- package/dist/assets/adapters/next/templates/init/pages/minimal-account-shell.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/profile/profile-form.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/reset-password-form.tsx +3 -6
- package/dist/assets/adapters/next/templates/init/pages/reset-password-page-skeleton.tsx +8 -8
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-columns.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-detail-row.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-columns.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/delete-webhook-dialog.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhook-endpoint-dialog.tsx +12 -16
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-columns.tsx +9 -9
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-columns.tsx +7 -7
- package/dist/assets/adapters/next/templates/init/pages/users/columns.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/utils/editor/inline-math-node-view.ts +1 -1
- package/dist/assets/adapters/next/templates/init/utils/editor/raw-content-block-node-view.ts +1 -1
- package/dist/assets/adapters/next/templates/init/utils/email/render-form-submission-rows.ts +1 -1
- package/dist/assets/adapters/next/templates/init/utils/email/render-notification-email.ts +3 -3
- package/dist/assets/adapters/next/templates/init/utils/email/render-thank-you-email.ts +3 -3
- package/dist/assets/shared-assets/react-admin/custom/content-editor/index.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/math-bubble-menu.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/math-editor-controls.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/remove-table-part-icon.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/selection-bubble-menu.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/slash-command-menu.tsx +2 -4
- package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/table-add-controls.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/custom/content-editor/table-bubble-menu.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-node/removable-image-node/removable-image-node.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/highlight-swatch.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover-content.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/highlight-color-button.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/source-color-highlight-popover.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/date-range-picker.tsx +9 -10
- package/dist/assets/shared-assets/react-admin/custom/dynamic-list-field.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/gallery-field.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/custom/icon-picker.tsx +2 -3
- package/dist/assets/shared-assets/react-admin/custom/icons-column-skeleton.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/media-field.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/custom/nested-object-list-field.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/placeholder-card.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/placeholder.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/custom/sortable-gallery-item.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/upload-dropzone.tsx +3 -5
- package/dist/assets/shared-assets/react-admin/ui/accordion.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/alert-dialog.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/alert.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/avatar.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/badge.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/breadcrumb.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/button-group.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/button.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/calendar.tsx +15 -21
- package/dist/assets/shared-assets/react-admin/ui/card.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/carousel.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/chart.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/checkbox.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/combobox.tsx +6 -6
- package/dist/assets/shared-assets/react-admin/ui/context-menu.tsx +7 -7
- package/dist/assets/shared-assets/react-admin/ui/dialog.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/drawer.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/dropdown-menu.tsx +8 -8
- package/dist/assets/shared-assets/react-admin/ui/empty.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/field.tsx +6 -12
- package/dist/assets/shared-assets/react-admin/ui/form.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/hover-card.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/input-group.tsx +6 -6
- package/dist/assets/shared-assets/react-admin/ui/input-otp.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/input.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/item.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/kbd.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/label.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/menubar.tsx +10 -10
- package/dist/assets/shared-assets/react-admin/ui/native-select.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/navigation-menu.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/popover.tsx +3 -7
- package/dist/assets/shared-assets/react-admin/ui/progress.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/radio-group.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/resizable.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/scroll-area.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/select.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/sheet.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/sidebar.tsx +16 -16
- package/dist/assets/shared-assets/react-admin/ui/skeleton.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/slider.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/switch.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/table.tsx +2 -6
- package/dist/assets/shared-assets/react-admin/ui/tabs.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/textarea.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/toggle-group.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/toggle.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/tooltip.tsx +2 -2
- package/dist/cli.js +107 -79
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,7 +25,7 @@ export function SortableItem({ id, label }: SortOrderItemData) {
|
|
|
25
25
|
{...listeners}
|
|
26
26
|
>
|
|
27
27
|
<GripVertical strokeWidth={1} />
|
|
28
|
-
<span className="min-w-0 truncate
|
|
28
|
+
<span className="min-w-0 truncate">{label}</span>
|
|
29
29
|
</Button>
|
|
30
30
|
</div>
|
|
31
31
|
)
|
|
@@ -46,7 +46,7 @@ export default function DashboardPage() {
|
|
|
46
46
|
<CardContent className="p-10!">
|
|
47
47
|
<div className="grid grid-cols-2 gap-10">
|
|
48
48
|
<div className="flex w-full flex-col gap-1">
|
|
49
|
-
<p className="
|
|
49
|
+
<p className="font-medium">Hey, let's get started</p>
|
|
50
50
|
<p className="text-muted-foreground">
|
|
51
51
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, quos.
|
|
52
52
|
</p>
|
|
@@ -64,12 +64,12 @@ export default function DashboardPage() {
|
|
|
64
64
|
<div className="flex w-full flex-col gap-1">
|
|
65
65
|
{envVariables.map((env) => (
|
|
66
66
|
<div
|
|
67
|
-
className="flex w-full flex-col rounded
|
|
67
|
+
className="flex w-full flex-col rounded border border-border bg-card py-2 pr-2 pl-4 shadow-card"
|
|
68
68
|
key={env.name}
|
|
69
69
|
>
|
|
70
70
|
<div className="flex items-center justify-between">
|
|
71
71
|
<div className="flex items-center gap-2">
|
|
72
|
-
<span
|
|
72
|
+
<span>{env.label}</span>
|
|
73
73
|
<Badge variant={env.value ? 'success' : 'destructive'}>
|
|
74
74
|
{env.value ? 'Connected' : 'Not configured'}
|
|
75
75
|
</Badge>
|
|
@@ -82,7 +82,7 @@ export function ForgotPasswordForm({ className, ...props }: React.ComponentProps
|
|
|
82
82
|
>
|
|
83
83
|
<FieldGroup className="gap-10 pb-12">
|
|
84
84
|
<div className="flex flex-col items-start">
|
|
85
|
-
<h1 className="
|
|
85
|
+
<h1 className="font-medium">Forgot password</h1>
|
|
86
86
|
<p className="text-balance text-muted-foreground">
|
|
87
87
|
Enter your email and we'll send you a reset link when email delivery is
|
|
88
88
|
enabled
|
|
@@ -110,7 +110,7 @@ export function ForgotPasswordForm({ className, ...props }: React.ComponentProps
|
|
|
110
110
|
</Field>
|
|
111
111
|
<Link
|
|
112
112
|
href="/admin/login"
|
|
113
|
-
className="text-center
|
|
113
|
+
className="text-center underline-offset-4 hover:underline"
|
|
114
114
|
>
|
|
115
115
|
Back to sign in
|
|
116
116
|
</Link>
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
export function ForgotPasswordPageSkeleton() {
|
|
2
2
|
return (
|
|
3
|
-
<div className="overflow-hidden rounded
|
|
3
|
+
<div className="overflow-hidden rounded border bg-card">
|
|
4
4
|
<div className="grid grid-cols-[5fr_7fr]">
|
|
5
5
|
<div className="block min-h-auth-forgot-panel bg-muted" />
|
|
6
6
|
<div className="flex min-h-auth-forgot-panel flex-col gap-10 p-20">
|
|
7
7
|
<div className="space-y-3">
|
|
8
|
-
<div className="h-6 w-40 animate-pulse rounded
|
|
9
|
-
<div className="h-4 w-full max-w-72 animate-pulse rounded
|
|
10
|
-
<div className="h-4 w-52 animate-pulse rounded
|
|
8
|
+
<div className="h-6 w-40 animate-pulse rounded bg-muted" />
|
|
9
|
+
<div className="h-4 w-full max-w-72 animate-pulse rounded bg-muted" />
|
|
10
|
+
<div className="h-4 w-52 animate-pulse rounded bg-muted" />
|
|
11
11
|
</div>
|
|
12
12
|
<div className="space-y-4">
|
|
13
13
|
<div className="space-y-2">
|
|
14
|
-
<div className="h-4 w-12 animate-pulse rounded
|
|
15
|
-
<div className="h-10 w-full animate-pulse rounded
|
|
14
|
+
<div className="h-4 w-12 animate-pulse rounded bg-muted" />
|
|
15
|
+
<div className="h-10 w-full animate-pulse rounded bg-muted" />
|
|
16
16
|
</div>
|
|
17
|
-
<div className="h-10 w-full animate-pulse rounded
|
|
18
|
-
<div className="mx-auto h-4 w-20 animate-pulse rounded
|
|
17
|
+
<div className="h-10 w-full animate-pulse rounded bg-muted" />
|
|
18
|
+
<div className="mx-auto h-4 w-20 animate-pulse rounded bg-muted" />
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
@@ -98,7 +98,7 @@ export function LoginForm({ className, ...props }: React.ComponentProps<'div'>)
|
|
|
98
98
|
>
|
|
99
99
|
<FieldGroup className="gap-10 pb-12">
|
|
100
100
|
<div className="flex flex-col items-start">
|
|
101
|
-
<h1 className="
|
|
101
|
+
<h1 className="font-medium">Sign In</h1>
|
|
102
102
|
</div>
|
|
103
103
|
<div className="flex flex-col gap-4">
|
|
104
104
|
<Field>
|
|
@@ -119,7 +119,7 @@ export function LoginForm({ className, ...props }: React.ComponentProps<'div'>)
|
|
|
119
119
|
<FieldLabel htmlFor="password">Password</FieldLabel>
|
|
120
120
|
<Link
|
|
121
121
|
href="/admin/forgot-password"
|
|
122
|
-
className="ml-auto
|
|
122
|
+
className="ml-auto underline-offset-4 hover:underline"
|
|
123
123
|
tabIndex={-1}
|
|
124
124
|
>
|
|
125
125
|
Forgot password?
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
export function LoginPageSkeleton() {
|
|
2
2
|
return (
|
|
3
|
-
<div className="overflow-hidden rounded
|
|
3
|
+
<div className="overflow-hidden rounded border bg-card">
|
|
4
4
|
<div className="grid grid-cols-[5fr_7fr]">
|
|
5
5
|
<div className="block min-h-auth-login-panel bg-muted" />
|
|
6
6
|
<div className="flex min-h-auth-login-panel flex-col gap-10 p-20">
|
|
7
7
|
<div className="space-y-3">
|
|
8
|
-
<div className="h-6 w-32 animate-pulse rounded
|
|
9
|
-
<div className="h-4 w-40 animate-pulse rounded
|
|
8
|
+
<div className="h-6 w-32 animate-pulse rounded bg-muted" />
|
|
9
|
+
<div className="h-4 w-40 animate-pulse rounded bg-muted" />
|
|
10
10
|
</div>
|
|
11
11
|
<div className="space-y-4">
|
|
12
12
|
<div className="space-y-2">
|
|
13
|
-
<div className="h-4 w-12 animate-pulse rounded
|
|
14
|
-
<div className="h-10 w-full animate-pulse rounded
|
|
13
|
+
<div className="h-4 w-12 animate-pulse rounded bg-muted" />
|
|
14
|
+
<div className="h-10 w-full animate-pulse rounded bg-muted" />
|
|
15
15
|
</div>
|
|
16
16
|
<div className="space-y-2">
|
|
17
|
-
<div className="h-4 w-20 animate-pulse rounded
|
|
18
|
-
<div className="h-10 w-full animate-pulse rounded
|
|
17
|
+
<div className="h-4 w-20 animate-pulse rounded bg-muted" />
|
|
18
|
+
<div className="h-10 w-full animate-pulse rounded bg-muted" />
|
|
19
19
|
</div>
|
|
20
|
-
<div className="h-10 w-full animate-pulse rounded
|
|
20
|
+
<div className="h-10 w-full animate-pulse rounded bg-muted" />
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
|
@@ -13,7 +13,7 @@ export function MinimalAccountShell({
|
|
|
13
13
|
<header className="sticky top-0 z-50 flex h-14 items-center justify-between border-b bg-background px-6">
|
|
14
14
|
<Link
|
|
15
15
|
href="/admin/profile"
|
|
16
|
-
className="
|
|
16
|
+
className="font-medium transition-colors hover:text-foreground/80"
|
|
17
17
|
>
|
|
18
18
|
{name}
|
|
19
19
|
</Link>
|
|
@@ -201,7 +201,7 @@ export function ProfileForm({ user }: ProfileFormProps) {
|
|
|
201
201
|
<div className="flex items-center gap-4 pl-1">
|
|
202
202
|
<Avatar className="size-12">
|
|
203
203
|
<AvatarImage src={imageValue || undefined} />
|
|
204
|
-
<AvatarFallback className="
|
|
204
|
+
<AvatarFallback className="font-semibold">
|
|
205
205
|
{user.name?.charAt(0) ?? '?'}
|
|
206
206
|
</AvatarFallback>
|
|
207
207
|
</Avatar>
|
|
@@ -393,7 +393,7 @@ export function ProfileForm({ user }: ProfileFormProps) {
|
|
|
393
393
|
<CardDescription>Send a password reset link to your email address</CardDescription>
|
|
394
394
|
</CardHeader>
|
|
395
395
|
<CardContent>
|
|
396
|
-
<p className="text-
|
|
396
|
+
<p className="text-muted-foreground">
|
|
397
397
|
A reset link will be sent to{' '}
|
|
398
398
|
<span className="font-medium text-foreground">{user.email}</span>
|
|
399
399
|
</p>
|
|
@@ -64,15 +64,12 @@ export function ResetPasswordForm({ className, ...props }: React.ComponentProps<
|
|
|
64
64
|
<div className="p-20">
|
|
65
65
|
<FieldGroup className="gap-10 pb-12">
|
|
66
66
|
<div className="flex flex-col items-start">
|
|
67
|
-
<h1 className="
|
|
67
|
+
<h1 className="font-medium">Invalid reset link</h1>
|
|
68
68
|
<p className="text-balance text-muted-foreground">
|
|
69
69
|
This password reset link is invalid or has expired. Please request a new one.
|
|
70
70
|
</p>
|
|
71
71
|
</div>
|
|
72
|
-
<Link
|
|
73
|
-
href="/admin/forgot-password"
|
|
74
|
-
className="text-sm underline-offset-4 hover:underline"
|
|
75
|
-
>
|
|
72
|
+
<Link href="/admin/forgot-password" className="underline-offset-4 hover:underline">
|
|
76
73
|
Request a new reset link
|
|
77
74
|
</Link>
|
|
78
75
|
</FieldGroup>
|
|
@@ -123,7 +120,7 @@ export function ResetPasswordForm({ className, ...props }: React.ComponentProps<
|
|
|
123
120
|
>
|
|
124
121
|
<FieldGroup className="gap-10 pb-12">
|
|
125
122
|
<div className="flex flex-col items-start">
|
|
126
|
-
<h1 className="
|
|
123
|
+
<h1 className="font-medium">Reset password</h1>
|
|
127
124
|
<p className="text-balance text-muted-foreground">
|
|
128
125
|
Enter your new password below
|
|
129
126
|
</p>
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
export function ResetPasswordPageSkeleton() {
|
|
2
2
|
return (
|
|
3
|
-
<div className="overflow-hidden rounded
|
|
3
|
+
<div className="overflow-hidden rounded border bg-card">
|
|
4
4
|
<div className="grid grid-cols-[5fr_7fr]">
|
|
5
5
|
<div className="block min-h-auth-reset-panel bg-muted" />
|
|
6
6
|
<div className="flex min-h-auth-reset-panel flex-col gap-10 p-20">
|
|
7
7
|
<div className="space-y-3">
|
|
8
|
-
<div className="h-6 w-36 animate-pulse rounded
|
|
9
|
-
<div className="h-4 w-56 animate-pulse rounded
|
|
8
|
+
<div className="h-6 w-36 animate-pulse rounded bg-muted" />
|
|
9
|
+
<div className="h-4 w-56 animate-pulse rounded bg-muted" />
|
|
10
10
|
</div>
|
|
11
11
|
<div className="space-y-4">
|
|
12
12
|
<div className="space-y-2">
|
|
13
|
-
<div className="h-4 w-28 animate-pulse rounded
|
|
14
|
-
<div className="h-10 w-full animate-pulse rounded
|
|
13
|
+
<div className="h-4 w-28 animate-pulse rounded bg-muted" />
|
|
14
|
+
<div className="h-10 w-full animate-pulse rounded bg-muted" />
|
|
15
15
|
</div>
|
|
16
16
|
<div className="space-y-2">
|
|
17
|
-
<div className="h-4 w-32 animate-pulse rounded
|
|
18
|
-
<div className="h-10 w-full animate-pulse rounded
|
|
17
|
+
<div className="h-4 w-32 animate-pulse rounded bg-muted" />
|
|
18
|
+
<div className="h-10 w-full animate-pulse rounded bg-muted" />
|
|
19
19
|
</div>
|
|
20
|
-
<div className="h-10 w-full animate-pulse rounded
|
|
20
|
+
<div className="h-10 w-full animate-pulse rounded bg-muted" />
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-columns.tsx
CHANGED
|
@@ -53,7 +53,7 @@ function SortableAuditLogHeader({
|
|
|
53
53
|
<Button
|
|
54
54
|
variant="ghost"
|
|
55
55
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
56
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
56
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
57
57
|
aria-label={`Sort by ${label}, ${sortLabel}`}
|
|
58
58
|
aria-sort={
|
|
59
59
|
sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none'
|
|
@@ -82,7 +82,7 @@ export function createAuditLogColumns(): ColumnDef<AuditLogEntry>[] {
|
|
|
82
82
|
<span className="truncate font-medium">
|
|
83
83
|
{row.original.targetLabel ?? row.original.targetId ?? 'Unknown'}
|
|
84
84
|
</span>
|
|
85
|
-
<span className="truncate text-
|
|
85
|
+
<span className="truncate text-muted-foreground">{row.original.targetType}</span>
|
|
86
86
|
</div>
|
|
87
87
|
)
|
|
88
88
|
},
|
|
@@ -95,7 +95,7 @@ export function createAuditLogColumns(): ColumnDef<AuditLogEntry>[] {
|
|
|
95
95
|
<span className="truncate">
|
|
96
96
|
{row.original.actorEmail ?? row.original.actorName ?? 'Unknown'}
|
|
97
97
|
</span>
|
|
98
|
-
<span className="truncate text-
|
|
98
|
+
<span className="truncate text-muted-foreground">
|
|
99
99
|
{row.original.actorRole ?? 'No role'}
|
|
100
100
|
</span>
|
|
101
101
|
</div>
|
|
@@ -120,7 +120,7 @@ export function createAuditLogColumns(): ColumnDef<AuditLogEntry>[] {
|
|
|
120
120
|
cell: ({ row }) => (
|
|
121
121
|
<div className="text-muted-foreground">
|
|
122
122
|
<div className="truncate">{row.original.sourceType}</div>
|
|
123
|
-
<div className="truncate
|
|
123
|
+
<div className="truncate">{row.original.ipAddress ?? 'No IP'}</div>
|
|
124
124
|
</div>
|
|
125
125
|
)
|
|
126
126
|
},
|
package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-detail-row.tsx
CHANGED
|
@@ -8,8 +8,8 @@ interface AuditLogDetailRowProps {
|
|
|
8
8
|
export function AuditLogDetailRow({ label, value }: AuditLogDetailRowProps) {
|
|
9
9
|
return (
|
|
10
10
|
<div className="grid grid-cols-audit-detail gap-3 border-b border-border px-4 py-2 last:border-b-0">
|
|
11
|
-
<dt className="
|
|
12
|
-
<dd className="min-w-0
|
|
11
|
+
<dt className="font-medium text-muted-foreground">{label}</dt>
|
|
12
|
+
<dd className="min-w-0 break-words text-foreground">{value || 'Unknown'}</dd>
|
|
13
13
|
</div>
|
|
14
14
|
)
|
|
15
15
|
}
|
package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-columns.tsx
CHANGED
|
@@ -22,7 +22,7 @@ export function createFormSettingsColumns(isPending: boolean): ColumnDef<FormSet
|
|
|
22
22
|
isPending ? (
|
|
23
23
|
<span className="text-muted-foreground">Loading…</span>
|
|
24
24
|
) : row.original.notificationEmails ? (
|
|
25
|
-
<span className="truncate font-mono
|
|
25
|
+
<span className="truncate font-mono">{row.original.notificationEmails}</span>
|
|
26
26
|
) : (
|
|
27
27
|
<span className="text-muted-foreground">No emails configured</span>
|
|
28
28
|
)
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/delete-webhook-dialog.tsx
CHANGED
|
@@ -63,7 +63,7 @@ export function DeleteWebhookDialog({ webhook, open, onOpenChange }: DeleteWebho
|
|
|
63
63
|
</DialogDescription>
|
|
64
64
|
</DialogHeader>
|
|
65
65
|
<DialogBody>
|
|
66
|
-
<p className="text-
|
|
66
|
+
<p className="text-muted-foreground">This action cannot be undone.</p>
|
|
67
67
|
</DialogBody>
|
|
68
68
|
<DialogFooter showCloseButton={true}>
|
|
69
69
|
<Button
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhook-endpoint-dialog.tsx
CHANGED
|
@@ -244,7 +244,7 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
244
244
|
control={form.control}
|
|
245
245
|
name="enabled"
|
|
246
246
|
render={({ field }) => (
|
|
247
|
-
<FormItem className="flex items-center justify-between rounded
|
|
247
|
+
<FormItem className="flex items-center justify-between rounded border border-border px-3 py-2">
|
|
248
248
|
<FormLabel>Enabled</FormLabel>
|
|
249
249
|
<FormControl>
|
|
250
250
|
<Switch
|
|
@@ -257,10 +257,10 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
257
257
|
)}
|
|
258
258
|
/>
|
|
259
259
|
{isEdit && (
|
|
260
|
-
<div className="space-y-2 rounded
|
|
261
|
-
<p className="
|
|
260
|
+
<div className="space-y-2 rounded border border-border p-3">
|
|
261
|
+
<p className="leading-none font-medium">Signing secret</p>
|
|
262
262
|
<div className="flex items-center gap-2">
|
|
263
|
-
<span className="min-w-0 flex-1 truncate font-mono
|
|
263
|
+
<span className="min-w-0 flex-1 truncate font-mono">
|
|
264
264
|
{secret ?? 'whsec_••••••••••••••••'}
|
|
265
265
|
</span>
|
|
266
266
|
<Button
|
|
@@ -286,7 +286,7 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
286
286
|
{regenerateSecretMutation.isPending ? 'Regenerating…' : 'Regenerate'}
|
|
287
287
|
</Button>
|
|
288
288
|
</div>
|
|
289
|
-
<p className="text-
|
|
289
|
+
<p className="text-muted-foreground">
|
|
290
290
|
Requests carry x-webhook-id, x-webhook-timestamp, and an HMAC-SHA256
|
|
291
291
|
x-webhook-signature of the body.
|
|
292
292
|
</p>
|
|
@@ -299,8 +299,8 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
299
299
|
render={() => (
|
|
300
300
|
<React.Fragment>
|
|
301
301
|
{formSources.length > 0 && (
|
|
302
|
-
<fieldset className="space-y-2 rounded
|
|
303
|
-
<legend className="px-1
|
|
302
|
+
<fieldset className="space-y-2 rounded border border-border p-3">
|
|
303
|
+
<legend className="px-1 font-medium tracking-wide text-muted-foreground uppercase">
|
|
304
304
|
Events · Forms
|
|
305
305
|
</legend>
|
|
306
306
|
{formSources.flatMap((source) =>
|
|
@@ -315,17 +315,15 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
315
315
|
disabled={isPending}
|
|
316
316
|
/>
|
|
317
317
|
</FormControl>
|
|
318
|
-
<FormLabel className="font-mono
|
|
319
|
-
{event}
|
|
320
|
-
</FormLabel>
|
|
318
|
+
<FormLabel className="font-mono font-normal">{event}</FormLabel>
|
|
321
319
|
</FormItem>
|
|
322
320
|
))
|
|
323
321
|
)}
|
|
324
322
|
</fieldset>
|
|
325
323
|
)}
|
|
326
324
|
{contentSources.length > 0 && (
|
|
327
|
-
<fieldset className="space-y-2 rounded
|
|
328
|
-
<legend className="px-1
|
|
325
|
+
<fieldset className="space-y-2 rounded border border-border p-3">
|
|
326
|
+
<legend className="px-1 font-medium tracking-wide text-muted-foreground uppercase">
|
|
329
327
|
Events · Entities
|
|
330
328
|
</legend>
|
|
331
329
|
{contentSources.flatMap((source) =>
|
|
@@ -340,9 +338,7 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
340
338
|
disabled={isPending}
|
|
341
339
|
/>
|
|
342
340
|
</FormControl>
|
|
343
|
-
<FormLabel className="font-mono
|
|
344
|
-
{event}
|
|
345
|
-
</FormLabel>
|
|
341
|
+
<FormLabel className="font-mono font-normal">{event}</FormLabel>
|
|
346
342
|
</FormItem>
|
|
347
343
|
))
|
|
348
344
|
)}
|
|
@@ -353,7 +349,7 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
353
349
|
/>
|
|
354
350
|
)}
|
|
355
351
|
{formSources.length === 0 && contentSources.length === 0 && (
|
|
356
|
-
<p className="text-
|
|
352
|
+
<p className="text-muted-foreground">
|
|
357
353
|
No schemas yet — generate an entity or form schema to subscribe this endpoint to
|
|
358
354
|
its events.
|
|
359
355
|
</p>
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-columns.tsx
CHANGED
|
@@ -35,7 +35,7 @@ export function createWebhooksColumns({
|
|
|
35
35
|
<Button
|
|
36
36
|
variant="ghost"
|
|
37
37
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
38
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
38
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
39
39
|
aria-label={`Sort by Name, ${sortLabel}`}
|
|
40
40
|
aria-sort={
|
|
41
41
|
sortDirection === 'asc'
|
|
@@ -69,7 +69,7 @@ export function createWebhooksColumns({
|
|
|
69
69
|
<Button
|
|
70
70
|
variant="ghost"
|
|
71
71
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
72
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
72
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
73
73
|
aria-label={`Sort by URL, ${sortLabel}`}
|
|
74
74
|
aria-sort={
|
|
75
75
|
sortDirection === 'asc'
|
|
@@ -85,7 +85,7 @@ export function createWebhooksColumns({
|
|
|
85
85
|
)
|
|
86
86
|
},
|
|
87
87
|
cell: ({ row }) => (
|
|
88
|
-
<span className="truncate font-mono text-
|
|
88
|
+
<span className="truncate font-mono text-muted-foreground">{row.original.url}</span>
|
|
89
89
|
)
|
|
90
90
|
},
|
|
91
91
|
{
|
|
@@ -104,7 +104,7 @@ export function createWebhooksColumns({
|
|
|
104
104
|
<Button
|
|
105
105
|
variant="ghost"
|
|
106
106
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
107
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
107
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
108
108
|
aria-label={`Sort by Enabled, ${sortLabel}`}
|
|
109
109
|
aria-sort={
|
|
110
110
|
sortDirection === 'asc'
|
|
@@ -137,7 +137,7 @@ export function createWebhooksColumns({
|
|
|
137
137
|
<Button
|
|
138
138
|
variant="ghost"
|
|
139
139
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
140
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
140
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
141
141
|
aria-label={`Sort by Events, ${sortLabel}`}
|
|
142
142
|
aria-sort={
|
|
143
143
|
sortDirection === 'asc'
|
|
@@ -170,7 +170,7 @@ export function createWebhooksColumns({
|
|
|
170
170
|
<Button
|
|
171
171
|
variant="ghost"
|
|
172
172
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
173
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
173
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
174
174
|
aria-label={`Sort by Last delivery, ${sortLabel}`}
|
|
175
175
|
aria-sort={
|
|
176
176
|
sortDirection === 'asc'
|
|
@@ -191,7 +191,7 @@ export function createWebhooksColumns({
|
|
|
191
191
|
<Badge variant={row.original.lastDeliverySuccess ? 'outline' : 'destructive'}>
|
|
192
192
|
{row.original.lastDeliverySuccess ? 'Delivered' : 'Failed'}
|
|
193
193
|
</Badge>
|
|
194
|
-
<span className="truncate text-
|
|
194
|
+
<span className="truncate text-muted-foreground">
|
|
195
195
|
{formatDistanceToNow(new Date(row.original.lastDeliveryAt), {
|
|
196
196
|
addSuffix: true
|
|
197
197
|
})}
|
|
@@ -217,7 +217,7 @@ export function createWebhooksColumns({
|
|
|
217
217
|
<Button
|
|
218
218
|
variant="ghost"
|
|
219
219
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
220
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
220
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
221
221
|
aria-label={`Sort by Created, ${sortLabel}`}
|
|
222
222
|
aria-sort={
|
|
223
223
|
sortDirection === 'asc'
|
|
@@ -233,7 +233,7 @@ export function createWebhooksColumns({
|
|
|
233
233
|
)
|
|
234
234
|
},
|
|
235
235
|
cell: ({ row }) => (
|
|
236
|
-
<div
|
|
236
|
+
<div>
|
|
237
237
|
{new Date(row.original.createdAt).toLocaleDateString('en-US', {
|
|
238
238
|
month: 'short',
|
|
239
239
|
day: 'numeric',
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-columns.tsx
CHANGED
|
@@ -24,7 +24,7 @@ export const logsColumns: ColumnDef<WebhookDeliveryEntry>[] = [
|
|
|
24
24
|
<Button
|
|
25
25
|
variant="ghost"
|
|
26
26
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
27
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
27
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
28
28
|
aria-label={`Sort by Status, ${sortLabel}`}
|
|
29
29
|
aria-sort={
|
|
30
30
|
sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none'
|
|
@@ -60,7 +60,7 @@ export const logsColumns: ColumnDef<WebhookDeliveryEntry>[] = [
|
|
|
60
60
|
<Button
|
|
61
61
|
variant="ghost"
|
|
62
62
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
63
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
63
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
64
64
|
aria-label={`Sort by Event, ${sortLabel}`}
|
|
65
65
|
aria-sort={
|
|
66
66
|
sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none'
|
|
@@ -71,7 +71,7 @@ export const logsColumns: ColumnDef<WebhookDeliveryEntry>[] = [
|
|
|
71
71
|
</Button>
|
|
72
72
|
)
|
|
73
73
|
},
|
|
74
|
-
cell: ({ row }) => <span className="truncate font-mono
|
|
74
|
+
cell: ({ row }) => <span className="truncate font-mono">{row.original.event}</span>
|
|
75
75
|
},
|
|
76
76
|
{
|
|
77
77
|
accessorKey: 'webhookName',
|
|
@@ -89,7 +89,7 @@ export const logsColumns: ColumnDef<WebhookDeliveryEntry>[] = [
|
|
|
89
89
|
<Button
|
|
90
90
|
variant="ghost"
|
|
91
91
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
92
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
92
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
93
93
|
aria-label={`Sort by Endpoint, ${sortLabel}`}
|
|
94
94
|
aria-sort={
|
|
95
95
|
sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none'
|
|
@@ -118,7 +118,7 @@ export const logsColumns: ColumnDef<WebhookDeliveryEntry>[] = [
|
|
|
118
118
|
<Button
|
|
119
119
|
variant="ghost"
|
|
120
120
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
121
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
121
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
122
122
|
aria-label={`Sort by Attempt, ${sortLabel}`}
|
|
123
123
|
aria-sort={
|
|
124
124
|
sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none'
|
|
@@ -147,7 +147,7 @@ export const logsColumns: ColumnDef<WebhookDeliveryEntry>[] = [
|
|
|
147
147
|
<Button
|
|
148
148
|
variant="ghost"
|
|
149
149
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
150
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
150
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
151
151
|
aria-label={`Sort by Duration, ${sortLabel}`}
|
|
152
152
|
aria-sort={
|
|
153
153
|
sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none'
|
|
@@ -178,7 +178,7 @@ export const logsColumns: ColumnDef<WebhookDeliveryEntry>[] = [
|
|
|
178
178
|
<Button
|
|
179
179
|
variant="ghost"
|
|
180
180
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
181
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
181
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
182
182
|
aria-label={`Sort by When, ${sortLabel}`}
|
|
183
183
|
aria-sort={
|
|
184
184
|
sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none'
|
|
@@ -26,7 +26,7 @@ export const columns: ColumnDef<User>[] = [
|
|
|
26
26
|
<Button
|
|
27
27
|
variant="ghost"
|
|
28
28
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
29
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
29
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
30
30
|
>
|
|
31
31
|
<span className="truncate">User</span>
|
|
32
32
|
<SortIndicator direction={sortDirection} />
|
|
@@ -43,7 +43,7 @@ export const columns: ColumnDef<User>[] = [
|
|
|
43
43
|
</Avatar>
|
|
44
44
|
<div className="flex flex-col">
|
|
45
45
|
<div className="font-medium">{name || 'N/A'}</div>
|
|
46
|
-
<div className="text-
|
|
46
|
+
<div className="text-muted-foreground">{email}</div>
|
|
47
47
|
</div>
|
|
48
48
|
</div>
|
|
49
49
|
)
|
|
@@ -112,7 +112,7 @@ export const columns: ColumnDef<User>[] = [
|
|
|
112
112
|
<Button
|
|
113
113
|
variant="ghost"
|
|
114
114
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
115
|
-
className="group w-full min-w-0 scale-100! justify-start overflow-hidden
|
|
115
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden border-none bg-transparent! px-0!"
|
|
116
116
|
>
|
|
117
117
|
<span className="truncate">Joined</span>
|
|
118
118
|
<SortIndicator direction={sortDirection} />
|
|
@@ -122,7 +122,7 @@ export const columns: ColumnDef<User>[] = [
|
|
|
122
122
|
cell: ({ row }) => {
|
|
123
123
|
const date = new Date(row.getValue('createdAt'))
|
|
124
124
|
return (
|
|
125
|
-
<div
|
|
125
|
+
<div>
|
|
126
126
|
{date.toLocaleDateString('en-US', {
|
|
127
127
|
month: 'short',
|
|
128
128
|
day: 'numeric',
|
|
@@ -19,7 +19,7 @@ export class InlineMathNodeView {
|
|
|
19
19
|
this.dom = document.createElement('span')
|
|
20
20
|
this.dom.dataset.contentEditorInlineMath = ''
|
|
21
21
|
this.dom.contentEditable = 'false'
|
|
22
|
-
this.dom.className = 'content-editor-inline-math rounded
|
|
22
|
+
this.dom.className = 'content-editor-inline-math rounded px-0.5'
|
|
23
23
|
this.render()
|
|
24
24
|
}
|
|
25
25
|
|
package/dist/assets/adapters/next/templates/init/utils/editor/raw-content-block-node-view.ts
CHANGED
|
@@ -31,7 +31,7 @@ export class RawContentBlockNodeView {
|
|
|
31
31
|
this.dom.dataset.raw = this.currentRaw
|
|
32
32
|
this.dom.contentEditable = 'false'
|
|
33
33
|
this.dom.className =
|
|
34
|
-
'content-editor-raw-block not-prose my-4 overflow-hidden rounded
|
|
34
|
+
'content-editor-raw-block not-prose my-4 overflow-hidden rounded border bg-muted/20'
|
|
35
35
|
|
|
36
36
|
this.preview = document.createElement('div')
|
|
37
37
|
this.preview.contentEditable = 'true'
|
|
@@ -9,7 +9,7 @@ export function renderFormSubmissionRows(submissionData: Record<string, unknown>
|
|
|
9
9
|
const displayValue = escapeHtml(formatEmailValue(value))
|
|
10
10
|
|
|
11
11
|
return `<tr>
|
|
12
|
-
<th style="border-bottom:1px solid ${emailTheme.border};color:${emailTheme.mutedText};font-size:
|
|
12
|
+
<th style="border-bottom:1px solid ${emailTheme.border};color:${emailTheme.mutedText};font-size:14px;font-weight:600;padding:12px;text-align:left;text-transform:uppercase;vertical-align:top;width:36%;">${label}</th>
|
|
13
13
|
<td style="border-bottom:1px solid ${emailTheme.border};color:${emailTheme.text};font-size:14px;line-height:20px;padding:12px;vertical-align:top;">${displayValue}</td>
|
|
14
14
|
</tr>`
|
|
15
15
|
})
|
|
@@ -13,10 +13,10 @@ export function renderNotificationEmail(input: FormEmailDeliveryInput): string {
|
|
|
13
13
|
<html>
|
|
14
14
|
<body style="margin:0;background:${emailTheme.pageBackground};font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:${emailTheme.text};">
|
|
15
15
|
<div style="margin:0 auto;max-width:${emailTheme.contentWidth};padding:40px 20px;">
|
|
16
|
-
<div style="border-radius:
|
|
16
|
+
<div style="border-radius:6px;background:${emailTheme.surface};border:1px solid ${emailTheme.border};overflow:hidden;">
|
|
17
17
|
<div style="background:${emailTheme.headerBackground};color:${emailTheme.inverseText};padding:24px 28px;">
|
|
18
|
-
<p style="margin:0;color:${emailTheme.mutedInverseText};font-size:
|
|
19
|
-
<h1 style="margin:4px 0 0;font-size:
|
|
18
|
+
<p style="margin:0;color:${emailTheme.mutedInverseText};font-size:14px;line-height:20px;">${formName}</p>
|
|
19
|
+
<h1 style="margin:4px 0 0;font-size:14px;line-height:32px;">New ${formLabel} submission</h1>
|
|
20
20
|
</div>
|
|
21
21
|
<div style="padding:24px 28px;">
|
|
22
22
|
<p style="margin:0 0 20px;color:${emailTheme.mutedText};font-size:14px;line-height:20px;">Submitted at ${submittedAt}</p>
|
|
@@ -9,9 +9,9 @@ export function renderThankYouEmail(input: FormEmailDeliveryInput): string {
|
|
|
9
9
|
<html>
|
|
10
10
|
<body style="margin:0;background:${emailTheme.pageBackground};font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:${emailTheme.text};">
|
|
11
11
|
<div style="margin:0 auto;max-width:${emailTheme.compactWidth};padding:40px 20px;">
|
|
12
|
-
<div style="border-radius:
|
|
13
|
-
<h1 style="margin:0 0 16px;font-size:
|
|
14
|
-
<p style="margin:0;color:${emailTheme.bodyText};font-size:
|
|
12
|
+
<div style="border-radius:6px;background:${emailTheme.surface};padding:32px;border:1px solid ${emailTheme.border};">
|
|
13
|
+
<h1 style="margin:0 0 16px;font-size:14px;line-height:32px;">Thank you</h1>
|
|
14
|
+
<p style="margin:0;color:${emailTheme.bodyText};font-size:14px;line-height:24px;">We received your ${formLabel} submission and will get back to you shortly.</p>
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
17
17
|
</body>
|