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
package/dist/assets/adapters/next/integrations/resend/actions/render-password-reset-email.ts
CHANGED
|
@@ -10,12 +10,12 @@ export function renderPasswordResetEmail(input: PasswordResetEmailInput): string
|
|
|
10
10
|
<html>
|
|
11
11
|
<body style="margin:0;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#0f172a;">
|
|
12
12
|
<div style="margin:0 auto;max-width:560px;padding:40px 20px;">
|
|
13
|
-
<div style="border-radius:
|
|
14
|
-
<h1 style="margin:0 0 16px;font-size:
|
|
15
|
-
<p style="margin:0 0 16px;font-size:
|
|
16
|
-
<p style="margin:0 0 24px;font-size:
|
|
13
|
+
<div style="border-radius:6px;background:#ffffff;padding:32px;border:1px solid #e2e8f0;">
|
|
14
|
+
<h1 style="margin:0 0 16px;font-size:14px;line-height:32px;">Reset your password</h1>
|
|
15
|
+
<p style="margin:0 0 16px;font-size:14px;line-height:24px;">Hi ${escapedName},</p>
|
|
16
|
+
<p style="margin:0 0 24px;font-size:14px;line-height:24px;">Use the button below to reset your BetterStart Admin password.</p>
|
|
17
17
|
<p style="margin:0 0 24px;">
|
|
18
|
-
<a href="${escapedUrl}" style="display:inline-block;border-radius:
|
|
18
|
+
<a href="${escapedUrl}" style="display:inline-block;border-radius:6px;background:#0f172a;color:#ffffff;padding:12px 18px;text-decoration:none;font-weight:600;">Reset password</a>
|
|
19
19
|
</p>
|
|
20
20
|
<p style="margin:0;color:#64748b;font-size:14px;line-height:20px;">If you did not request this email, you can safely ignore it.</p>
|
|
21
21
|
</div>
|
|
@@ -44,13 +44,9 @@
|
|
|
44
44
|
--color-popover: var(--popover);
|
|
45
45
|
--color-card-foreground: var(--card-foreground);
|
|
46
46
|
--color-card: var(--card);
|
|
47
|
-
--
|
|
48
|
-
--radius
|
|
49
|
-
--radius
|
|
50
|
-
--radius-xl: calc(var(--radius) + 4px);
|
|
51
|
-
--radius-2xl: calc(var(--radius) + 8px);
|
|
52
|
-
--radius-3xl: calc(var(--radius) + 12px);
|
|
53
|
-
--radius-4xl: calc(var(--radius) + 16px);
|
|
47
|
+
--text-*: initial;
|
|
48
|
+
--radius-*: initial;
|
|
49
|
+
--radius: 6px;
|
|
54
50
|
--font-heading: var(--font-sans);
|
|
55
51
|
--shadow-sm: var(--shadow-small);
|
|
56
52
|
--shadow-md: var(--shadow-medium);
|
|
@@ -224,7 +220,7 @@
|
|
|
224
220
|
--chart-3: var(--ds-teal-700);
|
|
225
221
|
--chart-4: var(--ds-amber-700);
|
|
226
222
|
--chart-5: var(--ds-pink-700);
|
|
227
|
-
--radius:
|
|
223
|
+
--radius: 6px;
|
|
228
224
|
--shadow-background-border: 0 0 0 1px var(--background);
|
|
229
225
|
--shadow-border-base: 0 0 0 1px var(--ds-gray-alpha-400);
|
|
230
226
|
--shadow-border-inset: inset 0 0 0 1px var(--ds-gray-alpha-400);
|
|
@@ -296,6 +292,8 @@
|
|
|
296
292
|
|
|
297
293
|
body {
|
|
298
294
|
@apply bg-background text-foreground;
|
|
295
|
+
font-size: 14px;
|
|
296
|
+
line-height: 20px;
|
|
299
297
|
}
|
|
300
298
|
|
|
301
299
|
.admin-root {
|
|
@@ -364,7 +362,8 @@
|
|
|
364
362
|
--tw-prose-invert-pre-bg: var(--muted);
|
|
365
363
|
--tw-prose-invert-th-borders: var(--border);
|
|
366
364
|
--tw-prose-invert-td-borders: var(--border);
|
|
367
|
-
@apply caret-foreground text-foreground
|
|
365
|
+
@apply caret-foreground text-foreground leading-[1.65] outline-none whitespace-pre-wrap;
|
|
366
|
+
font-size: 0.9375rem;
|
|
368
367
|
}
|
|
369
368
|
|
|
370
369
|
.admin-root .content-editor-prose > :first-child {
|
|
@@ -390,25 +389,29 @@
|
|
|
390
389
|
.admin-root
|
|
391
390
|
.content-editor-prose
|
|
392
391
|
:where(h1):not(:where([class~="not-prose"] *)) {
|
|
393
|
-
@apply mt-7
|
|
392
|
+
@apply mt-7 leading-[1.18];
|
|
393
|
+
font-size: 1.75rem;
|
|
394
394
|
}
|
|
395
395
|
|
|
396
396
|
.admin-root
|
|
397
397
|
.content-editor-prose
|
|
398
398
|
:where(h2):not(:where([class~="not-prose"] *)) {
|
|
399
|
-
@apply mt-6
|
|
399
|
+
@apply mt-6 leading-tight;
|
|
400
|
+
font-size: 1.375rem;
|
|
400
401
|
}
|
|
401
402
|
|
|
402
403
|
.admin-root
|
|
403
404
|
.content-editor-prose
|
|
404
405
|
:where(h3):not(:where([class~="not-prose"] *)) {
|
|
405
|
-
@apply mt-5
|
|
406
|
+
@apply mt-5 leading-[1.3];
|
|
407
|
+
font-size: 1.125rem;
|
|
406
408
|
}
|
|
407
409
|
|
|
408
410
|
.admin-root
|
|
409
411
|
.content-editor-prose
|
|
410
412
|
:where(h4):not(:where([class~="not-prose"] *)) {
|
|
411
|
-
@apply mt-[1.125rem]
|
|
413
|
+
@apply mt-[1.125rem] leading-[1.35];
|
|
414
|
+
font-size: 1rem;
|
|
412
415
|
}
|
|
413
416
|
|
|
414
417
|
.admin-root
|
|
@@ -475,7 +478,8 @@
|
|
|
475
478
|
.admin-root
|
|
476
479
|
.content-editor-prose
|
|
477
480
|
:where(code):not(:where(pre code, [class~="not-prose"] *)) {
|
|
478
|
-
@apply rounded
|
|
481
|
+
@apply rounded border border-border bg-muted px-[0.3em] py-[0.1em] font-medium leading-[1.4];
|
|
482
|
+
font-size: 0.875em;
|
|
479
483
|
}
|
|
480
484
|
|
|
481
485
|
.admin-root
|
|
@@ -490,16 +494,23 @@
|
|
|
490
494
|
.admin-root
|
|
491
495
|
.content-editor-prose
|
|
492
496
|
:where(pre):not(:where([class~="not-prose"] *)) {
|
|
493
|
-
@apply my-4 rounded
|
|
497
|
+
@apply my-4 rounded border border-border px-4 py-3.5 leading-[1.6];
|
|
498
|
+
font-size: 0.875em;
|
|
494
499
|
}
|
|
495
500
|
|
|
496
501
|
.admin-root
|
|
497
502
|
.content-editor-prose
|
|
498
503
|
:where(pre code):not(:where([class~="not-prose"] *)) {
|
|
499
|
-
@apply border-0 bg-transparent p-0;
|
|
504
|
+
@apply rounded border-0 bg-transparent p-0;
|
|
500
505
|
font-size: inherit;
|
|
501
506
|
}
|
|
502
507
|
|
|
508
|
+
.admin-root
|
|
509
|
+
.content-editor-prose
|
|
510
|
+
:where(kbd):not(:where([class~="not-prose"] *)) {
|
|
511
|
+
@apply rounded;
|
|
512
|
+
}
|
|
513
|
+
|
|
503
514
|
.admin-root .content-editor-prose > * {
|
|
504
515
|
@apply relative;
|
|
505
516
|
}
|
|
@@ -517,7 +528,7 @@
|
|
|
517
528
|
.admin-root
|
|
518
529
|
.content-editor-prose
|
|
519
530
|
.ProseMirror-selectednode:not(img):not(pre):not(.react-renderer) {
|
|
520
|
-
@apply rounded
|
|
531
|
+
@apply rounded bg-primary/12;
|
|
521
532
|
}
|
|
522
533
|
|
|
523
534
|
.admin-root .content-editor-prose.ProseMirror-hideselection {
|
|
@@ -592,7 +603,8 @@
|
|
|
592
603
|
.admin-root
|
|
593
604
|
.content-editor-prose
|
|
594
605
|
:where(table):not(:where([class~="not-prose"] *)) {
|
|
595
|
-
@apply my-4 w-full table-fixed border-collapse
|
|
606
|
+
@apply my-4 w-full table-fixed border-collapse;
|
|
607
|
+
font-size: 0.875rem;
|
|
596
608
|
}
|
|
597
609
|
|
|
598
610
|
.admin-root .content-editor-prose .tableWrapper table {
|
|
@@ -699,13 +711,13 @@
|
|
|
699
711
|
@utility material-md {
|
|
700
712
|
background-color: var(--card);
|
|
701
713
|
box-shadow: var(--shadow-border-medium);
|
|
702
|
-
border-radius:
|
|
714
|
+
border-radius: 6px;
|
|
703
715
|
}
|
|
704
716
|
|
|
705
717
|
@utility material-lg {
|
|
706
718
|
background-color: var(--card);
|
|
707
719
|
box-shadow: var(--shadow-border-large);
|
|
708
|
-
border-radius:
|
|
720
|
+
border-radius: 6px;
|
|
709
721
|
}
|
|
710
722
|
|
|
711
723
|
@utility material-tooltip {
|
|
@@ -717,17 +729,17 @@
|
|
|
717
729
|
@utility material-menu {
|
|
718
730
|
background-color: var(--card);
|
|
719
731
|
box-shadow: var(--shadow-menu);
|
|
720
|
-
border-radius:
|
|
732
|
+
border-radius: 6px;
|
|
721
733
|
}
|
|
722
734
|
|
|
723
735
|
@utility material-modal {
|
|
724
736
|
background-color: var(--card);
|
|
725
737
|
box-shadow: var(--shadow-modal);
|
|
726
|
-
border-radius:
|
|
738
|
+
border-radius: 6px;
|
|
727
739
|
}
|
|
728
740
|
|
|
729
741
|
@utility material-fullscreen {
|
|
730
742
|
background-color: var(--card);
|
|
731
743
|
box-shadow: var(--shadow-fullscreen);
|
|
732
|
-
border-radius:
|
|
744
|
+
border-radius: 6px;
|
|
733
745
|
}
|
|
@@ -3,7 +3,7 @@ import { Skeleton } from '@admin/components/ui/skeleton'
|
|
|
3
3
|
export function BrandingSkeleton() {
|
|
4
4
|
return (
|
|
5
5
|
<div className="flex h-full w-full items-center gap-2">
|
|
6
|
-
<Skeleton className="size-8 shrink-0 rounded
|
|
6
|
+
<Skeleton className="size-8 shrink-0 rounded" />
|
|
7
7
|
<Skeleton className="h-4 w-24 group-data-[collapsible=icon]:hidden" />
|
|
8
8
|
</div>
|
|
9
9
|
)
|
|
@@ -6,7 +6,7 @@ export function UserMenuSkeleton() {
|
|
|
6
6
|
<SidebarMenu className="h-full gap-0">
|
|
7
7
|
<SidebarMenuItem className="h-full">
|
|
8
8
|
<div className="flex h-full w-full items-center gap-2 px-3">
|
|
9
|
-
<Skeleton className="size-8 shrink-0 rounded
|
|
9
|
+
<Skeleton className="size-8 shrink-0 rounded" />
|
|
10
10
|
<Skeleton className="h-4 w-20 group-data-[collapsible=icon]:hidden" />
|
|
11
11
|
</div>
|
|
12
12
|
</SidebarMenuItem>
|
package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-user-menu.tsx
CHANGED
|
@@ -32,7 +32,7 @@ export async function SidebarUserMenu() {
|
|
|
32
32
|
>
|
|
33
33
|
<Avatar className="size-8 shrink-0">
|
|
34
34
|
<AvatarImage src={user.image ?? undefined} />
|
|
35
|
-
<AvatarFallback className="
|
|
35
|
+
<AvatarFallback className="font-semibold group-hover:bg-white">
|
|
36
36
|
{user.name?.charAt(0) ?? user.email?.charAt(0) ?? '?'}
|
|
37
37
|
</AvatarFallback>
|
|
38
38
|
</Avatar>
|
|
@@ -44,7 +44,7 @@ export async function SidebarUserMenu() {
|
|
|
44
44
|
<span
|
|
45
45
|
className={cn(
|
|
46
46
|
buttonVariants({ variant: 'outline', size: 'icon' }),
|
|
47
|
-
'size-7 rounded
|
|
47
|
+
'size-7 rounded group-hover:bg-white'
|
|
48
48
|
)}
|
|
49
49
|
>
|
|
50
50
|
<Ellipsis strokeWidth={2} className="size-4" />
|
|
@@ -67,7 +67,7 @@ export async function SidebarUserMenu() {
|
|
|
67
67
|
<div className="flex items-center gap-2">
|
|
68
68
|
<div className="flex flex-col">
|
|
69
69
|
<p className="truncate font-medium">{user.name}</p>
|
|
70
|
-
<p className="truncate
|
|
70
|
+
<p className="truncate font-normal text-muted-foreground [text-box-trim:trim-start]">
|
|
71
71
|
{user.email}
|
|
72
72
|
</p>
|
|
73
73
|
</div>
|
|
@@ -7,35 +7,35 @@ export function ContentSkeleton() {
|
|
|
7
7
|
<div className="relative w-full max-w-xl" aria-hidden="true">
|
|
8
8
|
<Card size="sm" className="absolute top-1 left-1/2 h-24 w-[72%] -translate-x-1/2 rotate-3">
|
|
9
9
|
<CardContent className="flex h-full items-start gap-3 p-3">
|
|
10
|
-
<Skeleton className="size-8 shrink-0 rounded
|
|
10
|
+
<Skeleton className="size-8 shrink-0 rounded" />
|
|
11
11
|
<div className="flex min-w-0 flex-1 flex-col gap-2 pt-1">
|
|
12
|
-
<Skeleton className="h-4 w-full rounded
|
|
13
|
-
<Skeleton className="h-3 w-[78%] rounded
|
|
12
|
+
<Skeleton className="h-4 w-full rounded" />
|
|
13
|
+
<Skeleton className="h-3 w-[78%] rounded" />
|
|
14
14
|
</div>
|
|
15
|
-
<Skeleton className="h-6 w-14 shrink-0 rounded
|
|
15
|
+
<Skeleton className="h-6 w-14 shrink-0 rounded" />
|
|
16
16
|
</CardContent>
|
|
17
17
|
</Card>
|
|
18
18
|
|
|
19
19
|
<Card size="sm" className="absolute top-10 right-2 h-36 w-[50%] rotate-6">
|
|
20
20
|
<CardContent className="flex h-full flex-col gap-4 p-4">
|
|
21
|
-
<Skeleton className="ml-auto h-6 w-14 rounded
|
|
21
|
+
<Skeleton className="ml-auto h-6 w-14 rounded" />
|
|
22
22
|
<div className="flex flex-col gap-3 pt-2">
|
|
23
|
-
<Skeleton className="h-4 w-full rounded
|
|
24
|
-
<Skeleton className="h-4 w-[88%] rounded
|
|
23
|
+
<Skeleton className="h-4 w-full rounded" />
|
|
24
|
+
<Skeleton className="h-4 w-[88%] rounded" />
|
|
25
25
|
</div>
|
|
26
|
-
<Skeleton className="mt-auto h-4 w-[78%] rounded
|
|
26
|
+
<Skeleton className="mt-auto h-4 w-[78%] rounded" />
|
|
27
27
|
</CardContent>
|
|
28
28
|
</Card>
|
|
29
29
|
|
|
30
30
|
<Card size="sm" className="absolute top-12 left-0 h-36 w-[78%] -rotate-2">
|
|
31
31
|
<CardContent className="flex h-full gap-4 p-4">
|
|
32
|
-
<Skeleton className="h-full w-[27%] shrink-0 rounded
|
|
32
|
+
<Skeleton className="h-full w-[27%] shrink-0 rounded" />
|
|
33
33
|
<div className="flex min-w-0 flex-1 flex-col gap-3">
|
|
34
|
-
<Skeleton className="h-8 w-full rounded
|
|
35
|
-
<Skeleton className="h-9 w-[94%] rounded
|
|
36
|
-
<Skeleton className="h-3 w-[70%] rounded
|
|
34
|
+
<Skeleton className="h-8 w-full rounded" />
|
|
35
|
+
<Skeleton className="h-9 w-[94%] rounded" />
|
|
36
|
+
<Skeleton className="h-3 w-[70%] rounded" />
|
|
37
37
|
</div>
|
|
38
|
-
<Skeleton className="h-6 w-14 shrink-0 rounded
|
|
38
|
+
<Skeleton className="h-6 w-14 shrink-0 rounded" />
|
|
39
39
|
</CardContent>
|
|
40
40
|
</Card>
|
|
41
41
|
</div>
|
|
@@ -28,12 +28,12 @@ export function SidebarBranding({ initialData }: SidebarBrandingProps) {
|
|
|
28
28
|
<Link href="/admin" className="flex w-full items-center gap-2">
|
|
29
29
|
<Avatar className="size-8">
|
|
30
30
|
<AvatarImage src={dashboardLogo} />
|
|
31
|
-
<AvatarFallback className="
|
|
31
|
+
<AvatarFallback className="font-semibold text-foreground">
|
|
32
32
|
{dashboardName.charAt(0)}
|
|
33
33
|
</AvatarFallback>
|
|
34
34
|
</Avatar>
|
|
35
35
|
<div className="flex w-full items-center gap-1 text-foreground group-data-[collapsible=icon]:hidden">
|
|
36
|
-
<span className="line-clamp-1
|
|
36
|
+
<span className="line-clamp-1 font-medium">{dashboardName}</span>
|
|
37
37
|
</div>
|
|
38
38
|
</Link>
|
|
39
39
|
</div>
|
package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-body.tsx
CHANGED
|
@@ -9,7 +9,7 @@ function DataGridBody({ className, ...props }: React.ComponentProps<'div'>) {
|
|
|
9
9
|
role="rowgroup"
|
|
10
10
|
data-slot="data-grid-body"
|
|
11
11
|
className={cn(
|
|
12
|
-
"relative col-span-full grid grid-cols-subgrid overflow-hidden rounded
|
|
12
|
+
"relative col-span-full grid grid-cols-subgrid overflow-hidden rounded bg-card shadow-input after:pointer-events-none after:absolute after:inset-0 after:rounded after:border after:border-border after:content-['']",
|
|
13
13
|
className
|
|
14
14
|
)}
|
|
15
15
|
{...props}
|
package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-header.tsx
CHANGED
|
@@ -9,7 +9,7 @@ function DataGridHeader({ className, ...props }: React.ComponentProps<'div'>) {
|
|
|
9
9
|
role="rowgroup"
|
|
10
10
|
data-slot="data-grid-header"
|
|
11
11
|
className={cn(
|
|
12
|
-
"relative col-span-full -mb-1 grid grid-cols-subgrid rounded-t
|
|
12
|
+
"relative col-span-full -mb-1 grid grid-cols-subgrid rounded-t bg-muted pb-1 after:pointer-events-none after:absolute after:inset-0 after:rounded-t after:border-x after:border-t after:border-border after:content-['']",
|
|
13
13
|
className
|
|
14
14
|
)}
|
|
15
15
|
{...props}
|
|
@@ -99,7 +99,7 @@ export function DataTablePagination<TData>(props: DataTablePaginationProps<TData
|
|
|
99
99
|
<ProgressiveBlur position="bottom" height="53px" />
|
|
100
100
|
<div className="pointer-events-auto flex h-(--admin-shell-bottom-bar-height) items-center justify-between border-t border-border bg-background px-4 py-2 [--admin-shell-bottom-bar-height:53px]">
|
|
101
101
|
<div className="flex items-center gap-2">
|
|
102
|
-
<span className="text-
|
|
102
|
+
<span className="text-muted-foreground">Rows per page</span>
|
|
103
103
|
<Select
|
|
104
104
|
value={pageSize === -1 ? 'all' : String(pageSize)}
|
|
105
105
|
onValueChange={handlePageSizeChange}
|
|
@@ -124,7 +124,7 @@ export function DataTablePagination<TData>(props: DataTablePaginationProps<TData
|
|
|
124
124
|
>
|
|
125
125
|
Previous
|
|
126
126
|
</Button>
|
|
127
|
-
<div className="text-
|
|
127
|
+
<div className="text-muted-foreground">
|
|
128
128
|
Page {resolvedPageIndex + 1} of {resolvedPageCount}
|
|
129
129
|
</div>
|
|
130
130
|
<Button
|
package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/copyable-code-block.tsx
CHANGED
|
@@ -37,12 +37,10 @@ export function CopyableCodeBlock({ label, code, language, tabs }: CopyableCodeB
|
|
|
37
37
|
<Tabs value={activeTab.id} onValueChange={setActiveTabId} className="min-h-0 flex-1 gap-0">
|
|
38
38
|
<CardHeader className="flex items-center justify-between gap-2 border-b border-border bg-background pt-[5px]! pr-1 pb-2! pl-3.5!">
|
|
39
39
|
<div className="flex min-w-0 flex-1 items-center gap-2">
|
|
40
|
-
<span className="min-w-0 truncate
|
|
41
|
-
{label}
|
|
42
|
-
</span>
|
|
40
|
+
<span className="min-w-0 truncate font-medium text-muted-foreground">{label}</span>
|
|
43
41
|
<TabsList className="h-fit! shrink-0">
|
|
44
42
|
{codeTabs.map((tab) => (
|
|
45
|
-
<TabsTrigger key={tab.id} value={tab.id} className="h-7 px-3
|
|
43
|
+
<TabsTrigger key={tab.id} value={tab.id} className="h-7 px-3">
|
|
46
44
|
{tab.label}
|
|
47
45
|
</TabsTrigger>
|
|
48
46
|
))}
|
|
@@ -74,9 +72,7 @@ export function CopyableCodeBlock({ label, code, language, tabs }: CopyableCodeB
|
|
|
74
72
|
) : (
|
|
75
73
|
<>
|
|
76
74
|
<CardHeader className="flex items-center justify-between gap-2 border-b border-border bg-background pt-[5px]! pr-1 pb-2! pl-3.5!">
|
|
77
|
-
<span className="min-w-0 truncate
|
|
78
|
-
{label}
|
|
79
|
-
</span>
|
|
75
|
+
<span className="min-w-0 truncate font-medium text-muted-foreground">{label}</span>
|
|
80
76
|
<Button
|
|
81
77
|
type="button"
|
|
82
78
|
variant="ghost"
|
package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/lifecycle-hooks-tab.tsx
CHANGED
|
@@ -43,14 +43,14 @@ export function LifecycleHooksTab({ lifecycleHooks }: LifecycleHooksTabProps) {
|
|
|
43
43
|
|
|
44
44
|
if (!firstHook) {
|
|
45
45
|
return (
|
|
46
|
-
<div className="flex min-h-80 items-center justify-center rounded
|
|
46
|
+
<div className="flex min-h-80 items-center justify-center rounded border border-dashed border-border px-6 text-center text-muted-foreground">
|
|
47
47
|
Lifecycle hook examples are generated for entity and form schemas.
|
|
48
48
|
</div>
|
|
49
49
|
)
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
return (
|
|
53
|
-
<Accordion defaultValue={[firstHook.id]} className="min-h-0 shrink-0 rounded
|
|
53
|
+
<Accordion defaultValue={[firstHook.id]} className="min-h-0 shrink-0 rounded">
|
|
54
54
|
{lifecycleHooks.map((hook) => {
|
|
55
55
|
const HookIcon = LIFECYCLE_HOOK_ICONS[hook.icon]
|
|
56
56
|
const phaseLabel = LIFECYCLE_HOOK_PHASE_LABELS[hook.phase]
|
package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/plain-code-fallback.tsx
CHANGED
|
@@ -4,7 +4,7 @@ interface PlainCodeFallbackProps {
|
|
|
4
4
|
|
|
5
5
|
export function PlainCodeFallback({ code }: PlainCodeFallbackProps) {
|
|
6
6
|
return (
|
|
7
|
-
<pre className="min-h-full overflow-x-auto p-3 font-mono text-
|
|
7
|
+
<pre className="min-h-full overflow-x-auto p-3 font-mono text-[12px] leading-5 whitespace-pre text-foreground">
|
|
8
8
|
{code}
|
|
9
9
|
</pre>
|
|
10
10
|
)
|
package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/snippets-tab.tsx
CHANGED
|
@@ -47,7 +47,7 @@ export function SnippetsTab({ snippets }: SnippetsTabProps) {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
return (
|
|
50
|
-
<Accordion defaultValue={[firstSnippet.id]} className="min-h-0 shrink-0 rounded
|
|
50
|
+
<Accordion defaultValue={[firstSnippet.id]} className="min-h-0 shrink-0 rounded">
|
|
51
51
|
{snippets.map((snippet) => {
|
|
52
52
|
const SnippetIcon = SNIPPET_ICONS[snippet.icon]
|
|
53
53
|
const snippetKindLabel = SNIPPET_KIND_LABELS[snippet.kind]
|
|
@@ -81,13 +81,13 @@ export function DevModeIntegrateButton({
|
|
|
81
81
|
</TabsContent>
|
|
82
82
|
</Tabs>
|
|
83
83
|
) : isPending ? (
|
|
84
|
-
<div className="flex min-h-80 items-center justify-center px-6 text-
|
|
84
|
+
<div className="flex min-h-80 items-center justify-center px-6 text-muted-foreground">
|
|
85
85
|
Loading integration details…
|
|
86
86
|
</div>
|
|
87
87
|
) : loadError ? (
|
|
88
88
|
<div
|
|
89
89
|
role="alert"
|
|
90
|
-
className="flex min-h-80 items-center justify-center px-6 text-
|
|
90
|
+
className="flex min-h-80 items-center justify-center px-6 text-destructive"
|
|
91
91
|
>
|
|
92
92
|
{loadError}
|
|
93
93
|
</div>
|
|
@@ -47,7 +47,7 @@ export function EntityMetadata({
|
|
|
47
47
|
typeof data.published === 'boolean' ? (data.published ? 'Published' : 'Draft') : null
|
|
48
48
|
|
|
49
49
|
return (
|
|
50
|
-
<div className="flex w-full flex-wrap items-center justify-between gap-3 text-
|
|
50
|
+
<div className="flex w-full flex-wrap items-center justify-between gap-3 text-muted-foreground">
|
|
51
51
|
<div className="flex flex-wrap items-center gap-3">
|
|
52
52
|
<div className="flex items-center gap-1">
|
|
53
53
|
<span>ID</span>
|
|
@@ -24,7 +24,7 @@ export function EntityVersionItem({
|
|
|
24
24
|
const authorLabel = author?.name || author?.email || 'System'
|
|
25
25
|
|
|
26
26
|
return (
|
|
27
|
-
<div className="flex items-center justify-between gap-3 rounded
|
|
27
|
+
<div className="flex items-center justify-between gap-3 rounded border border-border px-3 py-3 shadow-input">
|
|
28
28
|
<div className="flex min-w-0 items-center gap-3">
|
|
29
29
|
<Avatar size="sm">
|
|
30
30
|
{author?.image ? <AvatarImage src={author.image} alt={authorLabel} /> : null}
|
|
@@ -36,7 +36,7 @@ export function EntityVersionItem({
|
|
|
36
36
|
<Badge variant="secondary">v{version.version}</Badge>
|
|
37
37
|
</div>
|
|
38
38
|
<Tooltip>
|
|
39
|
-
<TooltipTrigger render={<p className="w-fit text-
|
|
39
|
+
<TooltipTrigger render={<p className="w-fit text-muted-foreground" />}>
|
|
40
40
|
Saved {formatDistanceToNow(createdDate, { addSuffix: true })}
|
|
41
41
|
</TooltipTrigger>
|
|
42
42
|
<TooltipContent>{format(createdDate, 'PPpp')}</TooltipContent>
|
|
@@ -22,7 +22,7 @@ export function EntityVersionsCurrentRow({ updatedAt, author }: EntityVersionsCu
|
|
|
22
22
|
const authorLabel = author?.name || author?.email || 'System'
|
|
23
23
|
|
|
24
24
|
return (
|
|
25
|
-
<div className="flex items-center justify-between gap-3 rounded
|
|
25
|
+
<div className="flex items-center justify-between gap-3 rounded border border-border bg-card px-3 py-3 shadow-input">
|
|
26
26
|
<div className="flex min-w-0 items-center gap-3">
|
|
27
27
|
<Avatar size="sm">
|
|
28
28
|
{author?.image ? <AvatarImage src={author.image} alt={authorLabel} /> : null}
|
|
@@ -34,7 +34,7 @@ export function EntityVersionsCurrentRow({ updatedAt, author }: EntityVersionsCu
|
|
|
34
34
|
<Badge variant="outline">Current</Badge>
|
|
35
35
|
</div>
|
|
36
36
|
<Tooltip>
|
|
37
|
-
<TooltipTrigger render={<p className="w-fit text-
|
|
37
|
+
<TooltipTrigger render={<p className="w-fit text-muted-foreground" />}>
|
|
38
38
|
Edited {formatDistanceToNow(updatedDate, { addSuffix: true })}
|
|
39
39
|
</TooltipTrigger>
|
|
40
40
|
<TooltipContent>{format(updatedDate, 'PPpp')}</TooltipContent>
|
|
@@ -54,12 +54,12 @@ export function EntityVersionsDrawer({
|
|
|
54
54
|
<div className="flex flex-col gap-1 px-6">
|
|
55
55
|
<EntityVersionsCurrentRow updatedAt={currentUpdatedAt} author={currentAuthor} />
|
|
56
56
|
{isPending ? (
|
|
57
|
-
<p className="rounded
|
|
57
|
+
<p className="rounded border border-dashed border-border px-3 py-6 text-center text-muted-foreground">
|
|
58
58
|
Loading versions…
|
|
59
59
|
</p>
|
|
60
60
|
) : null}
|
|
61
61
|
{!isPending && versions.length === 0 ? (
|
|
62
|
-
<p className="rounded
|
|
62
|
+
<p className="rounded border border-dashed border-border px-3 py-6 text-center text-muted-foreground">
|
|
63
63
|
No previous versions yet.
|
|
64
64
|
</p>
|
|
65
65
|
) : null}
|
|
@@ -94,7 +94,7 @@ export function EditMediaDialogContent({
|
|
|
94
94
|
<DrawerContent className="h-full w-full overflow-hidden">
|
|
95
95
|
<div
|
|
96
96
|
ref={handleDrawerContainerRef}
|
|
97
|
-
className="pointer-events-none absolute inset-3 z-20 overflow-hidden rounded
|
|
97
|
+
className="pointer-events-none absolute inset-3 z-20 overflow-hidden rounded"
|
|
98
98
|
/>
|
|
99
99
|
<div className="relative z-10 flex min-h-0 flex-1 flex-col gap-3 overflow-hidden">
|
|
100
100
|
<DrawerHeader>
|
|
@@ -109,7 +109,7 @@ export function EditMediaDialogContent({
|
|
|
109
109
|
>
|
|
110
110
|
<Card>
|
|
111
111
|
<CardContent className="p-0">
|
|
112
|
-
<div className="relative aspect-video overflow-hidden rounded
|
|
112
|
+
<div className="relative aspect-video overflow-hidden rounded bg-background">
|
|
113
113
|
<MediaPreview media={media} showMetadata />
|
|
114
114
|
</div>
|
|
115
115
|
</CardContent>
|
package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-drawer.tsx
CHANGED
|
@@ -111,18 +111,18 @@ export function MediaDeleteDrawer({
|
|
|
111
111
|
</DrawerTrigger>
|
|
112
112
|
<DrawerContent className="pointer-events-auto max-h-[calc(100%-1rem)] overflow-hidden p-3 outline-none">
|
|
113
113
|
<div
|
|
114
|
-
className="overflow-hidden rounded
|
|
114
|
+
className="overflow-hidden rounded border border-border bg-popover text-popover-foreground shadow-2xl transition-[height] duration-200 ease-out"
|
|
115
115
|
style={contentHeight ? { height: contentHeight } : undefined}
|
|
116
116
|
>
|
|
117
117
|
<div ref={contentRef} className="max-h-[calc(100vh-8rem)] overflow-y-auto px-4 pt-4 pb-4">
|
|
118
|
-
<div aria-hidden="true" className="mx-auto mb-5 h-1.5 w-20 rounded
|
|
119
|
-
<div className="mb-3 flex size-10 items-center justify-center rounded
|
|
118
|
+
<div aria-hidden="true" className="mx-auto mb-5 h-1.5 w-20 rounded bg-muted" />
|
|
119
|
+
<div className="mb-3 flex size-10 items-center justify-center rounded bg-destructive/10 text-foreground">
|
|
120
120
|
<TriangleAlert className="size-5" />
|
|
121
121
|
</div>
|
|
122
|
-
<DrawerTitle className="font-heading
|
|
122
|
+
<DrawerTitle className="font-heading font-medium text-foreground">
|
|
123
123
|
Delete this media?
|
|
124
124
|
</DrawerTitle>
|
|
125
|
-
<DrawerDescription className="mt-1 text-
|
|
125
|
+
<DrawerDescription className="mt-1 text-muted-foreground">
|
|
126
126
|
This deletes {media.filename} from the media library. The stored file is not deleted.
|
|
127
127
|
</DrawerDescription>
|
|
128
128
|
<div className="mt-5 grid grid-cols-2 gap-2">
|
package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-item.tsx
CHANGED
|
@@ -34,7 +34,7 @@ export const MediaGridItem = React.memo(function MediaGridItem({
|
|
|
34
34
|
'border-highlight': selected
|
|
35
35
|
})}
|
|
36
36
|
>
|
|
37
|
-
<div className="flex aspect-square size-full overflow-hidden rounded
|
|
37
|
+
<div className="flex aspect-square size-full overflow-hidden rounded border border-border bg-background">
|
|
38
38
|
<MediaPreview media={item} isFilled />
|
|
39
39
|
</div>
|
|
40
40
|
|
|
@@ -42,7 +42,7 @@ export const MediaGridItem = React.memo(function MediaGridItem({
|
|
|
42
42
|
<Checkbox
|
|
43
43
|
aria-label={selected ? `Deselect ${item.filename}` : `Select ${item.filename}`}
|
|
44
44
|
tabIndex={-1}
|
|
45
|
-
className={cn('absolute top-3 right-3 z-10 rounded
|
|
45
|
+
className={cn('absolute top-3 right-3 z-10 rounded bg-card', {
|
|
46
46
|
'ring ring-white': selected
|
|
47
47
|
})}
|
|
48
48
|
checked={selected}
|
|
@@ -52,7 +52,7 @@ export const MediaGridItem = React.memo(function MediaGridItem({
|
|
|
52
52
|
</CardContent>
|
|
53
53
|
<CardFooter>
|
|
54
54
|
<span
|
|
55
|
-
className={cn('w-full truncate text-
|
|
55
|
+
className={cn('w-full truncate text-muted-foreground', {
|
|
56
56
|
'group-hover:text-foreground': Boolean(onClick)
|
|
57
57
|
})}
|
|
58
58
|
>
|
package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-pagination.tsx
CHANGED
|
@@ -79,7 +79,7 @@ export function MediaGridPagination({
|
|
|
79
79
|
>
|
|
80
80
|
{!isMinimal && (
|
|
81
81
|
<div className="flex items-center gap-2">
|
|
82
|
-
<span className="text-
|
|
82
|
+
<span className="text-muted-foreground">{perPage}</span>
|
|
83
83
|
<Select value={pageSizeValue} onValueChange={handlePageSizeChange}>
|
|
84
84
|
<SelectTrigger className="h-8 w-25">
|
|
85
85
|
<SelectValue>{pageSize}</SelectValue>
|
|
@@ -101,7 +101,7 @@ export function MediaGridPagination({
|
|
|
101
101
|
</Button>
|
|
102
102
|
|
|
103
103
|
{!isMinimal && (
|
|
104
|
-
<div className="text-
|
|
104
|
+
<div className="text-muted-foreground">
|
|
105
105
|
Page {page} of {pageCount}
|
|
106
106
|
</div>
|
|
107
107
|
)}
|
|
@@ -37,7 +37,7 @@ export function MediaPreview({ media, isFilled = false, showMetadata = false }:
|
|
|
37
37
|
/>
|
|
38
38
|
|
|
39
39
|
{showMetadata && (
|
|
40
|
-
<div className="pointer-events-none absolute inset-x-0 bottom-0 z-10 flex w-full items-center justify-between gap-4 bg-[linear-gradient(to_top,color-mix(in_oklab,var(--primary)_86%,transparent)_0%,color-mix(in_oklab,var(--primary)_52%,transparent)_48%,transparent_100%)] px-3 py-2 text-left
|
|
40
|
+
<div className="pointer-events-none absolute inset-x-0 bottom-0 z-10 flex w-full items-center justify-between gap-4 bg-[linear-gradient(to_top,color-mix(in_oklab,var(--primary)_86%,transparent)_0%,color-mix(in_oklab,var(--primary)_52%,transparent)_48%,transparent_100%)] px-3 py-2 text-left font-medium text-white">
|
|
41
41
|
<p className="truncate">{media.filename}</p>
|
|
42
42
|
<p className="shrink-0">
|
|
43
43
|
{media.contentType} · {(media.size / 1024).toFixed(1)} KB
|
package/dist/assets/adapters/next/templates/init/components/shared/media/media-url-importer.tsx
CHANGED
|
@@ -142,7 +142,7 @@ export function MediaUrlImporter({ onImportFromUrl, accept, className }: MediaUr
|
|
|
142
142
|
</Form>
|
|
143
143
|
|
|
144
144
|
<div className="flex w-full flex-col items-center text-center">
|
|
145
|
-
<p className="text-
|
|
145
|
+
<p className="text-muted-foreground">{urlHelpText}</p>
|
|
146
146
|
</div>
|
|
147
147
|
</div>
|
|
148
148
|
</CardContent>
|
|
@@ -32,7 +32,7 @@ export function PageHeader({
|
|
|
32
32
|
)}
|
|
33
33
|
</div>
|
|
34
34
|
<div className="flex min-w-0 items-center justify-center gap-2">
|
|
35
|
-
<h2 className="truncate
|
|
35
|
+
<h2 className="truncate font-medium tracking-tight">{title}</h2>
|
|
36
36
|
</div>
|
|
37
37
|
<div className="flex w-full min-w-0 items-center justify-end gap-2">
|
|
38
38
|
{children}
|
package/dist/assets/adapters/next/templates/init/components/shared/sort-order-drag-overlay-item.tsx
CHANGED
|
@@ -9,7 +9,7 @@ export function DragOverlayItem({ label }: { label: string }) {
|
|
|
9
9
|
className="w-full shrink-0 cursor-grabbing touch-none justify-start gap-2 px-2 font-normal"
|
|
10
10
|
>
|
|
11
11
|
<GripVertical strokeWidth={1} />
|
|
12
|
-
<span className="min-w-0 truncate
|
|
12
|
+
<span className="min-w-0 truncate">{label}</span>
|
|
13
13
|
</Button>
|
|
14
14
|
)
|
|
15
15
|
}
|