betterstart-cli 0.0.96 → 0.0.98
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/mailchimp/integration.ts +1 -1
- package/dist/assets/adapters/next/integrations/r2/actions/r2.ts +5 -5
- package/dist/assets/adapters/next/integrations/r2/integration.ts +1 -1
- package/dist/assets/adapters/next/integrations/railway-bucket/actions/railway-bucket.ts +6 -6
- package/dist/assets/adapters/next/integrations/railway-bucket/integration.ts +1 -1
- package/dist/assets/adapters/next/integrations/resend/integration.ts +1 -1
- package/dist/assets/adapters/next/integrations/vercel-blob/actions/vercel-blob.ts +1 -1
- package/dist/assets/adapters/next/integrations/vercel-blob/integration.ts +1 -1
- package/dist/assets/adapters/next/presets/blog/preset.ts +1 -1
- package/dist/assets/adapters/next/presets/portfolio/preset.ts +1 -1
- package/dist/assets/adapters/next/templates/init/api/storage-read-route.ts +2 -1
- package/dist/assets/adapters/next/templates/init/api/upload-route.ts +3 -2
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-header.tsx +6 -6
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-providers.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-branding-skeleton.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-nav-link-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 +8 -8
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/components/layouts/content-skeleton.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/components/layouts/sidebar-branding.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-table-pagination.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-table.tsx +3 -6
- package/dist/assets/adapters/next/templates/init/components/shared/delete-dialog.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/copyable-code-block.tsx +7 -7
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/dev-mode-code-mirror.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/lifecycle-hooks-tab.tsx +7 -17
- 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 +3 -13
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode-integrate.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/components/shared/entity-filters-bar.tsx +6 -6
- package/dist/assets/adapters/next/templates/init/components/shared/entity-metadata.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-item.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-restore-dialog.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-button.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-current-row.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/media/edit-media-dialog-content.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/components/shared/media/edit-media-dialog.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-dialog.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-drawer.tsx +3 -3
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-filters-bar.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-gallery-dialog.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-item.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-pagination.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-preview.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-url-importer.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/components/shared/page-header.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/components/shared/search-input.tsx +6 -6
- package/dist/assets/adapters/next/templates/init/components/shared/sort-indicator.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/sort-order-dialog.tsx +4 -5
- 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 +3 -3
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-blockquote.ts +1 -70
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-code-block.ts +1 -77
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-color-highlight.ts +3 -51
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-media-insertion.ts +2 -2
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-slash-menu.ts +6 -8
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-source-mode.tsx +10 -8
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-table-add-controls.ts +4 -4
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor.ts +7 -4
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-heading-dropdown-menu.ts +3 -67
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-heading.ts +1 -41
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-is-breakpoint.ts +0 -8
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-link-popover.ts +1 -83
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-list-dropdown-menu.ts +3 -62
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-list.ts +1 -43
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-mark.ts +1 -72
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-menu-navigation.ts +0 -35
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-table-button.ts +2 -2
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-tiptap-editor.ts +0 -11
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-undo-redo.ts +1 -65
- package/dist/assets/adapters/next/templates/init/hooks/use-admin-theme.tsx +2 -4
- package/dist/assets/adapters/next/templates/init/hooks/use-dev-mode-integration.ts +1 -1
- package/dist/assets/adapters/next/templates/init/hooks/use-entity-versions.ts +1 -1
- package/dist/assets/adapters/next/templates/init/hooks/use-local-storage.ts +2 -7
- package/dist/assets/adapters/next/templates/init/hooks/use-media-filters-bar.ts +1 -1
- package/dist/assets/adapters/next/templates/init/hooks/use-media.ts +2 -2
- package/dist/assets/adapters/next/templates/init/hooks/use-page-boundary-blur-visibility.ts +1 -1
- package/dist/assets/adapters/next/templates/init/hooks/use-page-scroll-threshold.ts +1 -1
- package/dist/assets/adapters/next/templates/init/hooks/use-table-utils.ts +2 -2
- package/dist/assets/adapters/next/templates/init/hooks/use-upload.ts +6 -12
- package/dist/assets/adapters/next/templates/init/hooks/use-users.ts +1 -1
- package/dist/assets/adapters/next/templates/init/hooks/use-webhooks.ts +3 -2
- package/dist/assets/adapters/next/templates/init/lib/actions/audit/cleanup-audit-logs.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/audit/get-audit-logs.ts +5 -2
- package/dist/assets/adapters/next/templates/init/lib/actions/audit/record-audit-event.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/auth/auth.ts +4 -4
- package/dist/assets/adapters/next/templates/init/lib/actions/auth/middleware.ts +2 -10
- package/dist/assets/adapters/next/templates/init/lib/actions/email/form-delivery.ts +2 -2
- package/dist/assets/adapters/next/templates/init/lib/actions/email/provider.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/entity-versions/get-entity-versions.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/entity-versions/internal-create-entity-version.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/forms/get-all-form-settings.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/forms/get-form-settings.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/forms/index.ts +1 -5
- package/dist/assets/adapters/next/templates/init/lib/actions/forms/upsert-form-settings.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/media/create-media.ts +2 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/media/delete-media-bulk.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/media/delete-media.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/media/get-media-by-id.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/media/get-media-by-ids.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/media/get-media.ts +5 -2
- package/dist/assets/adapters/next/templates/init/lib/actions/media/update-media.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/profile/change-own-password.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/profile/index.ts +1 -5
- package/dist/assets/adapters/next/templates/init/lib/actions/profile/update-email.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/storage/provider.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/upload/index.ts +1 -5
- package/dist/assets/adapters/next/templates/init/lib/actions/upload/upload-files.ts +2 -2
- package/dist/assets/adapters/next/templates/init/lib/actions/upload/upload-media-from-url.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/users/change-user-password.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/users/create-user.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/users/delete-user.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/users/get-users.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/users/update-user-role.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/create-webhook.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/delete-webhook.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/dispatch.ts +1 -2
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/get-webhook-deliveries.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/get-webhook-secret.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/get-webhook-subscriptions.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/get-webhooks.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/regenerate-webhook-secret.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/register.ts +2 -2
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/send-test-webhook.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/webhooks/update-webhook.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/db/client.ts +1 -1
- package/dist/assets/adapters/next/templates/init/lib/db/core/schema.ts +4 -25
- package/dist/assets/adapters/next/templates/init/lib/lifecycle-hooks/register.ts +0 -7
- package/dist/assets/adapters/next/templates/init/lib/lifecycle-hooks/runner.ts +2 -2
- package/dist/assets/adapters/next/templates/init/pages/admin-layout.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/auth-gate-rsc.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/dashboard-page.tsx +6 -6
- package/dist/assets/adapters/next/templates/init/pages/forgot-password-form.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/pages/login-form.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/pages/media/media-page-content.tsx +7 -7
- package/dist/assets/adapters/next/templates/init/pages/media/media-page-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/minimal-account-shell.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/profile/profile-form.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/profile/profile-page.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/reset-password-form.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-columns.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-detail-drawer.tsx +1 -1
- 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/audit-log/audit-log-page-content.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-page-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-page.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-table.tsx +5 -4
- package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-page-content.tsx +4 -3
- package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-page-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-page.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-table.tsx +5 -4
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhook-endpoint-dialog.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-columns.tsx +7 -7
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-columns.tsx +8 -8
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-page-content.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-page.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-table.tsx +4 -3
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-page-content.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-page-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-page.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-table.tsx +4 -3
- package/dist/assets/adapters/next/templates/init/pages/users/change-password-dialog.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/users/columns.tsx +7 -6
- package/dist/assets/adapters/next/templates/init/pages/users/create-user-dialog.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/users/delete-user-dialog.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/users/edit-role-dialog.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/users/users-page-content.tsx +3 -2
- package/dist/assets/adapters/next/templates/init/pages/users/users-page-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/users/users-table.tsx +9 -8
- package/dist/assets/adapters/next/templates/init/types/index.ts +0 -5
- package/dist/assets/adapters/next/templates/init/types/table-meta.ts +1 -1
- package/dist/assets/adapters/next/templates/init/utils/date/date.ts +1 -6
- package/dist/assets/adapters/next/templates/init/utils/editor/content-editor-rich-extensions.ts +2 -2
- package/dist/assets/adapters/next/templates/init/utils/editor/markdown.ts +5 -5
- package/dist/assets/adapters/next/templates/init/utils/editor/slash-commands.ts +2 -2
- package/dist/assets/adapters/next/templates/init/utils/editor/table-add-controls.ts +1 -1
- package/dist/assets/adapters/next/templates/init/utils/editor/tiptap.ts +8 -127
- package/dist/assets/adapters/next/templates/init/utils/media/query.ts +1 -1
- package/dist/assets/adapters/next/templates/init/utils/seo/seo.ts +0 -10
- package/dist/assets/adapters/next/templates/init/utils/shared/cn.ts +2 -1
- package/dist/assets/adapters/next/templates/init/utils/validation/validation.ts +0 -12
- package/dist/assets/shared-assets/react-admin/custom/content-editor/editor-toolbar.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/horizontal-rule-button.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/index.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/custom/content-editor/main-toolbar-content.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/custom/content-editor/math-bubble-menu.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/custom/content-editor/math-button.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/math-editor-controls.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/math-popover-button.tsx +4 -3
- package/dist/assets/shared-assets/react-admin/custom/content-editor/mobile-toolbar-content.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/remove-table-part-icon.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/selection-bubble-menu.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/custom/content-editor/slash-command-menu.tsx +9 -9
- package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode-dropdown-button.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode.tsx +12 -18
- 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 +5 -5
- package/dist/assets/shared-assets/react-admin/custom/content-editor/table-button.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-extension/node-background-extension.ts +2 -25
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-node/media-gallery-placeholder-node/media-gallery-placeholder-node-extension.ts +0 -20
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-node/media-gallery-placeholder-node/media-gallery-placeholder-node.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-node/removable-image-node/removable-image-node.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/blockquote-button/blockquote-button.tsx +4 -20
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/code-block-button/code-block-button.tsx +4 -20
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/color-highlight-button.tsx +4 -40
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover-button.tsx +3 -5
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover-content.tsx +7 -11
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover.tsx +9 -14
- 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/highlight-colors.ts +2 -4
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/source-color-highlight-popover.tsx +9 -12
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu-item.tsx +3 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu.tsx +6 -20
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-button.tsx +3 -5
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-content.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-control-popover.tsx +5 -3
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-main.tsx +3 -15
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-popover.tsx +6 -18
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/list-dropdown-menu/list-dropdown-menu-item.tsx +3 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/list-dropdown-menu/list-dropdown-menu.tsx +4 -19
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/mark-button/mark-button.tsx +4 -21
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/undo-redo-button/undo-redo-button.tsx +4 -21
- package/dist/assets/shared-assets/react-admin/custom/date-picker.tsx +3 -5
- package/dist/assets/shared-assets/react-admin/custom/date-range-picker.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/gallery-field.tsx +11 -16
- package/dist/assets/shared-assets/react-admin/custom/icon-picker.tsx +17 -12
- package/dist/assets/shared-assets/react-admin/custom/icons-column-skeleton.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/media-field-empty-state.tsx +6 -6
- package/dist/assets/shared-assets/react-admin/custom/media-field.tsx +9 -9
- package/dist/assets/shared-assets/react-admin/custom/nested-object-list-field.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/custom/placeholder-card.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/placeholder.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/progressive-blur.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/sortable-gallery-item.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/custom/upload-dropzone.tsx +8 -8
- package/dist/assets/shared-assets/react-admin/ui/accordion.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/alert-dialog.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/alert.tsx +3 -2
- package/dist/assets/shared-assets/react-admin/ui/avatar.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/badge.tsx +4 -3
- package/dist/assets/shared-assets/react-admin/ui/breadcrumb.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/button-group.tsx +3 -2
- package/dist/assets/shared-assets/react-admin/ui/button.tsx +9 -8
- package/dist/assets/shared-assets/react-admin/ui/calendar.tsx +3 -2
- package/dist/assets/shared-assets/react-admin/ui/card.tsx +6 -6
- package/dist/assets/shared-assets/react-admin/ui/carousel.tsx +3 -2
- package/dist/assets/shared-assets/react-admin/ui/chart.tsx +1 -2
- package/dist/assets/shared-assets/react-admin/ui/checkbox.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/combobox.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/command.tsx +1 -2
- package/dist/assets/shared-assets/react-admin/ui/context-menu.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/dialog.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/direction.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/drawer.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/dropdown-menu.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/empty.tsx +2 -1
- package/dist/assets/shared-assets/react-admin/ui/field.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/form.tsx +4 -10
- package/dist/assets/shared-assets/react-admin/ui/hover-card.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/input-group.tsx +5 -4
- package/dist/assets/shared-assets/react-admin/ui/input-otp.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/input.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/item.tsx +3 -2
- package/dist/assets/shared-assets/react-admin/ui/label.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/menubar.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/native-select.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/navigation-menu.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/pagination.tsx +1 -2
- package/dist/assets/shared-assets/react-admin/ui/popover.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/progress.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/radio-group.tsx +1 -1
- 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 +3 -3
- package/dist/assets/shared-assets/react-admin/ui/separator.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/sheet.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/sidebar.tsx +7 -14
- package/dist/assets/shared-assets/react-admin/ui/slider.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/sonner.tsx +2 -1
- package/dist/assets/shared-assets/react-admin/ui/switch.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/table.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/tabs.tsx +5 -4
- package/dist/assets/shared-assets/react-admin/ui/textarea.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/toggle-group.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/toggle.tsx +3 -2
- package/dist/assets/shared-assets/react-admin/ui/tooltip.tsx +2 -2
- package/dist/{chunk-LGZBMR7E.js → chunk-AIQWGMU7.js} +138 -7
- package/dist/chunk-AIQWGMU7.js.map +1 -0
- package/dist/cli.js +9633 -9704
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{template-reader-WRTNGRZV.js → template-reader-F2VFSDKV.js} +2 -2
- package/package.json +5 -5
- package/dist/assets/shared-assets/react-admin/dependencies.ts +0 -74
- package/dist/chunk-LGZBMR7E.js.map +0 -1
- /package/dist/{template-reader-WRTNGRZV.js.map → template-reader-F2VFSDKV.js.map} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import * as React from 'react'
|
|
3
4
|
import { authClient } from '@admin/auth/client'
|
|
4
5
|
import { Button } from '@admin/components/ui/button'
|
|
5
6
|
import { Card, CardContent } from '@admin/components/ui/card'
|
|
@@ -12,7 +13,6 @@ import Image from 'next/image'
|
|
|
12
13
|
import Link from 'next/link'
|
|
13
14
|
import { useRouter } from 'next/navigation'
|
|
14
15
|
import { parseAsStringLiteral, useQueryState } from 'nuqs'
|
|
15
|
-
import * as React from 'react'
|
|
16
16
|
|
|
17
17
|
export function LoginForm({ className, ...props }: React.ComponentProps<'div'>) {
|
|
18
18
|
const router = useRouter()
|
|
@@ -64,18 +64,18 @@ export function LoginForm({ className, ...props }: React.ComponentProps<'div'>)
|
|
|
64
64
|
/>
|
|
65
65
|
</div>
|
|
66
66
|
<form onSubmit={handleSubmit} className="p-6 md:p-20">
|
|
67
|
-
<FieldGroup className="pb-12
|
|
67
|
+
<FieldGroup className="gap-10 pb-12">
|
|
68
68
|
<div className="flex flex-col items-start">
|
|
69
69
|
<h1 className="text-xl font-medium">Welcome back</h1>
|
|
70
70
|
<p className="text-balance text-muted-foreground">Login to your account</p>
|
|
71
71
|
</div>
|
|
72
72
|
{resetSuccess ? (
|
|
73
|
-
<div className="bg-emerald-500/10 text-emerald-700 dark:text-emerald-400
|
|
73
|
+
<div className="rounded-md bg-emerald-500/10 p-3 text-sm text-emerald-700 dark:text-emerald-400">
|
|
74
74
|
Password reset successfully. Please log in with your new password.
|
|
75
75
|
</div>
|
|
76
76
|
) : null}
|
|
77
77
|
{error ? (
|
|
78
|
-
<div className="bg-destructive/10
|
|
78
|
+
<div className="rounded-md bg-destructive/10 p-3 text-sm text-destructive">
|
|
79
79
|
{error}
|
|
80
80
|
</div>
|
|
81
81
|
) : null}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import * as mediaHooks from '@admin/hooks/use-media'
|
|
4
|
+
import * as React from 'react'
|
|
5
|
+
import type { ContentTypeFilter } from '@admin/components/shared/media/media-filters-bar'
|
|
6
|
+
import type { AdminMedia } from '@admin/types'
|
|
3
7
|
import { deleteMediaBulk } from '@admin/actions/media'
|
|
4
8
|
import { UploadDropzone } from '@admin/components/custom/upload-dropzone'
|
|
5
9
|
import { DeleteDialog } from '@admin/components/shared/delete-dialog'
|
|
6
10
|
import { EditMediaDialog } from '@admin/components/shared/media/edit-media-dialog'
|
|
7
11
|
import { MediaEmptyState } from '@admin/components/shared/media/media-empty-state'
|
|
8
|
-
import type { ContentTypeFilter } from '@admin/components/shared/media/media-filters-bar'
|
|
9
12
|
import { MediaFiltersBar } from '@admin/components/shared/media/media-filters-bar'
|
|
10
13
|
import { MediaGrid } from '@admin/components/shared/media/media-grid'
|
|
11
14
|
import { MediaGridPagination } from '@admin/components/shared/media/media-grid-pagination'
|
|
12
15
|
import { MediaUrlImporter } from '@admin/components/shared/media/media-url-importer'
|
|
13
16
|
import { PageHeader } from '@admin/components/shared/page-header'
|
|
14
17
|
import { Tabs, TabsList, TabsTrigger } from '@admin/components/ui/tabs'
|
|
15
|
-
import * as mediaHooks from '@admin/hooks/use-media'
|
|
16
18
|
import { useMediaFiltersBar } from '@admin/hooks/use-media-filters-bar'
|
|
17
19
|
import { useUpload } from '@admin/hooks/use-upload'
|
|
18
|
-
import type { AdminMedia } from '@admin/types'
|
|
19
20
|
import { useMutation, useQueryClient } from '@tanstack/react-query'
|
|
20
21
|
import { Link, Upload } from 'lucide-react'
|
|
21
22
|
import { parseAsInteger, parseAsString, useQueryState } from 'nuqs'
|
|
22
|
-
import * as React from 'react'
|
|
23
23
|
import { toast } from 'sonner'
|
|
24
24
|
|
|
25
25
|
const SEARCH_PARSER = parseAsString.withDefault('')
|
|
@@ -205,7 +205,7 @@ export function MediaPageContent() {
|
|
|
205
205
|
}
|
|
206
206
|
/>
|
|
207
207
|
|
|
208
|
-
<main className="space-y-3 px-4 pb-4
|
|
208
|
+
<main className="flex-1 space-y-3 px-4 pb-4">
|
|
209
209
|
<div className="flex w-full flex-col gap-4 pt-px">
|
|
210
210
|
{activeTab === 'url' ? (
|
|
211
211
|
<MediaUrlImporter
|
|
@@ -219,7 +219,7 @@ export function MediaPageContent() {
|
|
|
219
219
|
progress={progress}
|
|
220
220
|
isUploading={isUploading}
|
|
221
221
|
multiple
|
|
222
|
-
className="h-37 shrink-0
|
|
222
|
+
className="h-37 w-full shrink-0"
|
|
223
223
|
/>
|
|
224
224
|
)}
|
|
225
225
|
</div>
|
|
@@ -237,7 +237,7 @@ export function MediaPageContent() {
|
|
|
237
237
|
selectedIds={selected}
|
|
238
238
|
isSelectMode={isSelectMode}
|
|
239
239
|
onItemClick={handleItemClick}
|
|
240
|
-
className="
|
|
240
|
+
className="px-px pt-px pb-12 lg:grid-cols-12"
|
|
241
241
|
/>
|
|
242
242
|
{total > DEFAULT_MEDIA_PAGE_SIZE ? (
|
|
243
243
|
<MediaGridPagination
|
|
@@ -9,11 +9,11 @@ export function MinimalAccountShell({
|
|
|
9
9
|
children: React.ReactNode
|
|
10
10
|
}) {
|
|
11
11
|
return (
|
|
12
|
-
<div className="min-h-screen flex
|
|
12
|
+
<div className="flex min-h-screen flex-col">
|
|
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="text-sm font-medium hover:text-foreground/80
|
|
16
|
+
className="text-sm font-medium transition-colors hover:text-foreground/80"
|
|
17
17
|
>
|
|
18
18
|
{name}
|
|
19
19
|
</Link>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import * as React from 'react'
|
|
3
4
|
import {
|
|
4
5
|
changeOwnPassword,
|
|
5
6
|
invalidateUsersCache,
|
|
@@ -31,7 +32,6 @@ import { Input } from '@admin/components/ui/input'
|
|
|
31
32
|
import { standardSchemaResolver } from '@hookform/resolvers/standard-schema'
|
|
32
33
|
import { LoaderCircle } from 'lucide-react'
|
|
33
34
|
import { useRouter } from 'next/navigation'
|
|
34
|
-
import * as React from 'react'
|
|
35
35
|
import { useForm } from 'react-hook-form'
|
|
36
36
|
import { toast } from 'sonner'
|
|
37
37
|
import { z } from 'zod/v3'
|
|
@@ -17,7 +17,7 @@ export default async function ProfilePage() {
|
|
|
17
17
|
return (
|
|
18
18
|
<>
|
|
19
19
|
{showPageHeader && <PageHeader title="Profile" />}
|
|
20
|
-
<main className="container mx-auto max-w-5xl
|
|
20
|
+
<main className="container mx-auto w-full max-w-5xl p-4">
|
|
21
21
|
<ProfileForm
|
|
22
22
|
user={{
|
|
23
23
|
name: session.user.name,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import * as React from 'react'
|
|
3
4
|
import { authClient } from '@admin/auth/client'
|
|
4
5
|
import { Button } from '@admin/components/ui/button'
|
|
5
6
|
import { Card, CardContent } from '@admin/components/ui/card'
|
|
@@ -11,7 +12,6 @@ import Image from 'next/image'
|
|
|
11
12
|
import Link from 'next/link'
|
|
12
13
|
import { useRouter } from 'next/navigation'
|
|
13
14
|
import { createSerializer, parseAsString, parseAsStringLiteral, useQueryState } from 'nuqs'
|
|
14
|
-
import * as React from 'react'
|
|
15
15
|
|
|
16
16
|
const serializeLoginUrl = createSerializer({
|
|
17
17
|
reset: parseAsStringLiteral(['success'])
|
|
@@ -41,7 +41,7 @@ export function ResetPasswordForm({ className, ...props }: React.ComponentProps<
|
|
|
41
41
|
/>
|
|
42
42
|
</div>
|
|
43
43
|
<div className="p-6 md:p-20">
|
|
44
|
-
<FieldGroup className="pb-12
|
|
44
|
+
<FieldGroup className="gap-10 pb-12">
|
|
45
45
|
<div className="flex flex-col items-start">
|
|
46
46
|
<h1 className="text-xl font-medium">Invalid reset link</h1>
|
|
47
47
|
<p className="text-balance text-muted-foreground">
|
|
@@ -108,13 +108,13 @@ export function ResetPasswordForm({ className, ...props }: React.ComponentProps<
|
|
|
108
108
|
/>
|
|
109
109
|
</div>
|
|
110
110
|
<form onSubmit={handleSubmit} className="p-6 md:p-20">
|
|
111
|
-
<FieldGroup className="pb-12
|
|
111
|
+
<FieldGroup className="gap-10 pb-12">
|
|
112
112
|
<div className="flex flex-col items-start">
|
|
113
113
|
<h1 className="text-xl font-medium">Reset password</h1>
|
|
114
114
|
<p className="text-balance text-muted-foreground">Enter your new password below</p>
|
|
115
115
|
</div>
|
|
116
116
|
{error ? (
|
|
117
|
-
<div className="bg-destructive/10
|
|
117
|
+
<div className="rounded-md bg-destructive/10 p-3 text-sm text-destructive">
|
|
118
118
|
{error}
|
|
119
119
|
</div>
|
|
120
120
|
) : null}
|
package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-columns.tsx
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
3
|
import type { AuditLogEntry, AuditLogSortField } from '@admin/actions/audit'
|
|
4
|
+
import type { ColumnDef } from '@tanstack/react-table'
|
|
4
5
|
import { SortIndicator } from '@admin/components/shared/sort-indicator'
|
|
5
6
|
import { Badge } from '@admin/components/ui/badge'
|
|
6
7
|
import { Button } from '@admin/components/ui/button'
|
|
7
|
-
import type { ColumnDef } from '@tanstack/react-table'
|
|
8
8
|
|
|
9
9
|
export const AUDIT_LOG_SORT_FIELDS = [
|
|
10
10
|
'createdAt',
|
|
@@ -53,7 +53,7 @@ function SortableAuditLogHeader({
|
|
|
53
53
|
<Button
|
|
54
54
|
variant="ghost"
|
|
55
55
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
56
|
-
className="w-full min-w-0 justify-start overflow-hidden
|
|
56
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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'
|
|
@@ -46,7 +46,7 @@ export function AuditLogDetailDrawer({ auditLog, open, onOpenChange }: AuditLogD
|
|
|
46
46
|
</DrawerHeader>
|
|
47
47
|
<ScrollArea className="min-h-0 flex-1 px-6">
|
|
48
48
|
{auditLog ? (
|
|
49
|
-
<div className="flex flex-col
|
|
49
|
+
<div className="flex w-full flex-col gap-4">
|
|
50
50
|
<Card>
|
|
51
51
|
<CardHeader>
|
|
52
52
|
<CardTitle>Event Details</CardTitle>
|
package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-detail-row.tsx
CHANGED
|
@@ -7,9 +7,9 @@ interface AuditLogDetailRowProps {
|
|
|
7
7
|
|
|
8
8
|
export function AuditLogDetailRow({ label, value }: AuditLogDetailRowProps) {
|
|
9
9
|
return (
|
|
10
|
-
<div className="grid grid-cols-[120px_1fr] gap-3 border-b border-border py-2
|
|
10
|
+
<div className="grid grid-cols-[120px_1fr] gap-3 border-b border-border px-4 py-2 last:border-b-0">
|
|
11
11
|
<dt className="text-sm font-medium text-muted-foreground">{label}</dt>
|
|
12
|
-
<dd className="min-w-0 text-sm text-foreground
|
|
12
|
+
<dd className="min-w-0 text-sm break-words text-foreground">{value || 'Unknown'}</dd>
|
|
13
13
|
</div>
|
|
14
14
|
)
|
|
15
15
|
}
|
package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-page-content.tsx
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import * as React from 'react'
|
|
3
4
|
import type { AuditLogEntry } from '@admin/actions/audit'
|
|
4
5
|
import { AUDIT_LOG_ACTIONS, AUDIT_LOG_CATEGORIES } from '@admin/actions/audit'
|
|
5
6
|
import { EntityFiltersBar } from '@admin/components/shared/entity-filters-bar'
|
|
6
7
|
import { PageHeader } from '@admin/components/shared/page-header'
|
|
7
8
|
import { useIsFetching } from '@tanstack/react-query'
|
|
8
9
|
import { parseAsInteger, parseAsString, useQueryState, useQueryStates } from 'nuqs'
|
|
9
|
-
import * as React from 'react'
|
|
10
10
|
import { createAuditLogColumns } from './audit-log-columns'
|
|
11
11
|
import { AuditLogDetailDrawer } from './audit-log-detail-drawer'
|
|
12
12
|
import { AuditLogTable } from './audit-log-table'
|
|
@@ -114,7 +114,7 @@ export function AuditLogPageContent() {
|
|
|
114
114
|
isPending={isSearchFetching}
|
|
115
115
|
onSearch={handleSearch}
|
|
116
116
|
/>
|
|
117
|
-
<main className="space-y-4 px-4 pb-4
|
|
117
|
+
<main className="flex-1 space-y-4 px-4 pb-4">
|
|
118
118
|
<AuditLogTable
|
|
119
119
|
columns={columns}
|
|
120
120
|
search={search}
|
package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-page.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { requireRole, UserRole } from '@admin/auth/middleware'
|
|
2
1
|
import * as React from 'react'
|
|
2
|
+
import { requireRole, UserRole } from '@admin/auth/middleware'
|
|
3
3
|
import { AuditLogPageContent } from './audit-log-page-content'
|
|
4
4
|
import { AuditLogPageSkeleton } from './audit-log-page-skeleton'
|
|
5
5
|
|
package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-table.tsx
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import * as React from 'react'
|
|
3
4
|
import type { AuditLogEntry, AuditLogQuery, AuditLogSortField } from '@admin/actions/audit'
|
|
5
|
+
import type { ColumnDef } from '@tanstack/react-table'
|
|
4
6
|
import {
|
|
5
7
|
DataGrid,
|
|
6
8
|
DataGridBody,
|
|
@@ -13,10 +15,9 @@ import { DataTablePagination } from '@admin/components/shared/data-table/data-ta
|
|
|
13
15
|
import { useAuditLogs } from '@admin/hooks/use-audit-log'
|
|
14
16
|
import { useTableUtils } from '@admin/hooks/use-table-utils'
|
|
15
17
|
import { cn } from '@admin/utils/shared/cn'
|
|
16
|
-
import {
|
|
18
|
+
import { flexRender, getCoreRowModel, useReactTable } from '@tanstack/react-table'
|
|
17
19
|
import { GripVertical } from 'lucide-react'
|
|
18
20
|
import { parseAsInteger, parseAsString, useQueryStates } from 'nuqs'
|
|
19
|
-
import * as React from 'react'
|
|
20
21
|
import { AUDIT_LOG_SORT_FIELDS } from './audit-log-columns'
|
|
21
22
|
|
|
22
23
|
interface AuditLogTableProps<TValue> extends React.HTMLAttributes<HTMLDivElement> {
|
|
@@ -160,7 +161,7 @@ export function AuditLogTable<TValue>({
|
|
|
160
161
|
.join(' ')
|
|
161
162
|
|
|
162
163
|
return (
|
|
163
|
-
<div className={cn('flex flex-col gap-6 pt-px pb-2
|
|
164
|
+
<div className={cn('flex h-full flex-col gap-6 pt-px pb-2', className)}>
|
|
164
165
|
<DataGrid
|
|
165
166
|
containerClassName="min-h-0 flex-1"
|
|
166
167
|
containerRef={tableContainerRef}
|
|
@@ -197,7 +198,7 @@ export function AuditLogTable<TValue>({
|
|
|
197
198
|
<button
|
|
198
199
|
type="button"
|
|
199
200
|
aria-label={`Resize ${resizeLabel} column`}
|
|
200
|
-
className="group/resize-handle absolute
|
|
201
|
+
className="group/resize-handle absolute top-0 right-0 z-10 flex h-full w-5 cursor-col-resize touch-none items-center justify-center text-muted-foreground opacity-0 transition-opacity select-none group-focus-within/resize-header:opacity-100 hover:text-foreground focus-visible:text-foreground focus-visible:opacity-100 focus-visible:outline-none data-[column-hovered=true]:opacity-100 data-[resizing=true]:opacity-100"
|
|
201
202
|
data-resize-handle
|
|
202
203
|
data-column-hovered={
|
|
203
204
|
hoveredColumnId === header.column.id ? 'true' : 'false'
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import * as React from 'react'
|
|
4
|
+
import type { FormSettingsRow } from './forms-settings-columns'
|
|
3
5
|
import { PageHeader } from '@admin/components/shared/page-header'
|
|
4
6
|
import { webhookEventSources } from '@admin/data/webhook-events'
|
|
5
7
|
import { useFormSettingsList } from '@admin/hooks/use-webhooks'
|
|
6
|
-
import * as React from 'react'
|
|
7
8
|
import { FormNotificationsDrawer } from './form-notifications-drawer'
|
|
8
|
-
import { createFormSettingsColumns
|
|
9
|
+
import { createFormSettingsColumns } from './forms-settings-columns'
|
|
9
10
|
import { FormsSettingsTable } from './forms-settings-table'
|
|
10
11
|
|
|
11
12
|
export function FormsSettingsPageContent() {
|
|
@@ -36,7 +37,7 @@ export function FormsSettingsPageContent() {
|
|
|
36
37
|
return (
|
|
37
38
|
<React.Fragment>
|
|
38
39
|
<PageHeader title="Form Settings" />
|
|
39
|
-
<main className="space-y-4 px-4
|
|
40
|
+
<main className="flex-1 space-y-4 px-4 pt-4 pb-4">
|
|
40
41
|
<FormsSettingsTable
|
|
41
42
|
columns={columns}
|
|
42
43
|
rows={rows}
|
package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-page.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { requireRole, UserRole } from '@admin/auth/middleware'
|
|
2
1
|
import * as React from 'react'
|
|
2
|
+
import { requireRole, UserRole } from '@admin/auth/middleware'
|
|
3
3
|
import { FormsSettingsPageContent } from './forms-settings-page-content'
|
|
4
4
|
import { FormsSettingsPageSkeleton } from './forms-settings-page-skeleton'
|
|
5
5
|
|
package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-table.tsx
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import type * as React from 'react'
|
|
4
|
+
import type { FormSettingsRow } from './forms-settings-columns'
|
|
5
|
+
import type { ColumnDef } from '@tanstack/react-table'
|
|
3
6
|
import {
|
|
4
7
|
DataGrid,
|
|
5
8
|
DataGridBody,
|
|
@@ -9,9 +12,7 @@ import {
|
|
|
9
12
|
DataGridRow
|
|
10
13
|
} from '@admin/components/shared/data-table/data-grid'
|
|
11
14
|
import { cn } from '@admin/utils/shared/cn'
|
|
12
|
-
import {
|
|
13
|
-
import type * as React from 'react'
|
|
14
|
-
import type { FormSettingsRow } from './forms-settings-columns'
|
|
15
|
+
import { flexRender, getCoreRowModel, useReactTable } from '@tanstack/react-table'
|
|
15
16
|
|
|
16
17
|
interface FormsSettingsTableProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
17
18
|
columns: ColumnDef<FormSettingsRow>[]
|
|
@@ -32,7 +33,7 @@ export function FormsSettingsTable({
|
|
|
32
33
|
})
|
|
33
34
|
|
|
34
35
|
return (
|
|
35
|
-
<div className={cn('flex flex-col gap-6 pt-px pb-2
|
|
36
|
+
<div className={cn('flex h-full flex-col gap-6 pt-px pb-2', className)}>
|
|
36
37
|
<DataGrid
|
|
37
38
|
containerClassName="min-h-0 flex-1"
|
|
38
39
|
gridTemplateColumns="minmax(200px, 1fr) minmax(240px, 2fr)"
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhook-endpoint-dialog.tsx
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import * as React from 'react'
|
|
3
4
|
import type { WebhookEndpointListItem } from '@admin/actions/webhooks'
|
|
4
5
|
import {
|
|
5
6
|
createWebhook,
|
|
@@ -34,7 +35,6 @@ import { useWebhookSubscriptions } from '@admin/hooks/use-webhooks'
|
|
|
34
35
|
import { standardSchemaResolver } from '@hookform/resolvers/standard-schema'
|
|
35
36
|
import { useMutation, useQueryClient } from '@tanstack/react-query'
|
|
36
37
|
import { LoaderCircle } from 'lucide-react'
|
|
37
|
-
import * as React from 'react'
|
|
38
38
|
import { useForm } from 'react-hook-form'
|
|
39
39
|
import { toast } from 'sonner'
|
|
40
40
|
import { z } from 'zod/v3'
|
|
@@ -242,7 +242,7 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
242
242
|
/>
|
|
243
243
|
{isEdit && (
|
|
244
244
|
<div className="space-y-2 rounded-md border border-border p-3">
|
|
245
|
-
<p className="text-sm font-medium
|
|
245
|
+
<p className="text-sm leading-none font-medium">Signing secret</p>
|
|
246
246
|
<div className="flex items-center gap-2">
|
|
247
247
|
<span className="min-w-0 flex-1 truncate font-mono text-xs">
|
|
248
248
|
{secret ?? 'whsec_••••••••••••••••'}
|
|
@@ -283,7 +283,7 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
283
283
|
<React.Fragment>
|
|
284
284
|
{formSources.length > 0 && (
|
|
285
285
|
<fieldset className="space-y-2 rounded-md border border-border p-3">
|
|
286
|
-
<legend className="px-1 text-xs font-medium
|
|
286
|
+
<legend className="px-1 text-xs font-medium tracking-wide text-muted-foreground uppercase">
|
|
287
287
|
Events · Forms
|
|
288
288
|
</legend>
|
|
289
289
|
{formSources.flatMap((source) =>
|
|
@@ -308,7 +308,7 @@ export function WebhookEndpointDialog({ webhook, open, onOpenChange }: WebhookEn
|
|
|
308
308
|
)}
|
|
309
309
|
{contentSources.length > 0 && (
|
|
310
310
|
<fieldset className="space-y-2 rounded-md border border-border p-3">
|
|
311
|
-
<legend className="px-1 text-xs font-medium
|
|
311
|
+
<legend className="px-1 text-xs font-medium tracking-wide text-muted-foreground uppercase">
|
|
312
312
|
Events · Entities
|
|
313
313
|
</legend>
|
|
314
314
|
{contentSources.flatMap((source) =>
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-columns.tsx
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
3
|
import type { WebhookEndpointListItem } from '@admin/actions/webhooks'
|
|
4
|
+
import type { ColumnDef } from '@tanstack/react-table'
|
|
4
5
|
import { SortIndicator } from '@admin/components/shared/sort-indicator'
|
|
5
6
|
import { Badge } from '@admin/components/ui/badge'
|
|
6
7
|
import { Button } from '@admin/components/ui/button'
|
|
7
|
-
import type { ColumnDef } from '@tanstack/react-table'
|
|
8
8
|
import { formatDistanceToNow } from 'date-fns'
|
|
9
9
|
import { WebhookActions } from './webhook-actions'
|
|
10
10
|
import { WebhookEnabledSwitch } from './webhook-enabled-switch'
|
|
@@ -35,7 +35,7 @@ export function createWebhooksColumns({
|
|
|
35
35
|
<Button
|
|
36
36
|
variant="ghost"
|
|
37
37
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
38
|
-
className="w-full min-w-0 justify-start overflow-hidden
|
|
38
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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="w-full min-w-0 justify-start overflow-hidden
|
|
72
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none border-none bg-transparent! px-0!"
|
|
73
73
|
aria-label={`Sort by URL, ${sortLabel}`}
|
|
74
74
|
aria-sort={
|
|
75
75
|
sortDirection === 'asc'
|
|
@@ -104,7 +104,7 @@ export function createWebhooksColumns({
|
|
|
104
104
|
<Button
|
|
105
105
|
variant="ghost"
|
|
106
106
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
107
|
-
className="w-full min-w-0 justify-start overflow-hidden
|
|
107
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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="w-full min-w-0 justify-start overflow-hidden
|
|
140
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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="w-full min-w-0 justify-start overflow-hidden
|
|
173
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none border-none bg-transparent! px-0!"
|
|
174
174
|
aria-label={`Sort by Last delivery, ${sortLabel}`}
|
|
175
175
|
aria-sort={
|
|
176
176
|
sortDirection === 'asc'
|
|
@@ -217,7 +217,7 @@ export function createWebhooksColumns({
|
|
|
217
217
|
<Button
|
|
218
218
|
variant="ghost"
|
|
219
219
|
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
|
|
220
|
-
className="w-full min-w-0 justify-start overflow-hidden
|
|
220
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none border-none bg-transparent! px-0!"
|
|
221
221
|
aria-label={`Sort by Created, ${sortLabel}`}
|
|
222
222
|
aria-sort={
|
|
223
223
|
sortDirection === 'asc'
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-columns.tsx
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
3
|
import type { WebhookDeliveryEntry } from '@admin/actions/webhooks'
|
|
4
|
+
import type { ColumnDef } from '@tanstack/react-table'
|
|
4
5
|
import { SortIndicator } from '@admin/components/shared/sort-indicator'
|
|
5
6
|
import { Badge } from '@admin/components/ui/badge'
|
|
6
7
|
import { Button } from '@admin/components/ui/button'
|
|
7
|
-
import type { ColumnDef } from '@tanstack/react-table'
|
|
8
8
|
import { formatDistanceToNow } from 'date-fns'
|
|
9
9
|
|
|
10
10
|
export const logsColumns: ColumnDef<WebhookDeliveryEntry>[] = [
|
|
@@ -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="w-full min-w-0 justify-start overflow-hidden
|
|
27
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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="w-full min-w-0 justify-start overflow-hidden
|
|
63
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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'
|
|
@@ -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="w-full min-w-0 justify-start overflow-hidden
|
|
92
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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="w-full min-w-0 justify-start overflow-hidden
|
|
121
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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="w-full min-w-0 justify-start overflow-hidden
|
|
150
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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'
|
|
@@ -159,7 +159,7 @@ export const logsColumns: ColumnDef<WebhookDeliveryEntry>[] = [
|
|
|
159
159
|
)
|
|
160
160
|
},
|
|
161
161
|
cell: ({ row }) => (
|
|
162
|
-
<span className="
|
|
162
|
+
<span className="text-muted-foreground tabular-nums">{row.original.durationMs} ms</span>
|
|
163
163
|
)
|
|
164
164
|
},
|
|
165
165
|
{
|
|
@@ -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="w-full min-w-0 justify-start overflow-hidden
|
|
181
|
+
className="group w-full min-w-0 scale-100! justify-start overflow-hidden rounded-none 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'
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
+
import * as React from 'react'
|
|
3
4
|
import { EntityFiltersBar } from '@admin/components/shared/entity-filters-bar'
|
|
4
5
|
import { PageHeader } from '@admin/components/shared/page-header'
|
|
5
6
|
import { useWebhookOptions } from '@admin/hooks/use-webhooks'
|
|
6
7
|
import { useIsFetching } from '@tanstack/react-query'
|
|
7
8
|
import { parseAsInteger, parseAsString, useQueryState, useQueryStates } from 'nuqs'
|
|
8
|
-
import * as React from 'react'
|
|
9
9
|
import { logsColumns } from './webhooks-logs-columns'
|
|
10
10
|
import { WebhooksLogsTable } from './webhooks-logs-table'
|
|
11
11
|
|
|
@@ -102,7 +102,7 @@ export function WebhooksLogsPageContent() {
|
|
|
102
102
|
isPending={isSearchFetching}
|
|
103
103
|
onSearch={handleSearch}
|
|
104
104
|
/>
|
|
105
|
-
<main className="space-y-4 px-4 pb-4
|
|
105
|
+
<main className="flex-1 space-y-4 px-4 pb-4">
|
|
106
106
|
<WebhooksLogsTable
|
|
107
107
|
columns={logsColumns}
|
|
108
108
|
search={search}
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-page.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { requireRole, UserRole } from '@admin/auth/middleware'
|
|
2
1
|
import * as React from 'react'
|
|
2
|
+
import { requireRole, UserRole } from '@admin/auth/middleware'
|
|
3
3
|
import { WebhooksLogsPageContent } from '../webhooks-logs-page-content'
|
|
4
4
|
import { WebhooksPageSkeleton } from '../webhooks-page-skeleton'
|
|
5
5
|
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-table.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
3
|
import type { WebhookDeliveryEntry } from '@admin/actions/webhooks'
|
|
4
|
+
import type { ColumnDef } from '@tanstack/react-table'
|
|
4
5
|
import {
|
|
5
6
|
DataGrid,
|
|
6
7
|
DataGridBody,
|
|
@@ -13,7 +14,7 @@ import { DataTablePagination } from '@admin/components/shared/data-table/data-ta
|
|
|
13
14
|
import { useTableUtils } from '@admin/hooks/use-table-utils'
|
|
14
15
|
import { useWebhookDeliveries } from '@admin/hooks/use-webhooks'
|
|
15
16
|
import { cn } from '@admin/utils/shared/cn'
|
|
16
|
-
import {
|
|
17
|
+
import { flexRender, getCoreRowModel, useReactTable } from '@tanstack/react-table'
|
|
17
18
|
import { GripVertical } from 'lucide-react'
|
|
18
19
|
import { parseAsInteger, parseAsString, useQueryStates } from 'nuqs'
|
|
19
20
|
|
|
@@ -127,7 +128,7 @@ export function WebhooksLogsTable<TValue>({
|
|
|
127
128
|
.join(' ')
|
|
128
129
|
|
|
129
130
|
return (
|
|
130
|
-
<div className={cn('flex flex-col gap-6 pt-px pb-2
|
|
131
|
+
<div className={cn('flex h-full flex-col gap-6 pt-px pb-2', className)}>
|
|
131
132
|
<DataGrid
|
|
132
133
|
containerClassName="min-h-0 flex-1"
|
|
133
134
|
containerRef={tableContainerRef}
|
|
@@ -164,7 +165,7 @@ export function WebhooksLogsTable<TValue>({
|
|
|
164
165
|
<button
|
|
165
166
|
type="button"
|
|
166
167
|
aria-label={`Resize ${resizeLabel} column`}
|
|
167
|
-
className="group/resize-handle absolute
|
|
168
|
+
className="group/resize-handle absolute top-0 right-0 z-10 flex h-full w-5 cursor-col-resize touch-none items-center justify-center text-muted-foreground opacity-0 transition-opacity select-none group-focus-within/resize-header:opacity-100 hover:text-foreground focus-visible:text-foreground focus-visible:opacity-100 focus-visible:outline-none data-[column-hovered=true]:opacity-100 data-[resizing=true]:opacity-100"
|
|
168
169
|
data-resize-handle
|
|
169
170
|
data-column-hovered={
|
|
170
171
|
hoveredColumnId === header.column.id ? 'true' : 'false'
|