sitero 0.5.0 → 0.7.0
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/export/cms/client/components/index.js +6 -2
- package/dist/export/cms/client/index.js +2 -0
- package/dist/export/cms/client/pages/index.js +1 -3
- package/dist/export/cms/server/index.js +1 -0
- package/dist/export/core/server/index.js +2 -0
- package/dist/export/index.js +1 -0
- package/dist/export/web/server/index.js +1 -0
- package/dist/prisma/generated/internal/class.js +4 -4
- package/dist/src/cms/client/applications/create-applications.js +5 -0
- package/dist/src/cms/client/applications/resources/page/form-data.js +56 -0
- package/dist/src/cms/client/applications/resources/page/use-page-update-form-data.js +30 -0
- package/dist/src/cms/client/applications/resources/post/use-create-form-data.js +5 -5
- package/dist/src/cms/client/applications/resources/post/use-update-form-data.js +1 -1
- package/dist/src/cms/client/applications/resources/seo-metadata/build-seo-metadata-translations.js +35 -0
- package/dist/src/cms/client/applications/resources/seo-metadata/use-upsert-form-data.js +15 -31
- package/dist/src/cms/client/applications/ui/use-nav-items.js +28 -39
- package/dist/src/cms/client/infrastructure/i18n/messages/en-US/resources/file.js +5 -4
- package/dist/src/cms/client/infrastructure/i18n/messages/en-US/resources/index.js +7 -0
- package/dist/src/cms/client/infrastructure/i18n/messages/en-US/resources/post.js +32 -1
- package/dist/src/cms/client/infrastructure/i18n/messages/en-US/ui/index.js +8 -1
- package/dist/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/file.js +6 -5
- package/dist/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/index.js +7 -0
- package/dist/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/post.js +18 -1
- package/dist/src/cms/client/infrastructure/i18n/messages/zh-TW/ui/index.js +7 -2
- package/dist/src/cms/client/infrastructure/operation-result/presentation/message.js +15 -0
- package/dist/src/cms/client/interfaces/components/create-components.js +4 -8
- package/dist/src/cms/client/interfaces/components/create-page-contents.js +28 -0
- package/dist/src/cms/client/interfaces/components/resources/page/content/field-groups.js +16 -0
- package/dist/src/cms/client/interfaces/components/resources/page/content/page-edit-content.js +216 -0
- package/dist/src/cms/client/interfaces/components/resources/page/content/page-show-content.js +114 -0
- package/dist/src/cms/client/interfaces/components/resources/page/content/types.js +12 -0
- package/dist/src/cms/client/interfaces/components/resources/post/category/category-card.js +5 -3
- package/dist/src/cms/client/interfaces/components/resources/post/category/category-table.js +6 -4
- package/dist/src/cms/client/interfaces/components/resources/post/content/post-create-content.js +13 -8
- package/dist/src/cms/client/interfaces/components/resources/post/content/post-edit-content.js +11 -7
- package/dist/src/cms/client/interfaces/components/resources/post/content/post-show-content.js +7 -2
- package/dist/src/cms/client/interfaces/components/resources/post/post-card.js +5 -3
- package/dist/src/cms/client/interfaces/components/resources/post/post-list.js +45 -10
- package/dist/src/cms/client/interfaces/components/resources/post/post-state-icons.js +17 -1
- package/dist/src/cms/client/interfaces/components/resources/post/post-table.js +8 -4
- package/dist/src/cms/client/interfaces/components/resources/post/search/control-fields-filters.js +5 -1
- package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/seo-form.js +90 -67
- package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-metadata-dialog.js +11 -1
- package/dist/src/cms/client/interfaces/components/ui/blocks/list-container/list-container.js +1 -1
- package/dist/src/cms/client/interfaces/components/ui/blocks/list-container/pagination.js +9 -9
- package/dist/src/cms/client/interfaces/components/ui/features/accordion/accordion-header.js +15 -3
- package/dist/src/cms/client/interfaces/components/ui/features/accordion/accordion.js +5 -7
- package/dist/src/cms/client/interfaces/components/ui/form/control-fields/control-fields-display.js +1 -1
- package/dist/src/cms/client/interfaces/components/ui/form/control-fields/control-fields-input.js +1 -1
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/_id_/edit/page.js +11 -11
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/_id_/page.js +12 -16
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/_id_/relations/page.js +6 -2
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/create/page.js +15 -16
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/page.js +18 -41
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/_id_/edit/page.js +10 -11
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/_id_/page.js +11 -16
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/_id_/relations/page.js +1 -0
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/create/page.js +14 -16
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/_id_/edit/page.js +11 -11
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/_id_/page.js +12 -16
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/_id_/relations/page.js +1 -0
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/create/page.js +15 -16
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/page.js +18 -32
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/_id_/edit/page.js +2 -2
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/_id_/page.js +9 -9
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/_id_/relations/page.js +6 -2
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/create/page.js +2 -2
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/trash/page.js +204 -0
- package/dist/src/cms/client/interfaces/pages/dashboard/system/access/admin/_id_/admin-refresh-token/page.js +1 -0
- package/dist/src/cms/client/interfaces/pages/dashboard/system/access/admin/_id_/page.js +1 -0
- package/dist/src/cms/client/interfaces/pages/dashboard/system/access/admin/_id_/relations/page.js +8 -3
- package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/_id_/page.js +3 -2
- package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/_id_/relations/page.js +41 -30
- package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/delete-many/page.js +3 -3
- package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/page.js +1 -1
- package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/trash/page.js +3 -2
- package/dist/src/cms/client/interfaces/pages/dashboard/website/website-page/_slug_/edit/page.js +19 -11
- package/dist/src/cms/client/interfaces/pages/dashboard/website/website-page/_slug_/page.js +23 -10
- package/dist/src/cms/client/interfaces/pages/dashboard/website/website-page/page.js +7 -7
- package/dist/src/cms/server/create-cms-server.js +2 -0
- package/dist/src/cms/server/resources/page/actions.js +31 -0
- package/dist/src/cms/server/resources/post/actions.js +27 -6
- package/dist/src/cms/server/resources/seo-metadata/actions.js +7 -16
- package/dist/src/config/content-ui.js +24 -0
- package/dist/src/config/topics.js +1 -1
- package/dist/src/constants/paths/cms-paths.js +2 -2
- package/dist/src/core/infrastructure/prisma/file/include.js +44 -0
- package/dist/src/core/infrastructure/prisma/file/mappers.js +51 -3
- package/dist/src/core/infrastructure/prisma/helpers/active-file-references.js +2 -1
- package/dist/src/core/infrastructure/prisma/page/include.js +20 -0
- package/dist/src/core/infrastructure/prisma/page/mappers.js +44 -0
- package/dist/src/core/infrastructure/prisma/page/page-prisma-ports.js +91 -0
- package/dist/src/core/infrastructure/prisma/post/include.js +10 -10
- package/dist/src/core/infrastructure/prisma/post/lifecycle.js +108 -0
- package/dist/src/core/infrastructure/prisma/post/mappers.js +9 -6
- package/dist/src/core/infrastructure/prisma/post/post-prisma-ports.js +76 -24
- package/dist/src/core/infrastructure/prisma/post/read-scope.js +45 -0
- package/dist/src/core/infrastructure/prisma/seo-metadata/mappers.js +6 -1
- package/dist/src/core/infrastructure/prisma/seo-metadata/seo-metadata-prisma-ports.js +32 -11
- package/dist/src/core/seeders/page/seeder.js +9 -29
- package/dist/src/core/seeders/seed.js +0 -3
- package/dist/src/core/sitero-server/create-sitero-server.js +10 -0
- package/dist/src/web/server/create-web-server.js +5 -1
- package/dist/src/web/server/resources/page/actions.js +20 -0
- package/dist/src/web/server/resources/post/actions.js +7 -37
- package/dist/src/web/server/seo/sitemap/get-page-items.js +7 -6
- package/dist/src/web/server/seo/sitemap/get-post-items.js +2 -2
- package/dist/src/web/server/seo/sitemap/get-subcategory-items.js +1 -1
- package/dist/types/export/cms/client/components/index.d.ts +3 -0
- package/dist/types/export/cms/client/components/index.d.ts.map +1 -1
- package/dist/types/export/cms/client/index.d.ts +2 -0
- package/dist/types/export/cms/client/index.d.ts.map +1 -1
- package/dist/types/export/cms/client/pages/index.d.ts +2 -1
- package/dist/types/export/cms/client/pages/index.d.ts.map +1 -1
- package/dist/types/export/cms/server/index.d.ts +2 -1
- package/dist/types/export/cms/server/index.d.ts.map +1 -1
- package/dist/types/export/index.d.ts +1 -1
- package/dist/types/export/index.d.ts.map +1 -1
- package/dist/types/export/web/server/index.d.ts +2 -1
- package/dist/types/export/web/server/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/applications/create-applications.d.ts.map +1 -1
- package/dist/types/src/cms/client/applications/index.d.ts +1 -0
- package/dist/types/src/cms/client/applications/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/applications/resources/index.d.ts +1 -0
- package/dist/types/src/cms/client/applications/resources/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/applications/resources/page/form-data.d.ts +21 -0
- package/dist/types/src/cms/client/applications/resources/page/form-data.d.ts.map +1 -0
- package/dist/types/src/cms/client/applications/resources/page/index.d.ts +3 -0
- package/dist/types/src/cms/client/applications/resources/page/index.d.ts.map +1 -0
- package/dist/types/src/cms/client/applications/resources/page/use-page-update-form-data.d.ts +12 -0
- package/dist/types/src/cms/client/applications/resources/page/use-page-update-form-data.d.ts.map +1 -0
- package/dist/types/src/cms/client/applications/resources/post/use-create-form-data.d.ts +3 -5
- package/dist/types/src/cms/client/applications/resources/post/use-create-form-data.d.ts.map +1 -1
- package/dist/types/src/cms/client/applications/resources/post/use-update-form-data.d.ts.map +1 -1
- package/dist/types/src/cms/client/applications/resources/seo-metadata/build-seo-metadata-translations.d.ts +6 -0
- package/dist/types/src/cms/client/applications/resources/seo-metadata/build-seo-metadata-translations.d.ts.map +1 -0
- package/dist/types/src/cms/client/applications/resources/seo-metadata/use-upsert-form-data.d.ts +5 -4
- package/dist/types/src/cms/client/applications/resources/seo-metadata/use-upsert-form-data.d.ts.map +1 -1
- package/dist/types/src/cms/client/applications/types.d.ts +2 -1
- package/dist/types/src/cms/client/applications/types.d.ts.map +1 -1
- package/dist/types/src/cms/client/applications/ui/use-nav-items.d.ts +3 -4
- package/dist/types/src/cms/client/applications/ui/use-nav-items.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/index.d.ts +86 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/file.d.ts +3 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/file.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/index.d.ts +71 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/post.d.ts +51 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/post.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/ui/index.d.ts +15 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/ui/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/index.d.ts +172 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/index.d.ts +86 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/file.d.ts +3 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/file.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/index.d.ts +71 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/post.d.ts +51 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/post.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/ui/index.d.ts +15 -0
- package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/ui/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/infrastructure/operation-result/presentation/message.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/create-components.d.ts +6 -3
- package/dist/types/src/cms/client/interfaces/components/create-components.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/create-page-contents.d.ts +30 -0
- package/dist/types/src/cms/client/interfaces/components/create-page-contents.d.ts.map +1 -0
- package/dist/types/src/cms/client/interfaces/components/resources/index.d.ts +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/index.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/page/content/field-groups.d.ts +3 -0
- package/dist/types/src/cms/client/interfaces/components/resources/page/content/field-groups.d.ts.map +1 -0
- package/dist/types/src/cms/client/interfaces/components/resources/page/content/page-edit-content.d.ts +14 -0
- package/dist/types/src/cms/client/interfaces/components/resources/page/content/page-edit-content.d.ts.map +1 -0
- package/dist/types/src/cms/client/interfaces/components/resources/page/content/page-show-content.d.ts +7 -0
- package/dist/types/src/cms/client/interfaces/components/resources/page/content/page-show-content.d.ts.map +1 -0
- package/dist/types/src/cms/client/interfaces/components/resources/page/content/types.d.ts +27 -0
- package/dist/types/src/cms/client/interfaces/components/resources/page/content/types.d.ts.map +1 -0
- package/dist/types/src/cms/client/interfaces/components/resources/page/index.d.ts +4 -0
- package/dist/types/src/cms/client/interfaces/components/resources/page/index.d.ts.map +1 -0
- package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-card.d.ts +3 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-card.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-table.d.ts +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-table.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-create-content.d.ts +3 -5
- package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-create-content.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-edit-content.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-show-content.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/content/types.d.ts +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/content/types.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/post-card.d.ts +3 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/post-card.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/post-list.d.ts +6 -3
- package/dist/types/src/cms/client/interfaces/components/resources/post/post-list.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/post-state-icons.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/post-table.d.ts +3 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/post-table.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/search/control-fields-filters.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/seo-form.d.ts +5 -2
- package/dist/types/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/seo-form.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/resources/seo-metadata/seo-metadata-dialog.d.ts +2 -1
- package/dist/types/src/cms/client/interfaces/components/resources/seo-metadata/seo-metadata-dialog.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/ui/blocks/list-container/list-container.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/ui/features/accordion/accordion-header.d.ts +3 -1
- package/dist/types/src/cms/client/interfaces/components/ui/features/accordion/accordion-header.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/ui/features/accordion/accordion.d.ts +2 -1
- package/dist/types/src/cms/client/interfaces/components/ui/features/accordion/accordion.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/ui/form/control-fields/control-fields-display.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/components/ui/form/control-fields/control-fields-input.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/edit/page.d.ts +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/edit/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/page.d.ts +3 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/relations/page.d.ts +3 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/relations/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/create/page.d.ts +4 -7
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/create/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/page.d.ts +1 -4
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/edit/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/relations/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/create/page.d.ts +4 -7
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/create/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/edit/page.d.ts +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/edit/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/page.d.ts +3 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/relations/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/create/page.d.ts +4 -7
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/create/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/page.d.ts +1 -3
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/relations/page.d.ts +3 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/relations/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/trash/index.d.ts +2 -0
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/trash/index.d.ts.map +1 -0
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/trash/page.d.ts +18 -0
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/trash/page.d.ts.map +1 -0
- package/dist/types/src/cms/client/interfaces/pages/dashboard/system/access/admin/[id]/relations/page.d.ts +3 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/system/access/admin/[id]/relations/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/system/storage/file/[id]/relations/page.d.ts +5 -6
- package/dist/types/src/cms/client/interfaces/pages/dashboard/system/storage/file/[id]/relations/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/system/storage/trash/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/website/website-page/[slug]/edit/page.d.ts +7 -9
- package/dist/types/src/cms/client/interfaces/pages/dashboard/website/website-page/[slug]/edit/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/website/website-page/[slug]/page.d.ts +7 -9
- package/dist/types/src/cms/client/interfaces/pages/dashboard/website/website-page/[slug]/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/website/website-page/page.d.ts +3 -3
- package/dist/types/src/cms/client/interfaces/pages/dashboard/website/website-page/page.d.ts.map +1 -1
- package/dist/types/src/cms/client/interfaces/pages/index.d.ts +1 -1
- package/dist/types/src/cms/client/interfaces/pages/index.d.ts.map +1 -1
- package/dist/types/src/cms/contracts/resources/page/actions.d.ts +7 -0
- package/dist/types/src/cms/contracts/resources/page/actions.d.ts.map +1 -0
- package/dist/types/src/cms/contracts/resources/post/actions.d.ts +2 -0
- package/dist/types/src/cms/contracts/resources/post/actions.d.ts.map +1 -1
- package/dist/types/src/cms/contracts/resources/post/form-data.d.ts +1 -1
- package/dist/types/src/cms/contracts/resources/post/form-data.d.ts.map +1 -1
- package/dist/types/src/cms/contracts/resources/seo-metadata/form-data.d.ts +2 -2
- package/dist/types/src/cms/contracts/resources/seo-metadata/form-data.d.ts.map +1 -1
- package/dist/types/src/cms/server/create-cms-server.d.ts +7 -0
- package/dist/types/src/cms/server/create-cms-server.d.ts.map +1 -1
- package/dist/types/src/cms/server/index.d.ts +1 -1
- package/dist/types/src/cms/server/index.d.ts.map +1 -1
- package/dist/types/src/cms/server/resources/index.d.ts +1 -0
- package/dist/types/src/cms/server/resources/index.d.ts.map +1 -1
- package/dist/types/src/cms/server/resources/page/actions.d.ts +8 -0
- package/dist/types/src/cms/server/resources/page/actions.d.ts.map +1 -0
- package/dist/types/src/cms/server/resources/post/actions.d.ts +2 -0
- package/dist/types/src/cms/server/resources/post/actions.d.ts.map +1 -1
- package/dist/types/src/cms/server/resources/seo-metadata/actions.d.ts.map +1 -1
- package/dist/types/src/config/content-ui.d.ts +14 -0
- package/dist/types/src/config/content-ui.d.ts.map +1 -0
- package/dist/types/src/config/index.d.ts +2 -0
- package/dist/types/src/config/index.d.ts.map +1 -1
- package/dist/types/src/config/page.d.ts +4 -0
- package/dist/types/src/config/page.d.ts.map +1 -0
- package/dist/types/src/config/topics.d.ts +2 -2
- package/dist/types/src/config/topics.d.ts.map +1 -1
- package/dist/types/src/constants/paths/cms-paths.d.ts +3 -3
- package/dist/types/src/core/infrastructure/index.d.ts +1 -0
- package/dist/types/src/core/infrastructure/index.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/file/include.d.ts +121 -0
- package/dist/types/src/core/infrastructure/prisma/file/include.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/file/mappers.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/helpers/active-file-references.d.ts +1 -1
- package/dist/types/src/core/infrastructure/prisma/helpers/active-file-references.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/index.d.ts +1 -0
- package/dist/types/src/core/infrastructure/prisma/index.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/page/include.d.ts +63 -0
- package/dist/types/src/core/infrastructure/prisma/page/include.d.ts.map +1 -0
- package/dist/types/src/core/infrastructure/prisma/page/index.d.ts +4 -0
- package/dist/types/src/core/infrastructure/prisma/page/index.d.ts.map +1 -0
- package/dist/types/src/core/infrastructure/prisma/page/mappers.d.ts +9 -0
- package/dist/types/src/core/infrastructure/prisma/page/mappers.d.ts.map +1 -0
- package/dist/types/src/core/infrastructure/prisma/page/page-prisma-ports.d.ts +7 -0
- package/dist/types/src/core/infrastructure/prisma/page/page-prisma-ports.d.ts.map +1 -0
- package/dist/types/src/core/infrastructure/prisma/page/types.d.ts +10 -0
- package/dist/types/src/core/infrastructure/prisma/page/types.d.ts.map +1 -0
- package/dist/types/src/core/infrastructure/prisma/post/include.d.ts +37 -23
- package/dist/types/src/core/infrastructure/prisma/post/include.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/post/lifecycle.d.ts +66 -0
- package/dist/types/src/core/infrastructure/prisma/post/lifecycle.d.ts.map +1 -0
- package/dist/types/src/core/infrastructure/prisma/post/mappers.d.ts +3 -2
- package/dist/types/src/core/infrastructure/prisma/post/mappers.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/post/post-prisma-ports.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/post/read-scope.d.ts +271 -0
- package/dist/types/src/core/infrastructure/prisma/post/read-scope.d.ts.map +1 -0
- package/dist/types/src/core/infrastructure/prisma/post/types.d.ts +4 -1
- package/dist/types/src/core/infrastructure/prisma/post/types.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/seo-metadata/mappers.d.ts +1 -1
- package/dist/types/src/core/infrastructure/prisma/seo-metadata/mappers.d.ts.map +1 -1
- package/dist/types/src/core/infrastructure/prisma/seo-metadata/seo-metadata-prisma-ports.d.ts +2 -2
- package/dist/types/src/core/infrastructure/prisma/seo-metadata/seo-metadata-prisma-ports.d.ts.map +1 -1
- package/dist/types/src/core/seeders/page/seeder.d.ts +3 -3
- package/dist/types/src/core/seeders/page/seeder.d.ts.map +1 -1
- package/dist/types/src/core/seeders/seed.d.ts +2 -3
- package/dist/types/src/core/seeders/seed.d.ts.map +1 -1
- package/dist/types/src/core/sitero-server/create-sitero-server.d.ts.map +1 -1
- package/dist/types/src/core/sitero-server/types.d.ts +2 -0
- package/dist/types/src/core/sitero-server/types.d.ts.map +1 -1
- package/dist/types/src/shared/list-item.d.ts +1 -0
- package/dist/types/src/shared/list-item.d.ts.map +1 -1
- package/dist/types/src/web/contracts/index.d.ts +1 -0
- package/dist/types/src/web/contracts/index.d.ts.map +1 -1
- package/dist/types/src/web/contracts/resources/page/actions.d.ts +5 -0
- package/dist/types/src/web/contracts/resources/page/actions.d.ts.map +1 -0
- package/dist/types/src/web/contracts/resources/post/actions.d.ts +2 -3
- package/dist/types/src/web/contracts/resources/post/actions.d.ts.map +1 -1
- package/dist/types/src/web/server/create-web-server.d.ts.map +1 -1
- package/dist/types/src/web/server/index.d.ts +1 -1
- package/dist/types/src/web/server/index.d.ts.map +1 -1
- package/dist/types/src/web/server/resources/index.d.ts +1 -0
- package/dist/types/src/web/server/resources/index.d.ts.map +1 -1
- package/dist/types/src/web/server/resources/page/actions.d.ts +17 -0
- package/dist/types/src/web/server/resources/page/actions.d.ts.map +1 -0
- package/dist/types/src/web/server/resources/post/actions.d.ts +1 -6
- package/dist/types/src/web/server/resources/post/actions.d.ts.map +1 -1
- package/dist/types/src/web/server/seo/metadata/build-metadata.d.ts +5 -2
- package/dist/types/src/web/server/seo/metadata/build-metadata.d.ts.map +1 -1
- package/dist/types/src/web/server/seo/sitemap/build-entries.d.ts +2 -2
- package/dist/types/src/web/server/seo/sitemap/build-entries.d.ts.map +1 -1
- package/dist/types/src/web/server/seo/sitemap/get-page-items.d.ts +6 -2
- package/dist/types/src/web/server/seo/sitemap/get-page-items.d.ts.map +1 -1
- package/dist/types/src/web/server/seo/sitemap/get-post-items.d.ts.map +1 -1
- package/dist/types/src/web/server/seo/sitemap/get-subcategory-items.d.ts.map +1 -1
- package/dist/types/src/web/server/types.d.ts +6 -2
- package/dist/types/src/web/server/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/src/cms/client/interfaces/components/resources/post/topic/topic-card.js +0 -81
- package/dist/src/cms/client/interfaces/components/resources/post/topic/topic-table.js +0 -120
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/_id_/edit/page.js +0 -110
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/_id_/page.js +0 -161
- package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/page.js +0 -103
- package/dist/src/core/seeders/topic/seeder.js +0 -47
- package/dist/types/src/cms/client/interfaces/components/resources/post/topic/index.d.ts +0 -3
- package/dist/types/src/cms/client/interfaces/components/resources/post/topic/index.d.ts.map +0 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/topic/topic-card.d.ts +0 -5
- package/dist/types/src/cms/client/interfaces/components/resources/post/topic/topic-card.d.ts.map +0 -1
- package/dist/types/src/cms/client/interfaces/components/resources/post/topic/topic-table.d.ts +0 -3
- package/dist/types/src/cms/client/interfaces/components/resources/post/topic/topic-table.d.ts.map +0 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/edit/page.d.ts +0 -20
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/edit/page.d.ts.map +0 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/page.d.ts +0 -20
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/page.d.ts.map +0 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/index.d.ts +0 -4
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/index.d.ts.map +0 -1
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/page.d.ts +0 -14
- package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/page.d.ts.map +0 -1
- package/dist/types/src/core/seeders/topic/seeder.d.ts +0 -10
- package/dist/types/src/core/seeders/topic/seeder.d.ts.map +0 -1
|
@@ -18,6 +18,7 @@ import { createUsePostCreateFormData } from './resources/post/use-create-form-da
|
|
|
18
18
|
import { createUsePostUpdateFormData } from './resources/post/use-update-form-data.js';
|
|
19
19
|
import { createUseSeoMetadataUpsertFormData } from './resources/seo-metadata/use-upsert-form-data.js';
|
|
20
20
|
import { createUseConfigUpdateFormData } from './resources/config/use-config-update-form-data.js';
|
|
21
|
+
import { createUsePageUpdateFormData } from './resources/page/use-page-update-form-data.js';
|
|
21
22
|
import { useParentPathname } from './ui/use-parent-pathname.js';
|
|
22
23
|
import { useNavItems } from './ui/use-nav-items.js';
|
|
23
24
|
|
|
@@ -42,6 +43,9 @@ function createApplications(input) {
|
|
|
42
43
|
const usePostUpdateFormData = createUsePostUpdateFormData({
|
|
43
44
|
buildTranslations
|
|
44
45
|
});
|
|
46
|
+
const usePageUpdateFormData = createUsePageUpdateFormData({
|
|
47
|
+
buildTranslations
|
|
48
|
+
});
|
|
45
49
|
const useSeoMetadataUpsertFormData = createUseSeoMetadataUpsertFormData({
|
|
46
50
|
buildTranslations
|
|
47
51
|
});
|
|
@@ -65,6 +69,7 @@ function createApplications(input) {
|
|
|
65
69
|
useAdminUpdateFormData,
|
|
66
70
|
useFileCreateFormData,
|
|
67
71
|
useFileUpdateFormData,
|
|
72
|
+
usePageUpdateFormData,
|
|
68
73
|
usePostCreateFormData,
|
|
69
74
|
usePostUpdateFormData,
|
|
70
75
|
useSeoMetadataUpsertFormData,
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { PAGE_TEXT_FIELDS, PAGE_MEDIA_FIELDS } from 'sitero-domain';
|
|
2
|
+
|
|
3
|
+
function buildPageUpdateFormData(buildTranslations, page) {
|
|
4
|
+
const defaults = buildTranslations(
|
|
5
|
+
PAGE_TEXT_FIELDS.map((key) => ({ key, value: null }))
|
|
6
|
+
);
|
|
7
|
+
const locales = [
|
|
8
|
+
.../* @__PURE__ */ new Set([
|
|
9
|
+
...defaults.map((t) => t.locale),
|
|
10
|
+
...page?.translations.map((t) => t.locale) ?? []
|
|
11
|
+
])
|
|
12
|
+
];
|
|
13
|
+
const texts = Object.fromEntries(
|
|
14
|
+
PAGE_TEXT_FIELDS.map((key) => [key, null])
|
|
15
|
+
);
|
|
16
|
+
return {
|
|
17
|
+
...Object.fromEntries(
|
|
18
|
+
PAGE_MEDIA_FIELDS.map((key) => [key, page?.[key] ?? null])
|
|
19
|
+
),
|
|
20
|
+
translations: locales.map((locale) => {
|
|
21
|
+
const source = page?.translations.find((t) => t.locale === locale);
|
|
22
|
+
return {
|
|
23
|
+
...texts,
|
|
24
|
+
...Object.fromEntries(
|
|
25
|
+
PAGE_TEXT_FIELDS.map((key) => [key, source?.[key] ?? null])
|
|
26
|
+
),
|
|
27
|
+
locale
|
|
28
|
+
};
|
|
29
|
+
})
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function toPageUpdateInput({
|
|
33
|
+
id,
|
|
34
|
+
pageKey,
|
|
35
|
+
formData,
|
|
36
|
+
allowField
|
|
37
|
+
}) {
|
|
38
|
+
const page = {
|
|
39
|
+
translations: formData.translations.map((translation) => {
|
|
40
|
+
const result = {
|
|
41
|
+
locale: translation.locale
|
|
42
|
+
};
|
|
43
|
+
for (const field of PAGE_TEXT_FIELDS) {
|
|
44
|
+
if (allowField({ pageKey, field })) result[field] = translation[field];
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
})
|
|
48
|
+
};
|
|
49
|
+
for (const field of PAGE_MEDIA_FIELDS) {
|
|
50
|
+
if (allowField({ pageKey, field }))
|
|
51
|
+
page[`${field}Id`] = formData[field]?.id ?? null;
|
|
52
|
+
}
|
|
53
|
+
return { id, page };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { buildPageUpdateFormData, toPageUpdateInput };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useState, useRef, useEffect } from 'react';
|
|
3
|
+
import { buildPageUpdateFormData } from './form-data.js';
|
|
4
|
+
|
|
5
|
+
function createUsePageUpdateFormData({
|
|
6
|
+
buildTranslations
|
|
7
|
+
}) {
|
|
8
|
+
return function usePageUpdateFormData({
|
|
9
|
+
page
|
|
10
|
+
}) {
|
|
11
|
+
const [formData, setFormData] = useState(
|
|
12
|
+
() => buildPageUpdateFormData(buildTranslations, page)
|
|
13
|
+
);
|
|
14
|
+
const initializedId = useRef(page?.id);
|
|
15
|
+
const [loadedId, setLoadedId] = useState(page?.id);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (!page || initializedId.current === page.id) return;
|
|
18
|
+
setFormData(buildPageUpdateFormData(buildTranslations, page));
|
|
19
|
+
initializedId.current = page.id;
|
|
20
|
+
setLoadedId(page.id);
|
|
21
|
+
}, [page]);
|
|
22
|
+
return {
|
|
23
|
+
formData,
|
|
24
|
+
setFormData,
|
|
25
|
+
isInitializing: !page || loadedId !== page.id
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { createUsePageUpdateFormData };
|
|
@@ -7,14 +7,14 @@ function createUsePostCreateFormData({
|
|
|
7
7
|
return function usePostCreateFormData({
|
|
8
8
|
type,
|
|
9
9
|
admin,
|
|
10
|
-
|
|
10
|
+
topicKey
|
|
11
11
|
}) {
|
|
12
12
|
const [formData, setFormData] = useState(() => ({
|
|
13
13
|
type,
|
|
14
14
|
// ----------------------------------------------------------------------------
|
|
15
15
|
// states
|
|
16
16
|
// ----------------------------------------------------------------------------
|
|
17
|
-
isActive:
|
|
17
|
+
isActive: false,
|
|
18
18
|
isIndexActive: false,
|
|
19
19
|
index: null,
|
|
20
20
|
isSlugActive: false,
|
|
@@ -27,7 +27,7 @@ function createUsePostCreateFormData({
|
|
|
27
27
|
// Admin
|
|
28
28
|
author: admin,
|
|
29
29
|
// Post
|
|
30
|
-
|
|
30
|
+
topicKey: topicKey ?? null,
|
|
31
31
|
parents: [],
|
|
32
32
|
tags: [],
|
|
33
33
|
relatedPosts: [],
|
|
@@ -133,9 +133,9 @@ function createUsePostCreateFormData({
|
|
|
133
133
|
setFormData((prev) => ({
|
|
134
134
|
...prev,
|
|
135
135
|
author: admin,
|
|
136
|
-
|
|
136
|
+
topicKey: topicKey ?? null
|
|
137
137
|
}));
|
|
138
|
-
}, [admin,
|
|
138
|
+
}, [admin, topicKey]);
|
|
139
139
|
return { formData, setFormData };
|
|
140
140
|
};
|
|
141
141
|
}
|
package/dist/src/cms/client/applications/resources/seo-metadata/build-seo-metadata-translations.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import 'mime-types';
|
|
2
|
+
import 'sitero-domain';
|
|
3
|
+
import 'react';
|
|
4
|
+
import 'ua-parser-js';
|
|
5
|
+
import '../../../../../shared/client/react-query/client.js';
|
|
6
|
+
import 'react/jsx-runtime';
|
|
7
|
+
import '@tanstack/react-query';
|
|
8
|
+
import { datetimeToUi } from '../../../../../shared/form/normalizers/datetime-to-ui.js';
|
|
9
|
+
import { jsonArrayToUi } from '../../../../../shared/form/normalizers/json-array-to-ui.js';
|
|
10
|
+
import 'clsx';
|
|
11
|
+
import 'tailwind-merge';
|
|
12
|
+
import { SEO_METADATA_EMPTY_TRANSLATIONS } from './seo-metadata-empty-translation.js';
|
|
13
|
+
|
|
14
|
+
function buildSeoMetadataTranslations(buildTranslations, saved = []) {
|
|
15
|
+
const translations = new Map(
|
|
16
|
+
SEO_METADATA_EMPTY_TRANSLATIONS(buildTranslations).map((value) => [
|
|
17
|
+
value.locale,
|
|
18
|
+
value
|
|
19
|
+
])
|
|
20
|
+
);
|
|
21
|
+
for (const value of saved) {
|
|
22
|
+
translations.set(value.locale, {
|
|
23
|
+
...translations.get(value.locale),
|
|
24
|
+
...value,
|
|
25
|
+
ogType: value.ogType,
|
|
26
|
+
twitterCard: value.twitterCard,
|
|
27
|
+
ogArticlePublishedTime: datetimeToUi(value.ogArticlePublishedTime),
|
|
28
|
+
ogArticleModifiedTime: datetimeToUi(value.ogArticleModifiedTime),
|
|
29
|
+
jsonLd: jsonArrayToUi(value.jsonLd)
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return [...translations.values()];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { buildSeoMetadataTranslations };
|
|
@@ -1,49 +1,33 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useState, useEffect } from 'react';
|
|
3
|
-
import '
|
|
4
|
-
import 'sitero-domain';
|
|
5
|
-
import 'ua-parser-js';
|
|
6
|
-
import '../../../../../shared/client/react-query/client.js';
|
|
7
|
-
import 'react/jsx-runtime';
|
|
8
|
-
import '@tanstack/react-query';
|
|
9
|
-
import { datetimeToUi } from '../../../../../shared/form/normalizers/datetime-to-ui.js';
|
|
10
|
-
import { jsonArrayToUi } from '../../../../../shared/form/normalizers/json-array-to-ui.js';
|
|
11
|
-
import 'clsx';
|
|
12
|
-
import 'tailwind-merge';
|
|
13
|
-
import { ensureArray } from '../../../../../shared/utils/ensure-array.js';
|
|
14
|
-
import { SEO_METADATA_EMPTY_TRANSLATIONS } from './seo-metadata-empty-translation.js';
|
|
3
|
+
import { buildSeoMetadataTranslations } from './build-seo-metadata-translations.js';
|
|
15
4
|
|
|
16
5
|
function createUseSeoMetadataUpsertFormData({
|
|
17
6
|
buildTranslations
|
|
18
7
|
}) {
|
|
19
8
|
return function useSeoMetadataUpsertFormData({
|
|
20
9
|
id,
|
|
21
|
-
post
|
|
10
|
+
post,
|
|
11
|
+
ownerType = "post"
|
|
22
12
|
}) {
|
|
23
13
|
const [formData, setFormData] = useState(() => ({
|
|
24
|
-
postId: id,
|
|
25
|
-
translations:
|
|
14
|
+
...ownerType === "page" ? { pageId: id } : { postId: id },
|
|
15
|
+
translations: buildSeoMetadataTranslations(
|
|
16
|
+
buildTranslations,
|
|
17
|
+
post?.seoMetadatas
|
|
18
|
+
)
|
|
26
19
|
}));
|
|
27
20
|
useEffect(() => {
|
|
28
21
|
if (!post) return;
|
|
29
|
-
|
|
30
|
-
if (seoMetadatas.length === 0) return;
|
|
22
|
+
if (post.seoMetadatas.length === 0) return;
|
|
31
23
|
setFormData({
|
|
32
|
-
postId: post.id,
|
|
33
|
-
translations:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
twitterCard: s.twitterCard,
|
|
38
|
-
// Datetime to UI
|
|
39
|
-
ogArticlePublishedTime: datetimeToUi(s.ogArticlePublishedTime),
|
|
40
|
-
ogArticleModifiedTime: datetimeToUi(s.ogArticleModifiedTime),
|
|
41
|
-
// JSON-LD to raw UI text
|
|
42
|
-
jsonLd: jsonArrayToUi(s.jsonLd)
|
|
43
|
-
};
|
|
44
|
-
})
|
|
24
|
+
...ownerType === "page" ? { pageId: post.id } : { postId: post.id },
|
|
25
|
+
translations: buildSeoMetadataTranslations(
|
|
26
|
+
buildTranslations,
|
|
27
|
+
post.seoMetadatas
|
|
28
|
+
)
|
|
45
29
|
});
|
|
46
|
-
}, [post, setFormData]);
|
|
30
|
+
}, [post, ownerType, setFormData]);
|
|
47
31
|
return { formData, setFormData };
|
|
48
32
|
};
|
|
49
33
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { useTranslator } from 'intor/react';
|
|
2
|
-
import { Gauge, ShieldUser, ShieldCheck, Image, Trash2, Package, SlidersHorizontal, AppWindow, Inbox,
|
|
3
|
-
import { POST_TYPES } from 'sitero-domain';
|
|
2
|
+
import { Gauge, ShieldUser, ShieldCheck, Image, Trash2, Package, SlidersHorizontal, AppWindow, Inbox, Tag, ShelvingUnit } from 'lucide-react';
|
|
4
3
|
import { isContentTopic } from '../../../../config/topics.js';
|
|
5
4
|
import { CMS_PATHS } from '../../../../constants/paths/cms-paths.js';
|
|
6
5
|
import '../../../../constants/paths/redirect.js';
|
|
7
6
|
import '../../../../constants/cms-locale.js';
|
|
8
7
|
import 'mime-types';
|
|
9
|
-
import
|
|
8
|
+
import 'sitero-domain';
|
|
10
9
|
import 'react';
|
|
11
10
|
import 'ua-parser-js';
|
|
12
11
|
import '../../../../shared/client/react-query/client.js';
|
|
@@ -25,7 +24,7 @@ function useNavItems({
|
|
|
25
24
|
PAGES,
|
|
26
25
|
TOPICS,
|
|
27
26
|
configFindManyAction,
|
|
28
|
-
|
|
27
|
+
pageFindManyAction
|
|
29
28
|
}) {
|
|
30
29
|
const { t, locale } = useTranslator();
|
|
31
30
|
const { data: websiteConfigs } = useQuery(
|
|
@@ -45,34 +44,26 @@ function useNavItems({
|
|
|
45
44
|
}
|
|
46
45
|
);
|
|
47
46
|
const { data: pages } = useQuery(
|
|
48
|
-
() =>
|
|
49
|
-
["
|
|
50
|
-
{ select: (data) => data?.
|
|
47
|
+
() => pageFindManyAction({ keys: Object.keys(PAGES) }),
|
|
48
|
+
["pageFindManyAction", normalizeUnorderedCacheKey(Object.keys(PAGES))],
|
|
49
|
+
{ select: (data) => data?.pages }
|
|
51
50
|
);
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
icon:
|
|
56
|
-
title:
|
|
51
|
+
const existingPageKeys = new Set(ensureArray(pages).map((page) => page.key));
|
|
52
|
+
const pageNavItems = Object.entries(PAGES).filter(([key]) => existingPageKeys.has(key)).map(
|
|
53
|
+
([key, page]) => ({
|
|
54
|
+
icon: page.icon,
|
|
55
|
+
title: page.title[locale] ?? "",
|
|
57
56
|
// from static
|
|
58
|
-
url: `${CMS_PATHS.website["website-page"].pathname}/${
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
() =>
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
url: `${CMS_PATHS.website["website-page"].pathname}/${key}`
|
|
58
|
+
})
|
|
59
|
+
);
|
|
60
|
+
const topicNavItems = Object.entries(TOPICS).filter(([key]) => isContentTopic(TOPICS, key)).map(
|
|
61
|
+
([key, topic]) => ({
|
|
62
|
+
icon: topic.icon,
|
|
63
|
+
title: topic.title[locale] ?? "",
|
|
64
|
+
url: `${CMS_PATHS.content["content-management"].pathname}/${key}`
|
|
65
|
+
})
|
|
65
66
|
);
|
|
66
|
-
const topicNavItems = ensureArray(topics).filter((topic) => isContentTopic(TOPICS, topic.slug)).map((topic) => {
|
|
67
|
-
const translation = findTranslation(topic.translations, locale);
|
|
68
|
-
const slug = topic.slug;
|
|
69
|
-
return {
|
|
70
|
-
icon: TOPICS[slug]?.icon,
|
|
71
|
-
title: translation?.title ?? "",
|
|
72
|
-
// from db
|
|
73
|
-
url: `${CMS_PATHS.content["content-management"].pathname}/${topic.slug}`
|
|
74
|
-
};
|
|
75
|
-
});
|
|
76
67
|
const navItems = [
|
|
77
68
|
// dashboard
|
|
78
69
|
{
|
|
@@ -159,23 +150,21 @@ function useNavItems({
|
|
|
159
150
|
url: CMS_PATHS.content["content-management"].pathname,
|
|
160
151
|
items: [
|
|
161
152
|
...topicNavItems,
|
|
162
|
-
...FEATURES.topic || FEATURES.tag ? [{ isSeparator: true }] : [],
|
|
163
|
-
// topic
|
|
164
|
-
...FEATURES.topic ? [
|
|
165
|
-
{
|
|
166
|
-
icon: SquareLibrary,
|
|
167
|
-
title: t("resources.topic.text"),
|
|
168
|
-
url: CMS_PATHS.content["content-management"].topic.pathname
|
|
169
|
-
}
|
|
170
|
-
] : [],
|
|
171
153
|
// tag
|
|
154
|
+
...FEATURES.tag ? [{ isSeparator: true }] : [],
|
|
172
155
|
...FEATURES.tag ? [
|
|
173
156
|
{
|
|
174
157
|
icon: Tag,
|
|
175
158
|
title: t("resources.tag.text"),
|
|
176
159
|
url: CMS_PATHS.content["content-management"].tag.pathname
|
|
177
160
|
}
|
|
178
|
-
] : []
|
|
161
|
+
] : [],
|
|
162
|
+
{ isSeparator: true },
|
|
163
|
+
{
|
|
164
|
+
icon: Trash2,
|
|
165
|
+
title: t("main.trash.text"),
|
|
166
|
+
url: CMS_PATHS.content["content-management"].trash.pathname
|
|
167
|
+
}
|
|
179
168
|
]
|
|
180
169
|
}
|
|
181
170
|
];
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
const file = {
|
|
2
|
+
"confirm-restore": { text: "Restore the selected files?" },
|
|
2
3
|
"delete-completed": { text: "Moved to trash" },
|
|
3
4
|
"delete-skipped": { text: "Skipped" },
|
|
4
|
-
"delete-failed": { text: "
|
|
5
|
+
"delete-failed": { text: "Failed to move to trash. Please try again." },
|
|
5
6
|
"delete-not-found": { text: "The file no longer exists." },
|
|
6
7
|
"delete-already-deleted": { text: "The file is already in the trash." },
|
|
7
8
|
"restore-completed": { text: "Restored" },
|
|
8
9
|
"restore-skipped": { text: "Skipped" },
|
|
9
|
-
"restore-failed": { text: "Restore failed
|
|
10
|
+
"restore-failed": { text: "Restore failed. Please try again." },
|
|
10
11
|
"restore-not-found": { text: "The file no longer exists." },
|
|
11
12
|
"restore-not-deleted": { text: "The file is no longer in the trash." },
|
|
12
|
-
"purge-pending": { text: "
|
|
13
|
+
"purge-pending": { text: "Permanent deletion is incomplete" },
|
|
13
14
|
"restore-purge-started": {
|
|
14
15
|
text: "This file cannot be restored because permanent deletion has started."
|
|
15
16
|
},
|
|
16
17
|
"purge-completed": { text: "Permanently deleted" },
|
|
17
18
|
"purge-skipped": { text: "Skipped" },
|
|
18
|
-
"purge-failed": { text: "
|
|
19
|
+
"purge-failed": { text: "Permanent deletion failed. Please try again." },
|
|
19
20
|
"lock-filter": {
|
|
20
21
|
label: { text: "Lock status" }
|
|
21
22
|
},
|
|
@@ -5,6 +5,13 @@ import { post } from './post.js';
|
|
|
5
5
|
import { seoMetadata } from './seo-metadata.js';
|
|
6
6
|
|
|
7
7
|
const resources = {
|
|
8
|
+
page: {
|
|
9
|
+
"text-placeholder": { text: "Please enter content" },
|
|
10
|
+
main: { text: "Main content" },
|
|
11
|
+
section: { text: "Section" },
|
|
12
|
+
"cover-media": { text: "Cover media" },
|
|
13
|
+
"custom-text": { text: "Custom text" }
|
|
14
|
+
},
|
|
8
15
|
// common
|
|
9
16
|
"related-resources": { text: "Related Resources" },
|
|
10
17
|
"view-related-resources": { text: "View related resources" },
|
|
@@ -1,4 +1,35 @@
|
|
|
1
1
|
const post = {
|
|
2
|
+
"is-public": { text: "Public" },
|
|
3
|
+
"confirm-restore": {
|
|
4
|
+
text: "Restore the selected content? It will not be public."
|
|
5
|
+
},
|
|
6
|
+
type: { text: "Content type" },
|
|
7
|
+
"previous-page": { text: "Previous page" },
|
|
8
|
+
"next-page": { text: "Next page" },
|
|
9
|
+
published: { text: "Public" },
|
|
10
|
+
unpublished: { text: "Not public" },
|
|
11
|
+
"in-use": {
|
|
12
|
+
text: "Other content references this item. Remove those references first."
|
|
13
|
+
},
|
|
14
|
+
"parent-unpublished": {
|
|
15
|
+
text: "Make all selected categories and their ancestors public first."
|
|
16
|
+
},
|
|
17
|
+
"published-children": {
|
|
18
|
+
text: "Make dependent content non-public before making this category non-public."
|
|
19
|
+
},
|
|
20
|
+
"slug-conflict": {
|
|
21
|
+
text: "This URL slug is already in use, including content in trash."
|
|
22
|
+
},
|
|
23
|
+
"invalid-state": {
|
|
24
|
+
text: "The content state has changed. Refresh and try again."
|
|
25
|
+
},
|
|
26
|
+
"reference-unavailable": { text: "A selected item is missing or in trash." },
|
|
27
|
+
"delete-locked": { text: "This content is locked and cannot be deleted." },
|
|
28
|
+
"empty-trash": { text: "No content in trash." },
|
|
29
|
+
trashed: { text: "In trash" },
|
|
30
|
+
"publication-hint": {
|
|
31
|
+
text: "Saving public content updates the live website immediately."
|
|
32
|
+
},
|
|
2
33
|
text: "Content",
|
|
3
34
|
author: { text: "Author" },
|
|
4
35
|
"cover-image": { text: "Cover Image" },
|
|
@@ -14,7 +45,7 @@ const post = {
|
|
|
14
45
|
text: "Summary",
|
|
15
46
|
placeholder: { text: "Please enter a summary" }
|
|
16
47
|
},
|
|
17
|
-
excerpt: { text: "
|
|
48
|
+
excerpt: { text: "Preview text" },
|
|
18
49
|
description: {
|
|
19
50
|
text: "Description",
|
|
20
51
|
placeholder: { text: "Please enter a description" }
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const ui = {
|
|
2
|
+
retry: { text: "Retry" },
|
|
2
3
|
// ------------------------------------------------------
|
|
3
4
|
// common
|
|
4
5
|
// ------------------------------------------------------
|
|
@@ -25,8 +26,14 @@ const ui = {
|
|
|
25
26
|
edit: { text: "Edit" },
|
|
26
27
|
update: { text: "Update" },
|
|
27
28
|
locked: { text: "Locked" },
|
|
29
|
+
"move-to-trash": { text: "Move to trash" },
|
|
30
|
+
"move-many-to-trash": { text: "Move multiple items to trash" },
|
|
31
|
+
"dialog.move-to-trash": { text: "Move the selected items to trash?" },
|
|
32
|
+
"dialog.purge": {
|
|
33
|
+
text: "Permanently delete the selected items? This cannot be undone."
|
|
34
|
+
},
|
|
28
35
|
destroy: { text: "Delete" },
|
|
29
|
-
purge: { text: "
|
|
36
|
+
purge: { text: "Delete permanently" },
|
|
30
37
|
restore: { text: "Restore" },
|
|
31
38
|
"create-many": { text: "Create Many" },
|
|
32
39
|
"delete-many": { text: "Delete Many" },
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
const file = {
|
|
2
|
+
"confirm-restore": { text: "\u78BA\u5B9A\u9084\u539F\u9078\u53D6\u7684\u6A94\u6848\uFF1F" },
|
|
2
3
|
"delete-completed": { text: "\u5DF2\u79FB\u81F3\u5783\u573E\u6876" },
|
|
3
4
|
"delete-skipped": { text: "\u5DF2\u7565\u904E" },
|
|
4
|
-
"delete-failed": { text: "\
|
|
5
|
+
"delete-failed": { text: "\u79FB\u81F3\u5783\u573E\u6876\u5931\u6557\uFF0C\u8ACB\u91CD\u8A66" },
|
|
5
6
|
"delete-not-found": { text: "\u6A94\u6848\u5DF2\u4E0D\u5B58\u5728\u3002" },
|
|
6
7
|
"delete-already-deleted": { text: "\u6A94\u6848\u5DF2\u5728\u5783\u573E\u6876\u3002" },
|
|
7
8
|
"restore-completed": { text: "\u5DF2\u9084\u539F" },
|
|
8
9
|
"restore-skipped": { text: "\u5DF2\u7565\u904E" },
|
|
9
|
-
"restore-failed": { text: "\u9084\u539F\u5931\u6557\uFF0C\
|
|
10
|
+
"restore-failed": { text: "\u9084\u539F\u5931\u6557\uFF0C\u8ACB\u91CD\u8A66" },
|
|
10
11
|
"restore-not-found": { text: "\u6A94\u6848\u5DF2\u4E0D\u5B58\u5728\u3002" },
|
|
11
12
|
"restore-not-deleted": { text: "\u6A94\u6848\u5DF2\u4E0D\u5728\u5783\u573E\u6876\u3002" },
|
|
12
|
-
"purge-pending": { text: "\
|
|
13
|
+
"purge-pending": { text: "\u6C38\u4E45\u522A\u9664\u5C1A\u672A\u5B8C\u6210" },
|
|
13
14
|
"restore-purge-started": {
|
|
14
15
|
text: "\u6A94\u6848\u5DF2\u958B\u59CB\u6C38\u4E45\u522A\u9664\uFF0C\u7121\u6CD5\u9084\u539F\u3002"
|
|
15
16
|
},
|
|
16
17
|
"purge-completed": { text: "\u5DF2\u6C38\u4E45\u522A\u9664" },
|
|
17
|
-
"purge-skipped": { text: "\
|
|
18
|
-
"purge-failed": { text: "\
|
|
18
|
+
"purge-skipped": { text: "\u5DF2\u7565\u904E" },
|
|
19
|
+
"purge-failed": { text: "\u6C38\u4E45\u522A\u9664\u5931\u6557\uFF0C\u8ACB\u91CD\u8A66" },
|
|
19
20
|
"lock-filter": {
|
|
20
21
|
label: { text: "\u9396\u5B9A\u72C0\u614B" }
|
|
21
22
|
},
|
|
@@ -5,6 +5,13 @@ import { post } from './post.js';
|
|
|
5
5
|
import { seoMetadata } from './seo-metadata.js';
|
|
6
6
|
|
|
7
7
|
const resources = {
|
|
8
|
+
page: {
|
|
9
|
+
"text-placeholder": { text: "\u8ACB\u8F38\u5165\u5167\u5BB9" },
|
|
10
|
+
main: { text: "\u4E3B\u5167\u5BB9" },
|
|
11
|
+
section: { text: "\u5340\u584A" },
|
|
12
|
+
"cover-media": { text: "\u5C01\u9762\u5A92\u9AD4" },
|
|
13
|
+
"custom-text": { text: "\u81EA\u8A02\u6587\u5B57" }
|
|
14
|
+
},
|
|
8
15
|
// common
|
|
9
16
|
"related-resources": { text: "\u95DC\u806F\u8CC7\u6E90" },
|
|
10
17
|
"view-related-resources": { text: "\u67E5\u770B\u95DC\u806F\u8CC7\u6E90" },
|
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
const post = {
|
|
2
|
+
"is-public": { text: "\u662F\u5426\u516C\u958B" },
|
|
3
|
+
"confirm-restore": { text: "\u78BA\u5B9A\u9084\u539F\u9078\u53D6\u7684\u5167\u5BB9\uFF1F\u9084\u539F\u5F8C\u5C07\u4FDD\u6301\u672A\u516C\u958B\u3002" },
|
|
4
|
+
type: { text: "\u5167\u5BB9\u985E\u578B" },
|
|
5
|
+
"previous-page": { text: "\u4E0A\u4E00\u9801" },
|
|
6
|
+
"next-page": { text: "\u4E0B\u4E00\u9801" },
|
|
7
|
+
published: { text: "\u5DF2\u516C\u958B" },
|
|
8
|
+
unpublished: { text: "\u672A\u516C\u958B" },
|
|
9
|
+
"in-use": { text: "\u4ECD\u6709\u5176\u4ED6\u5167\u5BB9\u5F15\u7528\u6B64\u9805\u76EE\uFF0C\u8ACB\u5148\u89E3\u9664\u5F15\u7528\u3002" },
|
|
10
|
+
"parent-unpublished": { text: "\u8ACB\u5148\u516C\u958B\u6240\u6709\u6307\u5B9A\u5206\u985E\u53CA\u5176\u4E0A\u5C64\u5206\u985E\u3002" },
|
|
11
|
+
"published-children": { text: "\u8ACB\u5148\u5C07\u4F9D\u8CF4\u6B64\u5206\u985E\u7684\u516C\u958B\u5167\u5BB9\u8A2D\u70BA\u672A\u516C\u958B\u3002" },
|
|
12
|
+
"slug-conflict": { text: "\u6B64\u7DB2\u5740\u4EE3\u7A31\u5DF2\u88AB\u4F7F\u7528\uFF0C\u5305\u542B\u5783\u573E\u6876\u4E2D\u7684\u5167\u5BB9\u3002" },
|
|
13
|
+
"invalid-state": { text: "\u5167\u5BB9\u72C0\u614B\u5DF2\u8B8A\u66F4\uFF0C\u8ACB\u91CD\u65B0\u6574\u7406\u5F8C\u518D\u8A66\u3002" },
|
|
14
|
+
"reference-unavailable": { text: "\u9078\u53D6\u7684\u5167\u5BB9\u4E0D\u5B58\u5728\u6216\u5DF2\u5728\u5783\u573E\u6876\u3002" },
|
|
15
|
+
"delete-locked": { text: "\u6B64\u5167\u5BB9\u5DF2\u9396\u5B9A\uFF0C\u7121\u6CD5\u522A\u9664\u3002" },
|
|
16
|
+
"empty-trash": { text: "\u5783\u573E\u6876\u6C92\u6709\u5167\u5BB9\u3002" },
|
|
17
|
+
trashed: { text: "\u5DF2\u79FB\u81F3\u5783\u573E\u6876" },
|
|
18
|
+
"publication-hint": { text: "\u5132\u5B58\u5DF2\u516C\u958B\u5167\u5BB9\u6703\u7ACB\u5373\u66F4\u65B0\u524D\u53F0\u7DB2\u7AD9\u3002" },
|
|
2
19
|
text: "\u5167\u5BB9",
|
|
3
20
|
author: { text: "\u4F5C\u8005" },
|
|
4
21
|
"cover-image": { text: "\u5C01\u9762\u5716\u7247" },
|
|
@@ -14,7 +31,7 @@ const post = {
|
|
|
14
31
|
text: "\u6458\u8981",
|
|
15
32
|
placeholder: { text: "\u8ACB\u8F38\u5165\u6458\u8981" }
|
|
16
33
|
},
|
|
17
|
-
excerpt: { text: "\
|
|
34
|
+
excerpt: { text: "\u9810\u89BD\u6587\u5B57" },
|
|
18
35
|
description: {
|
|
19
36
|
text: "\u6558\u8FF0",
|
|
20
37
|
placeholder: { text: "\u8ACB\u8F38\u5165\u6558\u8FF0" }
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const ui = {
|
|
2
|
+
retry: { text: "\u91CD\u8A66" },
|
|
2
3
|
// ------------------------------------------------------
|
|
3
4
|
// common
|
|
4
5
|
// ------------------------------------------------------
|
|
@@ -25,9 +26,13 @@ const ui = {
|
|
|
25
26
|
edit: { text: "\u7DE8\u8F2F" },
|
|
26
27
|
update: { text: "\u66F4\u65B0" },
|
|
27
28
|
locked: { text: "\u5DF2\u9396\u5B9A" },
|
|
29
|
+
"move-to-trash": { text: "\u79FB\u81F3\u5783\u573E\u6876" },
|
|
30
|
+
"move-many-to-trash": { text: "\u6279\u6B21\u79FB\u81F3\u5783\u573E\u6876" },
|
|
31
|
+
"dialog.move-to-trash": { text: "\u78BA\u5B9A\u5C07\u9078\u53D6\u9805\u76EE\u79FB\u81F3\u5783\u573E\u6876\uFF1F" },
|
|
32
|
+
"dialog.purge": { text: "\u78BA\u5B9A\u6C38\u4E45\u522A\u9664\u9078\u53D6\u9805\u76EE\uFF1F\u6B64\u64CD\u4F5C\u7121\u6CD5\u5FA9\u539F\u3002" },
|
|
28
33
|
destroy: { text: "\u522A\u9664" },
|
|
29
|
-
purge: { text: "\
|
|
30
|
-
restore: { text: "\
|
|
34
|
+
purge: { text: "\u6C38\u4E45\u522A\u9664" },
|
|
35
|
+
restore: { text: "\u9084\u539F" },
|
|
31
36
|
"create-many": { text: "\u5EFA\u7ACB\u591A\u500B" },
|
|
32
37
|
"delete-many": { text: "\u522A\u9664\u591A\u500B" },
|
|
33
38
|
"view-website-page": { text: "\u67E5\u770B\u7DB2\u7AD9\u9801\u9762\uFF08\u53E6\u958B\u5206\u9801\uFF09" },
|
|
@@ -38,6 +38,21 @@ function getZodFieldErrorMessage(locale, error) {
|
|
|
38
38
|
}
|
|
39
39
|
function getCmsOperationErrorMessage(t, code) {
|
|
40
40
|
switch (code) {
|
|
41
|
+
case "POST_IN_USE":
|
|
42
|
+
return t("resources.post.in-use.text");
|
|
43
|
+
case "POST_PARENT_UNPUBLISHED":
|
|
44
|
+
return t("resources.post.parent-unpublished.text");
|
|
45
|
+
case "POST_HAS_PUBLISHED_CHILDREN":
|
|
46
|
+
return t("resources.post.published-children.text");
|
|
47
|
+
case "POST_SLUG_CONFLICT":
|
|
48
|
+
return t("resources.post.slug-conflict.text");
|
|
49
|
+
case "POST_INVALID_STATE":
|
|
50
|
+
return t("resources.post.invalid-state.text");
|
|
51
|
+
case "POST_NOT_FOUND":
|
|
52
|
+
case "POST_REFERENCE_UNAVAILABLE":
|
|
53
|
+
return t("resources.post.reference-unavailable.text");
|
|
54
|
+
case "POST_DELETE_LOCKED":
|
|
55
|
+
return t("resources.post.delete-locked.text");
|
|
41
56
|
case "RATE_LIMITED":
|
|
42
57
|
return t("ui.operation-error.rate-limited.text");
|
|
43
58
|
case "UNAUTHENTICATED":
|
|
@@ -59,8 +59,6 @@ import { CategoryTable } from './resources/post/category/category-table.js';
|
|
|
59
59
|
import { TagTable } from './resources/post/tag/tag-table.js';
|
|
60
60
|
import { createCategoryCard } from './resources/post/category/category-card.js';
|
|
61
61
|
import { createTagCard } from './resources/post/tag/tag-card.js';
|
|
62
|
-
import { createTopicCard } from './resources/post/topic/topic-card.js';
|
|
63
|
-
import { createTopicTable } from './resources/post/topic/topic-table.js';
|
|
64
62
|
import { createSeoMetadataDialog } from './resources/seo-metadata/seo-metadata-dialog.js';
|
|
65
63
|
import { createSeoForm } from './resources/seo-metadata/seo-form/seo-form.js';
|
|
66
64
|
import { createBasicTags } from './resources/seo-metadata/seo-form/fields/basic-tags.js';
|
|
@@ -75,12 +73,14 @@ function createComponents(input) {
|
|
|
75
73
|
locales: constants.webLocales
|
|
76
74
|
});
|
|
77
75
|
const PostCard = createPostCard({
|
|
76
|
+
topics: constants.topics ?? {},
|
|
78
77
|
storageUrl: constants.storageUrl,
|
|
79
78
|
defaultWebLocale: constants.defaultWebLocale,
|
|
80
79
|
SmartImage,
|
|
81
80
|
strategies: constants.post.strategies
|
|
82
81
|
});
|
|
83
82
|
const PostList = createPostList({
|
|
83
|
+
topics: constants.topics ?? {},
|
|
84
84
|
customControlFields: constants.post.customControlFields,
|
|
85
85
|
defaultWebLocale: constants.defaultWebLocale,
|
|
86
86
|
postFindListCardsAction: actions.resources.post.findListCards,
|
|
@@ -88,12 +88,9 @@ function createComponents(input) {
|
|
|
88
88
|
strategies: constants.post.strategies
|
|
89
89
|
});
|
|
90
90
|
const CategoryCard = createCategoryCard({
|
|
91
|
+
topics: constants.topics ?? {},
|
|
91
92
|
defaultWebLocale: constants.defaultWebLocale
|
|
92
93
|
});
|
|
93
|
-
const TopicCard = createTopicCard({
|
|
94
|
-
defaultWebLocale: constants.defaultWebLocale
|
|
95
|
-
});
|
|
96
|
-
const TopicTable = createTopicTable();
|
|
97
94
|
const TagCard = createTagCard({
|
|
98
95
|
defaultWebLocale: constants.defaultWebLocale
|
|
99
96
|
});
|
|
@@ -151,6 +148,7 @@ function createComponents(input) {
|
|
|
151
148
|
const JsonLdTags = createJsonLdTags(seoFieldsInput);
|
|
152
149
|
const SeoForm = createSeoForm({
|
|
153
150
|
postFindDetailAction: actions.resources.post.findDetail,
|
|
151
|
+
...actions.resources.page ? { pageFindDetailAction: actions.resources.page.findDetail } : {},
|
|
154
152
|
seoMetadataUpsertAction: actions.resources.seoMetadata.upsert,
|
|
155
153
|
useSeoMetadataUpsertFormData: applications.resources.seoMatadata.upsert,
|
|
156
154
|
BasicTags,
|
|
@@ -184,8 +182,6 @@ function createComponents(input) {
|
|
|
184
182
|
CategoryCard,
|
|
185
183
|
CategoryTable,
|
|
186
184
|
// topic
|
|
187
|
-
TopicCard,
|
|
188
|
-
TopicTable,
|
|
189
185
|
// tag
|
|
190
186
|
TagCard,
|
|
191
187
|
TagTable,
|