@nextsparkjs/core 0.1.0-beta.189 → 0.1.0-beta.190
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/components/api/keys/CreateApiKeyDialog.d.ts.map +1 -1
- package/dist/components/api/keys/CreateApiKeyDialog.js +2 -1
- package/dist/components/app/layouts/PublicFooter.d.ts.map +1 -1
- package/dist/components/app/layouts/PublicFooter.js +2 -23
- package/dist/components/app/misc/ThemeToggle.d.ts.map +1 -1
- package/dist/components/app/misc/ThemeToggle.js +2 -1
- package/dist/components/auth/forms/LoginForm.js +1 -1
- package/dist/components/auth/forms/SignupForm.d.ts.map +1 -1
- package/dist/components/auth/forms/SignupForm.js +2 -1
- package/dist/components/auth/pages/AuthErrorPage.d.ts.map +1 -1
- package/dist/components/auth/pages/AuthErrorPage.js +2 -1
- package/dist/components/billing/ManageBillingButton.d.ts.map +1 -1
- package/dist/components/billing/ManageBillingButton.js +2 -1
- package/dist/components/dashboard/block-editor/array-field.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/array-field.js +2 -1
- package/dist/components/dashboard/block-editor/block-picker.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/block-picker.js +2 -1
- package/dist/components/dashboard/block-editor/builder-editor-view.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/builder-editor-view.js +3 -2
- package/dist/components/dashboard/block-editor/config-panel.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/config-panel.js +3 -2
- package/dist/components/dashboard/block-editor/dynamic-form.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/dynamic-form.js +2 -1
- package/dist/components/dashboard/block-editor/entity-fields-sidebar.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/entity-fields-sidebar.js +3 -2
- package/dist/components/dashboard/block-editor/pattern-reference-preview.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/pattern-reference-preview.js +2 -1
- package/dist/components/dashboard/layouts/TopNavbar.d.ts.map +1 -1
- package/dist/components/dashboard/layouts/TopNavbar.js +4 -3
- package/dist/components/dashboard/misc/SearchDropdown.d.ts.map +1 -1
- package/dist/components/dashboard/misc/SearchDropdown.js +2 -1
- package/dist/components/dashboard/mobile/MobileTopBar.d.ts.map +1 -1
- package/dist/components/dashboard/mobile/MobileTopBar.js +2 -1
- package/dist/components/devtools/BlockDetailViewer.d.ts.map +1 -1
- package/dist/components/devtools/BlockDetailViewer.js +2 -1
- package/dist/components/devtools/BlocksViewer.d.ts.map +1 -1
- package/dist/components/devtools/BlocksViewer.js +2 -1
- package/dist/components/devtools/ConfigViewer.d.ts.map +1 -1
- package/dist/components/devtools/ConfigViewer.js +3 -2
- package/dist/components/devtools/TestCasesViewer.d.ts.map +1 -1
- package/dist/components/devtools/TestCasesViewer.js +3 -2
- package/dist/components/devtools/TestCoverageDashboard.d.ts.map +1 -1
- package/dist/components/devtools/TestCoverageDashboard.js +2 -1
- package/dist/components/devtools/api-explorer/ApiDocsModal.d.ts.map +1 -1
- package/dist/components/devtools/api-explorer/ApiDocsModal.js +0 -0
- package/dist/components/devtools/api-explorer/ApiExplorer.d.ts.map +1 -1
- package/dist/components/devtools/api-explorer/ApiExplorer.js +2 -1
- package/dist/components/devtools/scheduled-actions/actions-table.d.ts.map +1 -1
- package/dist/components/devtools/scheduled-actions/actions-table.js +3 -2
- package/dist/components/docs/docs-sidebar.d.ts.map +1 -1
- package/dist/components/docs/docs-sidebar.js +3 -2
- package/dist/components/entities/EntityFieldRenderer.d.ts.map +1 -1
- package/dist/components/entities/EntityFieldRenderer.js +2 -1
- package/dist/components/entities/EntityList.d.ts.map +1 -1
- package/dist/components/entities/EntityList.js +2 -1
- package/dist/components/entities/EntityTable.d.ts.map +1 -1
- package/dist/components/entities/EntityTable.js +3 -2
- package/dist/components/entities/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/entities/ErrorBoundary.js +2 -1
- package/dist/components/entities/wrappers/EntityDetailWrapper.d.ts.map +1 -1
- package/dist/components/entities/wrappers/EntityDetailWrapper.js +3 -2
- package/dist/components/media/MediaCard.d.ts.map +1 -1
- package/dist/components/media/MediaCard.js +2 -1
- package/dist/components/media/MediaDetailPanel.d.ts.map +1 -1
- package/dist/components/media/MediaDetailPanel.js +2 -1
- package/dist/components/media/MediaList.d.ts.map +1 -1
- package/dist/components/media/MediaList.js +2 -1
- package/dist/components/media/MediaSelector.d.ts.map +1 -1
- package/dist/components/media/MediaSelector.js +2 -1
- package/dist/components/media/MediaUploadZone.d.ts.map +1 -1
- package/dist/components/media/MediaUploadZone.js +2 -1
- package/dist/components/public/entities/PublicEntityDetail.d.ts.map +1 -1
- package/dist/components/public/entities/PublicEntityDetail.js +2 -1
- package/dist/components/teams/TeamPendingInvitations.d.ts.map +1 -1
- package/dist/components/teams/TeamPendingInvitations.js +3 -2
- package/dist/components/ui/accordion.js +1 -1
- package/dist/components/ui/audio-upload.d.ts.map +1 -1
- package/dist/components/ui/audio-upload.js +2 -1
- package/dist/components/ui/avatar.d.ts +17 -1
- package/dist/components/ui/avatar.d.ts.map +1 -1
- package/dist/components/ui/avatar.js +29 -2
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/breadcrumb.d.ts +13 -0
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.js +23 -10
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/file-upload.d.ts.map +1 -1
- package/dist/components/ui/file-upload.js +2 -1
- package/dist/components/ui/image-upload.d.ts.map +1 -1
- package/dist/components/ui/image-upload.js +4 -3
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/optimized-image.d.ts.map +1 -1
- package/dist/components/ui/optimized-image.js +5 -0
- package/dist/components/ui/pagination.d.ts +1 -1
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/pagination.js +3 -0
- package/dist/components/ui/progress.js +1 -1
- package/dist/components/ui/relation-display.d.ts.map +1 -1
- package/dist/components/ui/relation-display.js +3 -2
- package/dist/components/ui/separator.js +1 -1
- package/dist/components/ui/simple-relation-select.d.ts.map +1 -1
- package/dist/components/ui/simple-relation-select.js +7 -6
- package/dist/components/ui/skeleton.js +1 -1
- package/dist/components/ui/slider.js +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/tabs.js +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/components/ui/user-display.d.ts.map +1 -1
- package/dist/components/ui/user-display.js +2 -1
- package/dist/components/ui/user-select.d.ts.map +1 -1
- package/dist/components/ui/user-select.js +2 -1
- package/dist/components/ui/video-upload.d.ts.map +1 -1
- package/dist/components/ui/video-upload.js +3 -2
- package/dist/components/users/tables/UsersTable.d.ts.map +1 -1
- package/dist/components/users/tables/UsersTable.js +3 -2
- package/dist/contexts/SubscriptionContext.d.ts.map +1 -1
- package/dist/contexts/SubscriptionContext.js +4 -3
- package/dist/contexts/TeamContext.d.ts.map +1 -1
- package/dist/contexts/TeamContext.js +3 -2
- package/dist/hooks/useAccountPreferencesSync.d.ts.map +1 -1
- package/dist/hooks/useAccountPreferencesSync.js +2 -1
- package/dist/hooks/useApiExplorerNavigation.d.ts.map +1 -1
- package/dist/hooks/useApiExplorerNavigation.js +2 -1
- package/dist/hooks/useAuth.d.ts.map +1 -1
- package/dist/hooks/useAuth.js +3 -2
- package/dist/hooks/useEnsureUserMetadata.d.ts.map +1 -1
- package/dist/hooks/useEnsureUserMetadata.js +3 -2
- package/dist/hooks/useEntityWithMeta.d.ts.map +1 -1
- package/dist/hooks/useEntityWithMeta.js +3 -2
- package/dist/hooks/useInvoice.d.ts.map +1 -1
- package/dist/hooks/useInvoice.js +2 -1
- package/dist/hooks/useInvoices.d.ts.map +1 -1
- package/dist/hooks/useInvoices.js +2 -1
- package/dist/hooks/useMedia.d.ts.map +1 -1
- package/dist/hooks/useMedia.js +10 -9
- package/dist/hooks/useMediaUpload.d.ts.map +1 -1
- package/dist/hooks/useMediaUpload.js +2 -1
- package/dist/hooks/useMembership.d.ts.map +1 -1
- package/dist/hooks/useMembership.js +3 -2
- package/dist/hooks/usePatternUsages.d.ts.map +1 -1
- package/dist/hooks/usePatternUsages.js +3 -2
- package/dist/hooks/usePrefetch.d.ts.map +1 -1
- package/dist/hooks/usePrefetch.js +3 -2
- package/dist/hooks/useQuota.d.ts.map +1 -1
- package/dist/hooks/useQuota.js +2 -1
- package/dist/hooks/useTeamInvitations.d.ts.map +1 -1
- package/dist/hooks/useTeamInvitations.js +4 -3
- package/dist/hooks/useTeamMembers.d.ts.map +1 -1
- package/dist/hooks/useTeamMembers.js +5 -4
- package/dist/hooks/useTeamUpdate.d.ts.map +1 -1
- package/dist/hooks/useTeamUpdate.js +2 -1
- package/dist/hooks/useUserProfile.d.ts.map +1 -1
- package/dist/hooks/useUserProfile.js +3 -2
- package/dist/hooks/useUserSettings.d.ts.map +1 -1
- package/dist/hooks/useUserSettings.js +3 -2
- package/dist/lib/actions/entity.actions.d.ts.map +1 -1
- package/dist/lib/actions/entity.actions.js +2 -1
- package/dist/lib/api/entities.d.ts.map +1 -1
- package/dist/lib/api/entities.js +4 -3
- package/dist/lib/auth/verify-email-link.d.ts +10 -0
- package/dist/lib/auth/verify-email-link.d.ts.map +1 -0
- package/dist/lib/auth/verify-email-link.js +14 -0
- package/dist/lib/auth-client.d.ts +2 -0
- package/dist/lib/auth-client.d.ts.map +1 -1
- package/dist/lib/auth-client.js +4 -0
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +10 -2
- package/dist/lib/base-path.d.ts +85 -0
- package/dist/lib/base-path.d.ts.map +1 -0
- package/dist/lib/base-path.js +79 -0
- package/dist/lib/billing/schema.d.ts +1 -1
- package/dist/lib/billing/schema.d.ts.map +1 -1
- package/dist/lib/billing/schema.js +1 -1
- package/dist/lib/blocks/sanitize-html.d.ts.map +1 -1
- package/dist/lib/blocks/sanitize-html.js +18 -2
- package/dist/lib/cache/revalidate-tag.d.ts +14 -0
- package/dist/lib/cache/revalidate-tag.d.ts.map +1 -0
- package/dist/lib/cache/revalidate-tag.js +8 -0
- package/dist/lib/config/dashboard-schema.d.ts +1 -1
- package/dist/lib/config/dashboard-schema.d.ts.map +1 -1
- package/dist/lib/config/dashboard-schema.js +1 -1
- package/dist/lib/config/types.d.ts +36 -16
- package/dist/lib/config/types.d.ts.map +1 -1
- package/dist/lib/docs/access.d.ts +28 -0
- package/dist/lib/docs/access.d.ts.map +1 -0
- package/dist/lib/docs/access.js +16 -0
- package/dist/lib/docs/parser.d.ts.map +1 -1
- package/dist/lib/docs/parser.js +2 -1
- package/dist/lib/docs/remark-doc-links.d.ts +14 -0
- package/dist/lib/docs/remark-doc-links.d.ts.map +1 -0
- package/dist/lib/docs/remark-doc-links.js +38 -0
- package/dist/lib/entities/api-generator.d.ts +1 -1
- package/dist/lib/entities/api-generator.d.ts.map +1 -1
- package/dist/lib/entities/api-generator.js +1 -1
- package/dist/lib/entities/schema-generator.d.ts +1 -1
- package/dist/lib/entities/schema-generator.d.ts.map +1 -1
- package/dist/lib/entities/schema-generator.js +1 -1
- package/dist/lib/mcp/engine.js +1 -1
- package/dist/lib/mcp/schema-builder.d.ts +1 -1
- package/dist/lib/mcp/schema-builder.d.ts.map +1 -1
- package/dist/lib/mcp/schema-builder.js +1 -1
- package/dist/lib/mcp/tool-generator.js +1 -1
- package/dist/lib/mcp/types.d.ts +1 -1
- package/dist/lib/mcp/types.d.ts.map +1 -1
- package/dist/lib/media/schemas.d.ts +1 -1
- package/dist/lib/media/schemas.d.ts.map +1 -1
- package/dist/lib/media/schemas.js +1 -1
- package/dist/lib/middleware/index.d.ts +5 -1
- package/dist/lib/middleware/index.d.ts.map +1 -1
- package/dist/lib/middleware/index.js +3 -2
- package/dist/lib/services/meta.service.d.ts +60 -0
- package/dist/lib/services/meta.service.d.ts.map +1 -1
- package/dist/lib/services/meta.service.js +132 -12
- package/dist/lib/services/middleware.service.d.ts.map +1 -1
- package/dist/lib/services/middleware.service.js +3 -2
- package/dist/lib/teams/schema.d.ts +1 -1
- package/dist/lib/teams/schema.d.ts.map +1 -1
- package/dist/lib/teams/schema.js +1 -1
- package/dist/lib/teams/teams.api.d.ts.map +1 -1
- package/dist/lib/teams/teams.api.js +4 -3
- package/dist/lib/user-data-client.d.ts.map +1 -1
- package/dist/lib/user-data-client.js +3 -2
- package/dist/lib/validation/invoices.d.ts +1 -1
- package/dist/lib/validation/invoices.d.ts.map +1 -1
- package/dist/lib/validation/invoices.js +1 -1
- package/dist/lib/validation-schemas.d.ts +1 -1
- package/dist/lib/validation-schemas.d.ts.map +1 -1
- package/dist/lib/validation-schemas.js +1 -1
- package/dist/lib/validation.d.ts +1 -1
- package/dist/lib/validation.d.ts.map +1 -1
- package/dist/lib/validation.js +1 -1
- package/dist/messages/de/footer.json +0 -1
- package/dist/messages/de/index.d.ts +0 -1
- package/dist/messages/de/index.d.ts.map +1 -1
- package/dist/messages/en/footer.json +0 -1
- package/dist/messages/en/index.d.ts +0 -1
- package/dist/messages/en/index.d.ts.map +1 -1
- package/dist/messages/es/footer.json +0 -1
- package/dist/messages/es/index.d.ts +0 -1
- package/dist/messages/es/index.d.ts.map +1 -1
- package/dist/messages/fr/footer.json +0 -1
- package/dist/messages/fr/index.d.ts +0 -1
- package/dist/messages/fr/index.d.ts.map +1 -1
- package/dist/messages/it/footer.json +0 -1
- package/dist/messages/it/index.d.ts +0 -1
- package/dist/messages/it/index.d.ts.map +1 -1
- package/dist/messages/pt/footer.json +0 -1
- package/dist/messages/pt/index.d.ts +0 -1
- package/dist/messages/pt/index.d.ts.map +1 -1
- package/dist/templates/app/(auth)/accept-invite/[token]/page.tsx +4 -3
- package/dist/templates/app/(auth)/verify-email/page.tsx +4 -3
- package/dist/templates/app/(public)/docs/[section]/[page]/page.tsx +11 -0
- package/dist/templates/app/api/auth/[...all]/route.ts +15 -14
- package/dist/templates/app/api/internal/user-metadata/route.ts +6 -8
- package/dist/templates/app/api/user/plan-flags/route.ts +1 -1
- package/dist/templates/app/api/user/profile/route.ts +12 -17
- package/dist/templates/app/api/v1/api-keys/route.ts +1 -1
- package/dist/templates/app/api/v1/auth/signup-with-invite/route.ts +2 -1
- package/dist/templates/app/api/v1/billing/cancel/route.ts +1 -1
- package/dist/templates/app/api/v1/billing/change-plan/route.ts +1 -1
- package/dist/templates/app/api/v1/billing/check-action/route.ts +1 -1
- package/dist/templates/app/api/v1/billing/checkout/route.ts +1 -1
- package/dist/templates/app/api/v1/blocks/validate/route.ts +1 -1
- package/dist/templates/app/api/v1/media/[id]/tags/route.ts +1 -1
- package/dist/templates/app/api/v1/post-categories/[id]/route.ts +1 -1
- package/dist/templates/app/api/v1/post-categories/route.ts +1 -1
- package/dist/templates/app/api/v1/teams/[teamId]/members/route.ts +2 -1
- package/dist/templates/app/api/v1/teams/[teamId]/subscription/route.ts +3 -5
- package/dist/templates/app/api/v1/teams/docs.md +4 -9
- package/dist/templates/app/api/v1/teams/switch/route.ts +1 -1
- package/dist/templates/app/api/v1/users/[id]/meta/[key]/route.ts +1 -1
- package/dist/templates/app/api/v1/users/[id]/route.ts +1 -1
- package/dist/templates/app/api/v1/users/route.ts +1 -1
- package/dist/templates/app/dashboard/(main)/media/page.tsx +3 -1
- package/dist/templates/app/dashboard/settings/api-keys/page.tsx +5 -4
- package/dist/templates/app/dashboard/settings/profile/page.tsx +3 -2
- package/dist/templates/app/devtools/scheduled-actions/page.tsx +2 -1
- package/dist/templates/app/superadmin/docs/[section]/[page]/page.tsx +16 -0
- package/dist/templates/app/superadmin/subscriptions/page.tsx +3 -2
- package/dist/templates/app/superadmin/teams/[teamId]/page.tsx +5 -4
- package/dist/templates/app/superadmin/users/[userId]/page.tsx +2 -1
- package/dist/templates/app/superadmin/users/page.tsx +2 -1
- package/dist/templates/blocks/cta-section/component.tsx +3 -2
- package/dist/templates/blocks/cta-section/schema.ts +1 -1
- package/dist/templates/blocks/features-grid/component.tsx +2 -1
- package/dist/templates/blocks/features-grid/schema.ts +1 -1
- package/dist/templates/blocks/hero/component.tsx +3 -2
- package/dist/templates/blocks/hero/schema.ts +1 -1
- package/dist/templates/blocks/testimonials/component.tsx +2 -1
- package/dist/templates/blocks/testimonials/schema.ts +1 -1
- package/dist/templates/blocks/text-content/component.tsx +2 -1
- package/dist/templates/blocks/text-content/schema.ts +1 -1
- package/dist/templates/ci-workflows/README.md +1 -1
- package/dist/templates/ci-workflows/github/cypress-regression.yml +1 -1
- package/dist/templates/ci-workflows/github/cypress-smoke.yml +1 -1
- package/dist/templates/contents/plugins/starter/plugin/api/example/route.ts.template +1 -1
- package/dist/templates/contents/themes/starter/blocks/cta-section/component.tsx +3 -2
- package/dist/templates/contents/themes/starter/blocks/cta-section/schema.ts +1 -1
- package/dist/templates/contents/themes/starter/blocks/features-grid/component.tsx +2 -1
- package/dist/templates/contents/themes/starter/blocks/features-grid/schema.ts +1 -1
- package/dist/templates/contents/themes/starter/blocks/hero/component.tsx +3 -2
- package/dist/templates/contents/themes/starter/blocks/hero/schema.ts +1 -1
- package/dist/templates/contents/themes/starter/blocks/testimonials/component.tsx +3 -2
- package/dist/templates/contents/themes/starter/blocks/testimonials/schema.ts +1 -1
- package/dist/templates/contents/themes/starter/blocks/text-content/component.tsx +2 -1
- package/dist/templates/contents/themes/starter/blocks/text-content/schema.ts +1 -1
- package/dist/templates/contents/themes/starter/entities/posts/components/post-header.tsx +2 -1
- package/dist/templates/contents/themes/starter/lib/hooks/useAnalyticsData.ts +2 -1
- package/dist/templates/contents/themes/starter/lib/hooks/useTaskStats.ts +2 -1
- package/dist/templates/eslint.config.mjs +133 -9
- package/dist/templates/features/blog/blocks/post-content/component.tsx +2 -1
- package/dist/templates/features/blog/blocks/post-content/schema.ts +1 -1
- package/dist/templates/features/blog/entities/posts/components/post-header.tsx +2 -1
- package/dist/templates/features/pages/blocks/hero/component.tsx +3 -2
- package/dist/templates/features/pages/blocks/hero/schema.ts +1 -1
- package/dist/templates/next.config.mjs +50 -29
- package/dist/templates/proxy.ts +100 -21
- package/dist/templates/public/sw.js +2 -2
- package/dist/templates/scripts/cy-run-prod.cjs +5 -5
- package/dist/types/blocks.d.ts +1 -1
- package/dist/types/blocks.d.ts.map +1 -1
- package/dist/types/blocks.js +1 -1
- package/package.json +9 -5
- package/scripts/build/docs-registry.mjs +7 -7
- package/scripts/build/registry/__tests__/billing-registry.test.mjs +43 -0
- package/scripts/build/registry/__tests__/build-output.test.mjs +209 -0
- package/scripts/build/registry/__tests__/copy-race-child.mjs +14 -0
- package/scripts/build/registry/__tests__/direct-fs-writes.mjs +203 -0
- package/scripts/build/registry/__tests__/globals-css-tag.test.mjs +66 -0
- package/scripts/build/registry/__tests__/icons-discovery.test.mjs +530 -29
- package/scripts/build/registry/__tests__/page-generator.test.mjs +211 -37
- package/scripts/build/registry/__tests__/published-signatures.test.mjs +239 -0
- package/scripts/build/registry/__tests__/route-file-rule.test.mjs +170 -0
- package/scripts/build/registry/__tests__/safe-fs.test.mjs +333 -0
- package/scripts/build/registry/__tests__/template-analysis.test.mjs +142 -0
- package/scripts/build/registry/__tests__/template-registry.test.mjs +279 -9
- package/scripts/build/registry/__tests__/templates-plan.test.mjs +128 -0
- package/scripts/build/registry/__tests__/templates-tree.test.mjs +367 -0
- package/scripts/build/registry/__tests__/write-places.test.mjs +425 -0
- package/scripts/build/registry/config.mjs +6 -65
- package/scripts/build/registry/discovery/icons.mjs +498 -43
- package/scripts/build/registry/discovery/templates.mjs +1 -1
- package/scripts/build/registry/generators/billing-registry.mjs +1 -1
- package/scripts/build/registry/generators/docs-registry.mjs +3 -4
- package/scripts/build/registry/generators/feature-registry.mjs +1 -1
- package/scripts/build/registry/generators/permissions-registry.mjs +2 -2
- package/scripts/build/registry/generators/template-registry.mjs +65 -49
- package/scripts/build/registry/index.mjs +1 -2
- package/scripts/build/registry/post-build/index.mjs +1 -1
- package/scripts/build/registry/post-build/own-gitignores.mjs +220 -0
- package/scripts/build/registry/post-build/page-generator.mjs +512 -268
- package/scripts/build/registry/post-build/route-cleanup.mjs +16 -13
- package/scripts/build/registry/post-build/test-fixtures.mjs +26 -8
- package/scripts/build/registry/project-mode.mjs +76 -0
- package/scripts/build/registry/shared/typescript-compiler.mjs +77 -0
- package/scripts/build/registry/validate-env.test.mjs +12 -8
- package/scripts/build/registry/watch.mjs +3 -53
- package/scripts/build/registry/write-places.mjs +228 -0
- package/scripts/build/registry.mjs +53 -30
- package/scripts/build/safe-fs.mjs +279 -0
- package/scripts/build/templates-plan.mjs +44 -0
- package/scripts/build/theme.mjs +46 -42
- package/scripts/build/update-tsconfig.mjs +16 -15
- package/scripts/db/cluster-changes.mjs +205 -0
- package/scripts/db/connection-time-limits.mjs +53 -0
- package/scripts/db/inspect-server.mjs +108 -0
- package/scripts/db/migration-time-limit.mjs +695 -0
- package/scripts/db/run-migrations.mjs +46 -41
- package/scripts/db/ssl-config.mjs +194 -0
- package/scripts/db/theme-location.mjs +69 -0
- package/scripts/db/verify-tables.mjs +3 -8
- package/scripts/db/verify-teams.mjs +2 -6
- package/scripts/db/verify-theme-migrations.mjs +169 -0
- package/scripts/maintenance/core-updater.mjs +1003 -0
- package/scripts/maintenance/step-guard.mjs +74 -0
- package/scripts/maintenance/update-core.mjs +14 -831
- package/scripts/utils/console-guard.mjs +13 -0
- package/scripts/utils/generated-tag.mjs +66 -0
- package/scripts/utils/index.mjs +9 -1
- package/scripts/utils/logging.mjs +140 -0
- package/templates/app/(auth)/accept-invite/[token]/page.tsx +4 -3
- package/templates/app/(auth)/verify-email/page.tsx +4 -3
- package/templates/app/(public)/docs/[section]/[page]/page.tsx +11 -0
- package/templates/app/api/auth/[...all]/route.ts +15 -14
- package/templates/app/api/internal/user-metadata/route.ts +6 -8
- package/templates/app/api/user/plan-flags/route.ts +1 -1
- package/templates/app/api/user/profile/route.ts +12 -17
- package/templates/app/api/v1/api-keys/route.ts +1 -1
- package/templates/app/api/v1/auth/signup-with-invite/route.ts +2 -1
- package/templates/app/api/v1/billing/cancel/route.ts +1 -1
- package/templates/app/api/v1/billing/change-plan/route.ts +1 -1
- package/templates/app/api/v1/billing/check-action/route.ts +1 -1
- package/templates/app/api/v1/billing/checkout/route.ts +1 -1
- package/templates/app/api/v1/blocks/validate/route.ts +1 -1
- package/templates/app/api/v1/media/[id]/tags/route.ts +1 -1
- package/templates/app/api/v1/post-categories/[id]/route.ts +1 -1
- package/templates/app/api/v1/post-categories/route.ts +1 -1
- package/templates/app/api/v1/teams/[teamId]/members/route.ts +2 -1
- package/templates/app/api/v1/teams/[teamId]/subscription/route.ts +3 -5
- package/templates/app/api/v1/teams/docs.md +4 -9
- package/templates/app/api/v1/teams/switch/route.ts +1 -1
- package/templates/app/api/v1/users/[id]/meta/[key]/route.ts +1 -1
- package/templates/app/api/v1/users/[id]/route.ts +1 -1
- package/templates/app/api/v1/users/route.ts +1 -1
- package/templates/app/dashboard/(main)/media/page.tsx +3 -1
- package/templates/app/dashboard/settings/api-keys/page.tsx +5 -4
- package/templates/app/dashboard/settings/profile/page.tsx +3 -2
- package/templates/app/devtools/scheduled-actions/page.tsx +2 -1
- package/templates/app/superadmin/docs/[section]/[page]/page.tsx +16 -0
- package/templates/app/superadmin/subscriptions/page.tsx +3 -2
- package/templates/app/superadmin/teams/[teamId]/page.tsx +5 -4
- package/templates/app/superadmin/users/[userId]/page.tsx +2 -1
- package/templates/app/superadmin/users/page.tsx +2 -1
- package/templates/blocks/cta-section/component.tsx +3 -2
- package/templates/blocks/cta-section/schema.ts +1 -1
- package/templates/blocks/features-grid/component.tsx +2 -1
- package/templates/blocks/features-grid/schema.ts +1 -1
- package/templates/blocks/hero/component.tsx +3 -2
- package/templates/blocks/hero/schema.ts +1 -1
- package/templates/blocks/testimonials/component.tsx +2 -1
- package/templates/blocks/testimonials/schema.ts +1 -1
- package/templates/blocks/text-content/component.tsx +2 -1
- package/templates/blocks/text-content/schema.ts +1 -1
- package/templates/ci-workflows/README.md +1 -1
- package/templates/ci-workflows/github/cypress-regression.yml +1 -1
- package/templates/ci-workflows/github/cypress-smoke.yml +1 -1
- package/templates/contents/plugins/starter/plugin/api/example/route.ts.template +1 -1
- package/templates/contents/themes/starter/blocks/cta-section/component.tsx +3 -2
- package/templates/contents/themes/starter/blocks/cta-section/schema.ts +1 -1
- package/templates/contents/themes/starter/blocks/features-grid/component.tsx +2 -1
- package/templates/contents/themes/starter/blocks/features-grid/schema.ts +1 -1
- package/templates/contents/themes/starter/blocks/hero/component.tsx +3 -2
- package/templates/contents/themes/starter/blocks/hero/schema.ts +1 -1
- package/templates/contents/themes/starter/blocks/testimonials/component.tsx +3 -2
- package/templates/contents/themes/starter/blocks/testimonials/schema.ts +1 -1
- package/templates/contents/themes/starter/blocks/text-content/component.tsx +2 -1
- package/templates/contents/themes/starter/blocks/text-content/schema.ts +1 -1
- package/templates/contents/themes/starter/entities/posts/components/post-header.tsx +2 -1
- package/templates/contents/themes/starter/lib/hooks/useAnalyticsData.ts +2 -1
- package/templates/contents/themes/starter/lib/hooks/useTaskStats.ts +2 -1
- package/templates/eslint.config.mjs +133 -9
- package/templates/features/blog/blocks/post-content/component.tsx +2 -1
- package/templates/features/blog/blocks/post-content/schema.ts +1 -1
- package/templates/features/blog/entities/posts/components/post-header.tsx +2 -1
- package/templates/features/pages/blocks/hero/component.tsx +3 -2
- package/templates/features/pages/blocks/hero/schema.ts +1 -1
- package/templates/next.config.mjs +50 -29
- package/templates/proxy.ts +100 -21
- package/templates/public/sw.js +2 -2
- package/templates/scripts/cy-run-prod.cjs +5 -5
- package/tests/jest/__mocks__/@nextsparkjs/registries/template-registry.client.ts +11 -0
- package/tests/jest/__mocks__/next-server.js +10 -0
- package/scripts/build/docs.mjs +0 -392
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateApiKeyDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/api/keys/CreateApiKeyDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateApiKeyDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/api/keys/CreateApiKeyDialog.tsx"],"names":[],"mappings":"AAgCA,UAAU,uBAAuB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC3G;AAuBD,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAkRvF"}
|
|
@@ -28,6 +28,7 @@ import { AlertTriangle, Info } from "lucide-react";
|
|
|
28
28
|
import { toast } from "sonner";
|
|
29
29
|
import { SCOPE_CATEGORIES, getApiScopes, getAppApiScopes } from "../../../lib/api/keys.js";
|
|
30
30
|
import { sel } from "../../../lib/test/index.js";
|
|
31
|
+
import { withBasePath } from "../../../lib/base-path.js";
|
|
31
32
|
function useScopeCatalogue() {
|
|
32
33
|
return useMemo(() => {
|
|
33
34
|
const appScopes = Object.keys(getAppApiScopes());
|
|
@@ -51,7 +52,7 @@ function CreateApiKeyDialog({ open, onClose, onSuccess }) {
|
|
|
51
52
|
const [expiryOption, setExpiryOption] = useState("never");
|
|
52
53
|
const createApiKey = useMutation({
|
|
53
54
|
mutationFn: async (data) => {
|
|
54
|
-
const response = await fetch("/api/v1/api-keys", {
|
|
55
|
+
const response = await fetch(withBasePath("/api/v1/api-keys"), {
|
|
55
56
|
method: "POST",
|
|
56
57
|
headers: { "Content-Type": "application/json" },
|
|
57
58
|
body: JSON.stringify(data)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/app/layouts/PublicFooter.tsx"],"names":[],"mappings":"AAMA,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"PublicFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/app/layouts/PublicFooter.tsx"],"names":[],"mappings":"AAMA,wBAAgB,YAAY,4CA8H3B"}
|
|
@@ -18,24 +18,14 @@ function PublicFooter() {
|
|
|
18
18
|
company: [
|
|
19
19
|
{ name: "about", href: "/about" },
|
|
20
20
|
{ name: "blog", href: "/blog" },
|
|
21
|
-
{ name: "careers", href: "/careers" },
|
|
22
21
|
{ name: "contact", href: "/contact" }
|
|
23
22
|
],
|
|
24
|
-
legal: [
|
|
25
|
-
{ name: "privacy", href: "/legal/privacy" },
|
|
26
|
-
{ name: "terms", href: "/legal/terms" },
|
|
27
|
-
{ name: "cookies", href: "/legal/cookies" },
|
|
28
|
-
{ name: "gdpr", href: "/legal/gdpr" }
|
|
29
|
-
],
|
|
30
23
|
resources: [
|
|
31
|
-
{ name: "helpCenter", href: "/support" }
|
|
32
|
-
{ name: "apiDocs", href: "/docs/api" },
|
|
33
|
-
{ name: "status", href: "/status" },
|
|
34
|
-
{ name: "changelog", href: "/changelog" }
|
|
24
|
+
{ name: "helpCenter", href: "/support" }
|
|
35
25
|
]
|
|
36
26
|
};
|
|
37
27
|
return /* @__PURE__ */ jsx("footer", { className: "border-t border-border/40 bg-background", "data-cy": sel("public.footer.container"), children: /* @__PURE__ */ jsxs("div", { className: "container max-w-7xl mx-auto px-4 py-12 md:py-16", children: [
|
|
38
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8 md:grid-cols-
|
|
28
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8 md:grid-cols-3", children: [
|
|
39
29
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
40
30
|
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-4", children: t("product") }),
|
|
41
31
|
/* @__PURE__ */ jsx("ul", { className: "space-y-3", children: footerLinks.product.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
@@ -58,17 +48,6 @@ function PublicFooter() {
|
|
|
58
48
|
}
|
|
59
49
|
) }, link.name)) })
|
|
60
50
|
] }),
|
|
61
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
62
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-4", children: t("legal") }),
|
|
63
|
-
/* @__PURE__ */ jsx("ul", { className: "space-y-3", children: footerLinks.legal.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
64
|
-
Link,
|
|
65
|
-
{
|
|
66
|
-
href: link.href,
|
|
67
|
-
className: "text-sm text-muted-foreground hover:text-foreground transition-colors",
|
|
68
|
-
children: t(link.name)
|
|
69
|
-
}
|
|
70
|
-
) }, link.name)) })
|
|
71
|
-
] }),
|
|
72
51
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
73
52
|
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-4", children: t("resources") }),
|
|
74
53
|
/* @__PURE__ */ jsx("ul", { className: "space-y-3", children: footerLinks.resources.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../../../src/components/app/misc/ThemeToggle.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../../../src/components/app/misc/ThemeToggle.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,WAAW,4CA6H1B"}
|
|
@@ -13,6 +13,7 @@ import { useEffect, useState, useCallback } from "react";
|
|
|
13
13
|
import { createAriaLabel, sel } from "../../../lib/test/index.js";
|
|
14
14
|
import { useTranslations } from "next-intl";
|
|
15
15
|
import { hasSessionHint } from "../../../lib/auth/session-hint.js";
|
|
16
|
+
import { withBasePath } from "../../../lib/base-path.js";
|
|
16
17
|
function ThemeToggle() {
|
|
17
18
|
const { setTheme, theme, forcedTheme } = useTheme();
|
|
18
19
|
const [mounted, setMounted] = useState(false);
|
|
@@ -31,7 +32,7 @@ function ThemeToggle() {
|
|
|
31
32
|
setStatusMessage(`${t("theme.changed")} ${themeNames[newTheme]}`);
|
|
32
33
|
if (hasSessionHint()) {
|
|
33
34
|
try {
|
|
34
|
-
await fetch("/api/user/profile", {
|
|
35
|
+
await fetch(withBasePath("/api/user/profile"), {
|
|
35
36
|
method: "PATCH",
|
|
36
37
|
headers: {
|
|
37
38
|
"Content-Type": "application/json"
|
|
@@ -5,7 +5,7 @@ import Link from "next/link";
|
|
|
5
5
|
import { useSearchParams } from "next/navigation";
|
|
6
6
|
import { useForm } from "react-hook-form";
|
|
7
7
|
import { zodResolver } from "@hookform/resolvers/zod";
|
|
8
|
-
import
|
|
8
|
+
import * as z from "zod";
|
|
9
9
|
import { useAuthActions } from "../../../hooks/useAuth.js";
|
|
10
10
|
import { safeCallbackPath } from "../../../lib/auth/callback-url.js";
|
|
11
11
|
import { useLastAuthMethod } from "../../../hooks/useLastAuthMethod.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignupForm.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/forms/SignupForm.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignupForm.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/forms/SignupForm.tsx"],"names":[],"mappings":"AA+BA,wBAAgB,UAAU,4CAmgBzB"}
|
|
@@ -7,6 +7,7 @@ import { useForm } from "react-hook-form";
|
|
|
7
7
|
import { zodResolver } from "@hookform/resolvers/zod";
|
|
8
8
|
import { useAuthActions } from "../../../hooks/useAuth.js";
|
|
9
9
|
import { safeCallbackPath } from "../../../lib/auth/callback-url.js";
|
|
10
|
+
import { withBasePath } from "../../../lib/base-path.js";
|
|
10
11
|
import { Button } from "../../ui/button.js";
|
|
11
12
|
import { Input } from "../../ui/input.js";
|
|
12
13
|
import { Label } from "../../ui/label.js";
|
|
@@ -62,7 +63,7 @@ function SignupForm() {
|
|
|
62
63
|
setStatusMessage(t("signup.messages.creatingAccount"));
|
|
63
64
|
try {
|
|
64
65
|
if (inviteToken) {
|
|
65
|
-
const response = await fetch("/api/v1/auth/signup-with-invite", {
|
|
66
|
+
const response = await fetch(withBasePath("/api/v1/auth/signup-with-invite"), {
|
|
66
67
|
method: "POST",
|
|
67
68
|
headers: {
|
|
68
69
|
"Content-Type": "application/json"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthErrorPage.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/pages/AuthErrorPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthErrorPage.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/pages/AuthErrorPage.tsx"],"names":[],"mappings":"AAQA,wBAAgB,aAAa,4CAiD5B"}
|
|
@@ -4,6 +4,7 @@ import { useSearchParams } from "next/navigation";
|
|
|
4
4
|
import { useTranslations } from "next-intl";
|
|
5
5
|
import { ShieldAlert, ArrowLeft } from "lucide-react";
|
|
6
6
|
import { Button } from "../../ui/button.js";
|
|
7
|
+
import { withBasePath } from "../../../lib/base-path.js";
|
|
7
8
|
function AuthErrorPage() {
|
|
8
9
|
const searchParams = useSearchParams();
|
|
9
10
|
const t = useTranslations("auth.error");
|
|
@@ -31,7 +32,7 @@ function AuthErrorPage() {
|
|
|
31
32
|
asChild: true,
|
|
32
33
|
className: "w-full",
|
|
33
34
|
"data-cy": "auth-error-back-to-login",
|
|
34
|
-
children: /* @__PURE__ */ jsxs("a", { href: "/login", children: [
|
|
35
|
+
children: /* @__PURE__ */ jsxs("a", { href: withBasePath("/login"), children: [
|
|
35
36
|
/* @__PURE__ */ jsx(ArrowLeft, { className: "mr-2 h-4 w-4" }),
|
|
36
37
|
t("backToLogin")
|
|
37
38
|
] })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageBillingButton.d.ts","sourceRoot":"","sources":["../../../src/components/billing/ManageBillingButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ManageBillingButton.d.ts","sourceRoot":"","sources":["../../../src/components/billing/ManageBillingButton.tsx"],"names":[],"mappings":"AAUA,UAAU,wBAAwB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,EAAE,wBAAwB,2CA8D1E"}
|
|
@@ -6,6 +6,7 @@ import { CreditCard, ExternalLink, Loader2 } from "lucide-react";
|
|
|
6
6
|
import { Button } from "../ui/button.js";
|
|
7
7
|
import { useSubscription } from "../../hooks/useSubscription.js";
|
|
8
8
|
import { toast } from "sonner";
|
|
9
|
+
import { withBasePath } from "../../lib/base-path.js";
|
|
9
10
|
function ManageBillingButton({ className }) {
|
|
10
11
|
const t = useTranslations("billing.portal");
|
|
11
12
|
const { subscription } = useSubscription();
|
|
@@ -17,7 +18,7 @@ function ManageBillingButton({ className }) {
|
|
|
17
18
|
var _a;
|
|
18
19
|
setIsLoading(true);
|
|
19
20
|
try {
|
|
20
|
-
const response = await fetch("/api/v1/billing/portal", {
|
|
21
|
+
const response = await fetch(withBasePath("/api/v1/billing/portal"), {
|
|
21
22
|
method: "POST",
|
|
22
23
|
headers: { "Content-Type": "application/json" }
|
|
23
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-field.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/array-field.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"array-field.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/array-field.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAI5D,UAAU,eAAe;IACvB,KAAK,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CACrC;AAuDD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAkSrE"}
|
|
@@ -19,6 +19,7 @@ import { MediaLibrary } from "../../media/MediaLibrary.js";
|
|
|
19
19
|
import { Card, CardContent, CardHeader } from "../../ui/card.js";
|
|
20
20
|
import { ChevronUp, ChevronDown, Trash2, Plus, ImageIcon, X } from "lucide-react";
|
|
21
21
|
import { sel } from "../../../lib/test/index.js";
|
|
22
|
+
import { withBasePathIfInApp } from "../../../lib/base-path.js";
|
|
22
23
|
function ArrayMediaLibraryField({
|
|
23
24
|
value,
|
|
24
25
|
onChange,
|
|
@@ -33,7 +34,7 @@ function ArrayMediaLibraryField({
|
|
|
33
34
|
};
|
|
34
35
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
35
36
|
value ? /* @__PURE__ */ jsxs("div", { className: "relative group rounded-md overflow-hidden", children: [
|
|
36
|
-
/* @__PURE__ */ jsx("img", { src: value, alt: "", className: "w-full h-24 object-cover" }),
|
|
37
|
+
/* @__PURE__ */ jsx("img", { src: withBasePathIfInApp(value), alt: "", className: "w-full h-24 object-cover" }),
|
|
37
38
|
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center gap-2", children: [
|
|
38
39
|
/* @__PURE__ */ jsx(Button, { type: "button", variant: "secondary", size: "sm", onClick: () => setIsOpen(true), children: t("changeImage") }),
|
|
39
40
|
/* @__PURE__ */ jsx(Button, { type: "button", variant: "destructive", size: "sm", onClick: () => onChange(""), children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }) })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/block-picker.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;
|
|
1
|
+
{"version":3,"file":"block-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/block-picker.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AAwBxF,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,YAAY,EAAE,kBAAkB,CAAA;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5D,aAAa,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB,UAAU,EAAE,CAAC,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAA;IAChD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACzG,eAAe,EAAE,CAAC,MAAM,EAAE,CAAC,aAAa,GAAG,gBAAgB,CAAC,EAAE,KAAK,IAAI,CAAA;IACvE,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,eAAuB,EAEvB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAkB,GACnB,EAAE,gBAAgB,2CAkVlB"}
|
|
@@ -11,6 +11,7 @@ import { sel } from "../../../lib/test/index.js";
|
|
|
11
11
|
import { getCategoryConfig } from "./category-helpers.js";
|
|
12
12
|
import { TreeView } from "./tree-view.js";
|
|
13
13
|
import { PatternCard } from "./pattern-card.js";
|
|
14
|
+
import { withBasePath } from "../../../lib/base-path.js";
|
|
14
15
|
function getTeamId() {
|
|
15
16
|
if (typeof window !== "undefined") {
|
|
16
17
|
return localStorage.getItem("activeTeamId");
|
|
@@ -54,7 +55,7 @@ function BlockPicker({
|
|
|
54
55
|
const { data: patternsData, isLoading: patternsLoading } = useQuery({
|
|
55
56
|
queryKey: ["patterns", "published"],
|
|
56
57
|
queryFn: async () => {
|
|
57
|
-
const response = await fetch("/api/v1/patterns?status=published", {
|
|
58
|
+
const response = await fetch(withBasePath("/api/v1/patterns?status=published"), {
|
|
58
59
|
headers: buildApiHeaders()
|
|
59
60
|
});
|
|
60
61
|
if (!response.ok) throw new Error("Failed to fetch patterns");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-editor-view.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/builder-editor-view.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;
|
|
1
|
+
{"version":3,"file":"builder-editor-view.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/builder-editor-view.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AAyCxF,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,kBAAkB,CAAA;IAChC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC9D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,EAAE,sBAAsB,2CA85B7I"}
|
|
@@ -29,6 +29,7 @@ import { ConfigPanel } from "./config-panel.js";
|
|
|
29
29
|
import { useSidebar } from "../../../contexts/sidebar-context.js";
|
|
30
30
|
import { cn } from "../../../lib/utils/index.js";
|
|
31
31
|
import { isPatternReference } from "../../../types/pattern-reference.js";
|
|
32
|
+
import { withBasePath } from "../../../lib/base-path.js";
|
|
32
33
|
function getTeamId() {
|
|
33
34
|
if (typeof window !== "undefined") {
|
|
34
35
|
return localStorage.getItem("activeTeamId");
|
|
@@ -95,7 +96,7 @@ function BuilderEditorView({ entitySlug, entityConfig, id, mode, onEntityFieldCh
|
|
|
95
96
|
const { data: entityData, isLoading } = useQuery({
|
|
96
97
|
queryKey: [entitySlug, id],
|
|
97
98
|
queryFn: async () => {
|
|
98
|
-
const response = await fetch(`/api/v1/${entitySlug}/${id}
|
|
99
|
+
const response = await fetch(withBasePath(`/api/v1/${entitySlug}/${id}`), {
|
|
99
100
|
headers: buildApiHeaders()
|
|
100
101
|
});
|
|
101
102
|
if (!response.ok) throw new Error(`Failed to fetch ${entitySlug}`);
|
|
@@ -159,7 +160,7 @@ function BuilderEditorView({ entitySlug, entityConfig, id, mode, onEntityFieldCh
|
|
|
159
160
|
const saveMutation = useMutation({
|
|
160
161
|
mutationFn: async (data) => {
|
|
161
162
|
const url = mode === "create" ? `/api/v1/${entitySlug}` : `/api/v1/${entitySlug}/${id}`;
|
|
162
|
-
const response = await fetch(url, {
|
|
163
|
+
const response = await fetch(withBasePath(url), {
|
|
163
164
|
method: mode === "create" ? "POST" : "PATCH",
|
|
164
165
|
headers: buildApiHeaders(true),
|
|
165
166
|
body: JSON.stringify(data)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-panel.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/config-panel.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AACxF,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"config-panel.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/config-panel.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AACxF,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,uBAAuB,CAAA;AAkB1E,UAAU,gBAAgB;IACxB,YAAY,EAAE,kBAAkB,CAAA;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5D,YAAY,EAAE,YAAY,CAAA;IAC1B,oBAAoB,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;CACvD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAC1B,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACrB,EAAE,gBAAgB,2CA6elB"}
|
|
@@ -36,6 +36,7 @@ import {
|
|
|
36
36
|
SelectTrigger,
|
|
37
37
|
SelectValue
|
|
38
38
|
} from "../../ui/select.js";
|
|
39
|
+
import { withBasePath, withBasePathIfInApp } from "../../../lib/base-path.js";
|
|
39
40
|
function ConfigPanel({
|
|
40
41
|
entityConfig,
|
|
41
42
|
entityFields,
|
|
@@ -58,7 +59,7 @@ function ConfigPanel({
|
|
|
58
59
|
queryKey: ["taxonomies", taxonomyApiPath],
|
|
59
60
|
queryFn: async () => {
|
|
60
61
|
if (!taxonomyApiPath) return { data: [] };
|
|
61
|
-
const response = await fetch(`/api/v1/${taxonomyApiPath}`);
|
|
62
|
+
const response = await fetch(withBasePath(`/api/v1/${taxonomyApiPath}`));
|
|
62
63
|
if (!response.ok) return { data: [] };
|
|
63
64
|
return response.json();
|
|
64
65
|
},
|
|
@@ -154,7 +155,7 @@ function ConfigPanel({
|
|
|
154
155
|
value && /* @__PURE__ */ jsx("div", { className: "mt-2 rounded-md border overflow-hidden", children: /* @__PURE__ */ jsx(
|
|
155
156
|
"img",
|
|
156
157
|
{
|
|
157
|
-
src: value,
|
|
158
|
+
src: withBasePathIfInApp(value),
|
|
158
159
|
alt: fieldLabel,
|
|
159
160
|
className: "w-full h-32 object-cover",
|
|
160
161
|
onError: (e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-form.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/dynamic-form.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"dynamic-form.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/dynamic-form.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,uBAAuB,CAAA;AAKtE,UAAU,gBAAgB;IACxB,gBAAgB,EAAE,eAAe,EAAE,CAAA;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CACpD;AA+RD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAodnF"}
|
|
@@ -28,6 +28,7 @@ import { format } from "date-fns";
|
|
|
28
28
|
import { ArrayField } from "./array-field.js";
|
|
29
29
|
import { fetchWithTeam } from "../../../lib/api/entities.js";
|
|
30
30
|
import { resolveMediaUrl } from "../../../types/blocks.js";
|
|
31
|
+
import { withBasePathIfInApp } from "../../../lib/base-path.js";
|
|
31
32
|
function evaluateCondition(condition, values) {
|
|
32
33
|
if (!condition) return true;
|
|
33
34
|
const fieldValue = values[condition.field];
|
|
@@ -88,7 +89,7 @@ function MediaLibraryField({
|
|
|
88
89
|
className: "relative group rounded-md overflow-hidden",
|
|
89
90
|
"data-cy": sel("blockEditor.blockPropertiesPanel.form.mediaField.preview", { name: fieldName }),
|
|
90
91
|
children: [
|
|
91
|
-
/* @__PURE__ */ jsx("img", { src: displayUrl, alt: "", className: "w-full h-40 object-cover" }),
|
|
92
|
+
/* @__PURE__ */ jsx("img", { src: withBasePathIfInApp(displayUrl), alt: "", className: "w-full h-40 object-cover" }),
|
|
92
93
|
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center gap-2", children: [
|
|
93
94
|
/* @__PURE__ */ jsx(
|
|
94
95
|
Button,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-fields-sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/entity-fields-sidebar.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;
|
|
1
|
+
{"version":3,"file":"entity-fields-sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/entity-fields-sidebar.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AAkBxF,UAAU,wBAAwB;IAChC,YAAY,EAAE,kBAAkB,CAAA;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CAChD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,kBAAuB,EACvB,gBAAgB,EACjB,EAAE,wBAAwB,2CAmS1B"}
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
SelectTrigger,
|
|
19
19
|
SelectValue
|
|
20
20
|
} from "../../ui/select.js";
|
|
21
|
+
import { withBasePath, withBasePathIfInApp } from "../../../lib/base-path.js";
|
|
21
22
|
function EntityFieldsSidebar({
|
|
22
23
|
entityConfig,
|
|
23
24
|
fields,
|
|
@@ -36,7 +37,7 @@ function EntityFieldsSidebar({
|
|
|
36
37
|
queryKey: ["taxonomies", taxonomyApiPath],
|
|
37
38
|
queryFn: async () => {
|
|
38
39
|
if (!taxonomyApiPath) return { data: [] };
|
|
39
|
-
const response = await fetch(`/api/v1/${taxonomyApiPath}`);
|
|
40
|
+
const response = await fetch(withBasePath(`/api/v1/${taxonomyApiPath}`));
|
|
40
41
|
if (!response.ok) return { data: [] };
|
|
41
42
|
return response.json();
|
|
42
43
|
},
|
|
@@ -147,7 +148,7 @@ function EntityFieldsSidebar({
|
|
|
147
148
|
value && /* @__PURE__ */ jsx("div", { className: "mt-2 rounded-md border overflow-hidden", children: /* @__PURE__ */ jsx(
|
|
148
149
|
"img",
|
|
149
150
|
{
|
|
150
|
-
src: value,
|
|
151
|
+
src: withBasePathIfInApp(value),
|
|
151
152
|
alt: fieldLabel,
|
|
152
153
|
className: "w-full h-32 object-cover",
|
|
153
154
|
onError: (e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern-reference-preview.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/pattern-reference-preview.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"pattern-reference-preview.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/pattern-reference-preview.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAKxE,UAAU,4BAA4B;IACpC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AA8CD,wBAAgB,uBAAuB,CAAC,EACtC,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,EAAE,4BAA4B,2CAoJ9B"}
|
|
@@ -9,6 +9,7 @@ import { Button } from "../../ui/button.js";
|
|
|
9
9
|
import { cn } from "../../../lib/utils/index.js";
|
|
10
10
|
import { sel } from "../../../lib/test/index.js";
|
|
11
11
|
import { getBlockComponent, normalizeBlockProps } from "../../../lib/blocks/loader.js";
|
|
12
|
+
import { withBasePath } from "../../../lib/base-path.js";
|
|
12
13
|
function PatternLoadingSkeleton() {
|
|
13
14
|
return /* @__PURE__ */ jsx("div", { className: "w-full py-12 px-4 animate-pulse bg-muted/20 border-2 border-dashed border-muted-foreground/30 rounded-lg", children: /* @__PURE__ */ jsxs("div", { className: "max-w-7xl mx-auto", children: [
|
|
14
15
|
/* @__PURE__ */ jsx("div", { className: "h-8 bg-muted rounded w-3/4 mb-4" }),
|
|
@@ -48,7 +49,7 @@ function PatternReferencePreview({
|
|
|
48
49
|
const { data: patternData, isLoading, isError } = useQuery({
|
|
49
50
|
queryKey: ["patterns", patternRef.ref],
|
|
50
51
|
queryFn: async () => {
|
|
51
|
-
const response = await fetch(`/api/v1/patterns/${patternRef.ref}
|
|
52
|
+
const response = await fetch(withBasePath(`/api/v1/patterns/${patternRef.ref}`), {
|
|
52
53
|
headers: buildApiHeaders()
|
|
53
54
|
});
|
|
54
55
|
if (!response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopNavbar.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/layouts/TopNavbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TopNavbar.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/layouts/TopNavbar.tsx"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAEnF,UAAU,cAAc;IACtB,QAAQ,EAAE,wBAAwB,EAAE,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,2CA6pBhE"}
|
|
@@ -21,6 +21,7 @@ import { NotificationsDropdown } from "../misc/NotificationsDropdown.js";
|
|
|
21
21
|
import { SearchDropdown } from "../misc/SearchDropdown.js";
|
|
22
22
|
import { QuickCreateDropdown } from "../misc/QuickCreateDropdown.js";
|
|
23
23
|
import { cn } from "../../../lib/utils/index.js";
|
|
24
|
+
import { withBasePathIfInApp } from "../../../lib/base-path.js";
|
|
24
25
|
import { sel } from "../../../lib/test/index.js";
|
|
25
26
|
import { useTranslations } from "next-intl";
|
|
26
27
|
import { useIsSuperAdmin } from "../../app/guards/SuperAdminGuard.js";
|
|
@@ -332,7 +333,7 @@ function TopNavbar({ entities, className }) {
|
|
|
332
333
|
user.image ? /* @__PURE__ */ jsx(
|
|
333
334
|
Image,
|
|
334
335
|
{
|
|
335
|
-
src: user.image,
|
|
336
|
+
src: withBasePathIfInApp(user.image),
|
|
336
337
|
alt: "",
|
|
337
338
|
width: 32,
|
|
338
339
|
height: 32,
|
|
@@ -428,7 +429,7 @@ function TopNavbar({ entities, className }) {
|
|
|
428
429
|
user.image ? /* @__PURE__ */ jsx(
|
|
429
430
|
Image,
|
|
430
431
|
{
|
|
431
|
-
src: user.image,
|
|
432
|
+
src: withBasePathIfInApp(user.image),
|
|
432
433
|
alt: t("a11y.avatarForName", { name: user.firstName || user.email }),
|
|
433
434
|
width: 32,
|
|
434
435
|
height: 32,
|
|
@@ -582,7 +583,7 @@ function TopNavbar({ entities, className }) {
|
|
|
582
583
|
user.image ? /* @__PURE__ */ jsx(
|
|
583
584
|
Image,
|
|
584
585
|
{
|
|
585
|
-
src: user.image,
|
|
586
|
+
src: withBasePathIfInApp(user.image),
|
|
586
587
|
alt: "",
|
|
587
588
|
width: 32,
|
|
588
589
|
height: 32,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/misc/SearchDropdown.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SearchDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/misc/SearchDropdown.tsx"],"names":[],"mappings":"AAkLA,wBAAgB,cAAc,4CAmN7B"}
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
} from "lucide-react";
|
|
18
18
|
import { useEntitySearch } from "../../../hooks/useEntitySearch.js";
|
|
19
19
|
import { formatSearchResult, escapeHtml } from "../../../lib/search-highlighting.js";
|
|
20
|
+
import { withBasePath } from "../../../lib/base-path.js";
|
|
20
21
|
import { cn } from "../../../lib/utils/index.js";
|
|
21
22
|
import { sel, createAriaLabel } from "../../../lib/test/index.js";
|
|
22
23
|
import { useTranslations } from "next-intl";
|
|
@@ -198,7 +199,7 @@ function SearchDropdown() {
|
|
|
198
199
|
break;
|
|
199
200
|
case "Enter":
|
|
200
201
|
if (selectedIndex >= 0 && results[selectedIndex]) {
|
|
201
|
-
window.location.href = results[selectedIndex].url;
|
|
202
|
+
window.location.href = withBasePath(results[selectedIndex].url);
|
|
202
203
|
handleClose();
|
|
203
204
|
}
|
|
204
205
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileTopBar.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/mobile/MobileTopBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MobileTopBar.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/mobile/MobileTopBar.tsx"],"names":[],"mappings":"AAcA,UAAU,iBAAiB;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAE,iBAAsB,2CA8FhE"}
|
|
@@ -7,6 +7,7 @@ import { ThemeToggle } from "../../app/misc/ThemeToggle.js";
|
|
|
7
7
|
import { NotificationsDropdown } from "../misc/NotificationsDropdown.js";
|
|
8
8
|
import { sel } from "../../../lib/test/index.js";
|
|
9
9
|
import { isTopbarFeatureEnabled } from "../../../lib/config/index.js";
|
|
10
|
+
import { withBasePathIfInApp } from "../../../lib/base-path.js";
|
|
10
11
|
import { useTranslations } from "next-intl";
|
|
11
12
|
function MobileTopBar({ prefetch } = {}) {
|
|
12
13
|
const { user } = useAuth();
|
|
@@ -58,7 +59,7 @@ function MobileTopBar({ prefetch } = {}) {
|
|
|
58
59
|
user.image ? /* @__PURE__ */ jsx(
|
|
59
60
|
Image,
|
|
60
61
|
{
|
|
61
|
-
src: user.image,
|
|
62
|
+
src: withBasePathIfInApp(user.image),
|
|
62
63
|
alt: "",
|
|
63
64
|
width: 40,
|
|
64
65
|
height: 40,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockDetailViewer.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/BlockDetailViewer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BlockDetailViewer.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/BlockDetailViewer.tsx"],"names":[],"mappings":"AAyBA,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAsCD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,sBAAsB,2CAsYjE"}
|
|
@@ -20,6 +20,7 @@ import { BLOCK_REGISTRY } from "@nextsparkjs/registries/block-registry.client";
|
|
|
20
20
|
import { TAGS_REGISTRY } from "@nextsparkjs/registries/testing-registry";
|
|
21
21
|
import { getBlockComponent } from "../../lib/blocks/loader.js";
|
|
22
22
|
import { sel } from "../../lib/test/index.js";
|
|
23
|
+
import { withBasePathIfInApp } from "../../lib/base-path.js";
|
|
23
24
|
const CATEGORY_COLORS = {
|
|
24
25
|
hero: "bg-violet-100 text-violet-800 dark:bg-violet-900 dark:text-violet-300",
|
|
25
26
|
content: "bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-300",
|
|
@@ -107,7 +108,7 @@ function BlockDetailViewer({ slug }) {
|
|
|
107
108
|
/* @__PURE__ */ jsx("div", { className: "w-32 h-24 bg-muted rounded-lg flex items-center justify-center overflow-hidden flex-shrink-0", children: block.thumbnail ? /* @__PURE__ */ jsx(
|
|
108
109
|
"img",
|
|
109
110
|
{
|
|
110
|
-
src: block.thumbnail,
|
|
111
|
+
src: withBasePathIfInApp(block.thumbnail),
|
|
111
112
|
alt: block.name,
|
|
112
113
|
className: "w-full h-full object-cover"
|
|
113
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlocksViewer.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/BlocksViewer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BlocksViewer.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/BlocksViewer.tsx"],"names":[],"mappings":"AAmCA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,4CAqR3B"}
|
|
@@ -11,6 +11,7 @@ import { useTranslations } from "next-intl";
|
|
|
11
11
|
import { BLOCK_REGISTRY } from "@nextsparkjs/registries/block-registry.client";
|
|
12
12
|
import { TAGS_REGISTRY } from "@nextsparkjs/registries/testing-registry";
|
|
13
13
|
import { sel } from "../../lib/test/index.js";
|
|
14
|
+
import { withBasePathIfInApp } from "../../lib/base-path.js";
|
|
14
15
|
const CATEGORY_COLORS = {
|
|
15
16
|
hero: "bg-violet-100 text-violet-800 dark:bg-violet-900 dark:text-violet-300",
|
|
16
17
|
content: "bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-300",
|
|
@@ -175,7 +176,7 @@ function BlocksViewer() {
|
|
|
175
176
|
/* @__PURE__ */ jsx("div", { className: "h-32 bg-muted flex items-center justify-center rounded-t-lg overflow-hidden", children: block.thumbnail ? /* @__PURE__ */ jsx(
|
|
176
177
|
"img",
|
|
177
178
|
{
|
|
178
|
-
src: block.thumbnail,
|
|
179
|
+
src: withBasePathIfInApp(block.thumbnail),
|
|
179
180
|
alt: block.name,
|
|
180
181
|
className: "w-full h-full object-cover"
|
|
181
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigViewer.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/ConfigViewer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfigViewer.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/ConfigViewer.tsx"],"names":[],"mappings":"AA+GA;;;;;;;;;GASG;AACH,wBAAgB,YAAY,4CAiM3B"}
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
import { codeToHtml } from "shiki";
|
|
15
15
|
import { useTranslations } from "next-intl";
|
|
16
16
|
import { sel } from "../../lib/test/index.js";
|
|
17
|
+
import { withBasePath } from "../../lib/base-path.js";
|
|
17
18
|
const JsonViewer = memo(function JsonViewer2({ data, fontSize = "0.875rem" }) {
|
|
18
19
|
const [html, setHtml] = useState("");
|
|
19
20
|
const [isLoading, setIsLoading] = useState(true);
|
|
@@ -79,7 +80,7 @@ function ConfigViewer() {
|
|
|
79
80
|
async function loadThemeConfig() {
|
|
80
81
|
try {
|
|
81
82
|
setIsLoadingTheme(true);
|
|
82
|
-
const response = await fetch("/api/devtools/config/theme");
|
|
83
|
+
const response = await fetch(withBasePath("/api/devtools/config/theme"));
|
|
83
84
|
const data = await response.json();
|
|
84
85
|
if (!response.ok) {
|
|
85
86
|
throw new Error(data.error || "Failed to load theme config");
|
|
@@ -97,7 +98,7 @@ function ConfigViewer() {
|
|
|
97
98
|
async function loadEntities() {
|
|
98
99
|
try {
|
|
99
100
|
setIsLoadingEntities(true);
|
|
100
|
-
const response = await fetch("/api/devtools/config/entities");
|
|
101
|
+
const response = await fetch(withBasePath("/api/devtools/config/entities"));
|
|
101
102
|
const data = await response.json();
|
|
102
103
|
if (!response.ok) {
|
|
103
104
|
throw new Error(data.error || "Failed to load entities");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCasesViewer.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/TestCasesViewer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TestCasesViewer.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/TestCasesViewer.tsx"],"names":[],"mappings":"AA4BA,UAAU,oBAAoB;IAC5B,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,EAAE,oBAAoB,2CAkOpE"}
|
|
@@ -18,6 +18,7 @@ import { Button } from "../ui/button.js";
|
|
|
18
18
|
import { Loader2, FileText, AlertCircle, ArrowLeft, LayoutDashboard } from "lucide-react";
|
|
19
19
|
import { useTranslations } from "next-intl";
|
|
20
20
|
import { useTreeNavigation } from "../../hooks/useTreeNavigation.js";
|
|
21
|
+
import { withBasePath } from "../../lib/base-path.js";
|
|
21
22
|
function pathExistsInTree(tree, path) {
|
|
22
23
|
for (const node of tree) {
|
|
23
24
|
if (node.path === path) {
|
|
@@ -51,7 +52,7 @@ function TestCasesViewer({ initialPath }) {
|
|
|
51
52
|
async function loadTree() {
|
|
52
53
|
try {
|
|
53
54
|
setIsLoadingTree(true);
|
|
54
|
-
const response = await fetch("/api/devtools/tests");
|
|
55
|
+
const response = await fetch(withBasePath("/api/devtools/tests"));
|
|
55
56
|
const data = await response.json();
|
|
56
57
|
if (!response.ok) {
|
|
57
58
|
throw new Error(data.error || "Failed to load test files");
|
|
@@ -74,7 +75,7 @@ function TestCasesViewer({ initialPath }) {
|
|
|
74
75
|
setIsLoadingFile(true);
|
|
75
76
|
setError(null);
|
|
76
77
|
try {
|
|
77
|
-
const response = await fetch(`/api/devtools/tests/${selectedPath}`);
|
|
78
|
+
const response = await fetch(withBasePath(`/api/devtools/tests/${selectedPath}`));
|
|
78
79
|
const data = await response.json();
|
|
79
80
|
if (!response.ok) {
|
|
80
81
|
throw new Error(data.error || "Failed to load file");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCoverageDashboard.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/TestCoverageDashboard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TestCoverageDashboard.d.ts","sourceRoot":"","sources":["../../../src/components/devtools/TestCoverageDashboard.tsx"],"names":[],"mappings":"AA8GA,wBAAgB,qBAAqB,4CA+NpC"}
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
Loader2
|
|
16
16
|
} from "lucide-react";
|
|
17
17
|
import { sel } from "../../lib/test/index.js";
|
|
18
|
+
import { withBasePath } from "../../lib/base-path.js";
|
|
18
19
|
function StatCard({ icon, label, value, percentage, dataCy, subtext }) {
|
|
19
20
|
return /* @__PURE__ */ jsx(Card, { "data-cy": dataCy, children: /* @__PURE__ */ jsxs(CardContent, { className: "p-4", children: [
|
|
20
21
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
@@ -52,7 +53,7 @@ function TestCoverageDashboard() {
|
|
|
52
53
|
useEffect(() => {
|
|
53
54
|
async function fetchCoverage() {
|
|
54
55
|
try {
|
|
55
|
-
const response = await fetch("/api/v1/devtools/testing");
|
|
56
|
+
const response = await fetch(withBasePath("/api/v1/devtools/testing"));
|
|
56
57
|
const json = await response.json();
|
|
57
58
|
if (!response.ok) throw new Error(json.error || "Failed to load coverage data");
|
|
58
59
|
setData(json);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiDocsModal.d.ts","sourceRoot":"","sources":["../../../../src/components/devtools/api-explorer/ApiDocsModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ApiDocsModal.d.ts","sourceRoot":"","sources":["../../../../src/components/devtools/api-explorer/ApiDocsModal.tsx"],"names":[],"mappings":"AAiBA,UAAU,iBAAiB;IACzB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CAwEjE"}
|