sitero 0.1.0 → 0.1.1

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.
Files changed (387) hide show
  1. package/dist/export/cms/client/components/editor/index.js +4 -0
  2. package/dist/export/cms/client/components/index.js +24 -20
  3. package/dist/export/cms/client/i18n/index.js +1 -0
  4. package/dist/export/cms/client/index.js +11 -0
  5. package/dist/export/cms/client/pages/index.js +10 -8
  6. package/dist/export/core/server/index.js +8 -0
  7. package/dist/export/index.js +2 -0
  8. package/dist/export/web/server/index.js +1 -0
  9. package/dist/src/cms/client/applications/create-applications.js +3 -1
  10. package/dist/src/cms/client/applications/ui/use-nav-items.js +203 -0
  11. package/dist/src/cms/client/infrastructure/i18n/intor-config.js +8 -5
  12. package/dist/src/cms/client/infrastructure/i18n/messages/en-US/resources/index.js +1 -0
  13. package/dist/src/cms/client/infrastructure/i18n/messages/index.js +9 -0
  14. package/dist/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/index.js +1 -0
  15. package/dist/src/cms/client/interfaces/components/create-components.js +26 -24
  16. package/dist/src/cms/client/interfaces/components/create-post-contents.js +86 -0
  17. package/dist/src/cms/client/interfaces/components/resources/admin/admin-card.js +3 -0
  18. package/dist/src/cms/client/interfaces/components/resources/admin/admin-list.js +1 -0
  19. package/dist/src/cms/client/interfaces/components/resources/admin/admin-refresh-tokens/admin-refresh-token-card.js +4 -0
  20. package/dist/src/cms/client/interfaces/components/resources/admin/admin-relations-section.js +2 -2
  21. package/dist/src/cms/client/interfaces/components/resources/admin/admin-table.js +1 -1
  22. package/dist/src/cms/client/interfaces/components/resources/config/config-edit-content.js +20 -2
  23. package/dist/src/cms/client/interfaces/components/resources/config/config-show-content.js +1 -0
  24. package/dist/src/cms/client/interfaces/components/resources/file/file-card.js +4 -0
  25. package/dist/src/cms/client/interfaces/components/resources/file/file-list.js +1 -0
  26. package/dist/src/cms/client/interfaces/components/resources/file/file-relations-section.js +2 -2
  27. package/dist/src/cms/client/interfaces/components/resources/file/file-state-icons.js +1 -1
  28. package/dist/src/cms/client/interfaces/components/resources/file/search/is-locked-buttons.js +7 -0
  29. package/dist/src/cms/client/interfaces/components/resources/file/search/type-buttons.js +7 -0
  30. package/dist/src/cms/client/interfaces/components/resources/folder/file-manager/file-manager-header.js +1 -1
  31. package/dist/src/cms/client/interfaces/components/resources/folder/folder-card.js +4 -0
  32. package/dist/src/cms/client/interfaces/components/resources/folder/folder-state-icons.js +1 -1
  33. package/dist/src/cms/client/interfaces/components/resources/inquiry/inquiry-card.js +4 -0
  34. package/dist/src/cms/client/interfaces/components/resources/inquiry/inquiry-list.js +1 -0
  35. package/dist/src/cms/client/interfaces/components/resources/{category → post/category}/category-card.js +26 -19
  36. package/dist/src/cms/client/interfaces/components/resources/post/category/category-relations-section.js +90 -0
  37. package/dist/src/cms/client/interfaces/components/resources/{category → post/category}/category-table.js +28 -21
  38. package/dist/src/cms/client/interfaces/components/resources/post/content/post-create-content.js +463 -0
  39. package/dist/src/cms/client/interfaces/components/resources/post/content/post-edit-content.js +461 -0
  40. package/dist/src/cms/client/interfaces/components/resources/post/content/post-show-content.js +218 -0
  41. package/dist/src/cms/client/interfaces/components/resources/post/content/types.js +12 -0
  42. package/dist/src/cms/client/interfaces/components/resources/post/post-card.js +16 -70
  43. package/dist/src/cms/client/interfaces/components/resources/post/post-list.js +4 -6
  44. package/dist/src/cms/client/interfaces/components/resources/post/search/control-fields-buttons.js +10 -50
  45. package/dist/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-card.js +19 -17
  46. package/dist/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-relations-section.js +14 -14
  47. package/dist/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-table.js +20 -17
  48. package/dist/src/cms/client/interfaces/components/resources/{topic → post/topic}/topic-card.js +29 -22
  49. package/dist/src/cms/client/interfaces/components/resources/{topic → post/topic}/topic-table.js +32 -24
  50. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/fields/basic-tags.js +1 -1
  51. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/fields/json-ld-tags.js +1 -1
  52. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/fields/open-graph-tags.js +1 -1
  53. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/fields/twitter-tags.js +1 -1
  54. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-metadata-dialog.js +6 -0
  55. package/dist/src/cms/client/interfaces/components/ui/blocks/list-container/list-container.js +6 -0
  56. package/dist/src/cms/client/interfaces/components/ui/blocks/list-container/page-size-selector.js +6 -0
  57. package/dist/src/cms/client/interfaces/components/ui/blocks/page-header/page-header.js +7 -1
  58. package/dist/src/cms/client/interfaces/components/ui/blocks/page-header/presets/index.js +11 -0
  59. package/dist/src/cms/client/interfaces/components/ui/buttons/return-button.js +7 -0
  60. package/dist/src/cms/client/interfaces/components/ui/features/external-link.js +7 -0
  61. package/dist/src/cms/client/interfaces/components/ui/features/file/file-info/file-info.js +5 -1
  62. package/dist/src/cms/client/interfaces/components/ui/features/file/file-preview/file-preview-list.js +7 -0
  63. package/dist/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal-body.js +8 -4
  64. package/dist/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal-trigger.js +6 -0
  65. package/dist/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal.js +5 -0
  66. package/dist/src/cms/client/interfaces/components/ui/form/index-field.js +1 -0
  67. package/dist/src/cms/client/interfaces/components/ui/i18n/display/i18n-array-display.js +4 -1
  68. package/dist/src/cms/client/interfaces/components/ui/i18n/display/i18n-display.js +4 -1
  69. package/dist/src/cms/client/interfaces/components/ui/i18n/display/i18n-object-array-display.js +4 -1
  70. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-array-input.js +6 -0
  71. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-date-input.js +6 -0
  72. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-input.js +6 -0
  73. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-json-input.js +7 -1
  74. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-number-input.js +6 -0
  75. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-object-array-input.js +6 -0
  76. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-textarea.js +6 -0
  77. package/dist/src/cms/client/interfaces/components/ui/inputs/array-input.js +6 -0
  78. package/dist/src/cms/client/interfaces/components/ui/inputs/editor/base/built-in-plugins.js +1 -2
  79. package/dist/src/cms/client/interfaces/components/ui/inputs/editor/editor.js +1 -1
  80. package/dist/src/cms/client/interfaces/components/ui/inputs/editor/plugins/file-repository/upload-adapter.js +1 -1
  81. package/dist/src/cms/client/interfaces/components/ui/layouts/navbar/i18n-selector.js +5 -0
  82. package/dist/src/cms/client/interfaces/components/ui/layouts/navbar/nav-user.js +1 -0
  83. package/dist/src/cms/client/interfaces/components/ui/layouts/navbar/navbar.js +1 -0
  84. package/dist/src/cms/client/interfaces/components/ui/layouts/navbar/theme-selector.js +6 -0
  85. package/dist/src/cms/client/interfaces/pages/(auth)/email-unverified/page.js +1 -0
  86. package/dist/src/cms/client/interfaces/pages/(auth)/forgot-password/page.js +1 -0
  87. package/dist/src/cms/client/interfaces/pages/(auth)/layout.js +1 -0
  88. package/dist/src/cms/client/interfaces/pages/(auth)/reset-password/page.js +1 -0
  89. package/dist/src/cms/client/interfaces/pages/(auth)/sign-in/page.js +1 -0
  90. package/dist/src/cms/client/interfaces/pages/dashboard/(auth)/change-password/page.js +1 -0
  91. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/_id_/edit/page.js +20 -4
  92. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/_id_/page.js +43 -4
  93. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/create/page.js +21 -5
  94. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/page.js +97 -39
  95. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/_id_/edit/page.js +34 -5
  96. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/_id_/page.js +35 -4
  97. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/create/page.js +34 -5
  98. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/_id_/edit/page.js +115 -0
  99. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/_id_/page.js +170 -0
  100. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/create/page.js +117 -0
  101. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/page.js +8 -1
  102. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/_id_/edit/page.js +100 -0
  103. package/dist/src/cms/client/interfaces/pages/dashboard/content/{tag → content-management/tag}/_id_/page.js +40 -22
  104. package/dist/src/cms/client/interfaces/pages/dashboard/content/{tag/_id_/edit → content-management/tag/create}/page.js +24 -26
  105. package/dist/src/cms/client/interfaces/pages/dashboard/content/{tag/create → content-management/tag}/page.js +43 -27
  106. package/dist/src/cms/client/interfaces/pages/dashboard/content/{topic → content-management/topic}/_id_/edit/page.js +32 -15
  107. package/dist/src/cms/client/interfaces/pages/dashboard/content/{topic → content-management/topic}/_id_/page.js +36 -36
  108. package/dist/src/cms/client/interfaces/pages/dashboard/content/{topic/create → content-management/topic}/page.js +41 -15
  109. package/dist/src/cms/client/interfaces/pages/dashboard/layout.js +1 -0
  110. package/dist/src/cms/client/interfaces/pages/dashboard/page.js +1 -0
  111. package/dist/src/cms/client/interfaces/pages/dashboard/system/access/admin/page.js +1 -0
  112. package/dist/src/cms/client/interfaces/pages/dashboard/system/access/page.js +3 -2
  113. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/page.js +1 -0
  114. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file-manager/page.js +1 -0
  115. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/folder/page.js +1 -0
  116. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/page.js +3 -2
  117. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/trash/page.js +1 -1
  118. package/dist/src/cms/client/interfaces/pages/dashboard/website/inquiry/_id_/page.js +1 -0
  119. package/dist/src/cms/client/interfaces/pages/dashboard/website/inquiry/page.js +1 -0
  120. package/dist/src/cms/client/interfaces/pages/dashboard/website/website-config/_slug_/edit/page.js +1 -0
  121. package/dist/src/cms/client/interfaces/pages/dashboard/website/website-config/_slug_/page.js +1 -0
  122. package/dist/src/cms/client/interfaces/pages/dashboard/website/website-config/page.js +1 -0
  123. package/dist/src/cms/client/interfaces/pages/dashboard/website/website-page/_slug_/edit/page.js +1 -0
  124. package/dist/src/cms/client/interfaces/pages/dashboard/website/website-page/_slug_/page.js +1 -1
  125. package/dist/src/cms/client/interfaces/pages/dashboard/website/website-page/page.js +1 -0
  126. package/dist/src/constants/paths/cms-paths.js +7 -4
  127. package/dist/src/core/domain/static/topics.js +29 -0
  128. package/dist/src/core/server/infrastructure/database/file/query/file-query-repository.js +1 -0
  129. package/dist/src/core/server/infrastructure/database/folder/query/folder-query-repository.js +1 -0
  130. package/dist/src/core/server/infrastructure/database/post/command/post-command-repository.js +6 -151
  131. package/dist/src/core/server/infrastructure/database/post/command/post-create-data.js +81 -0
  132. package/dist/src/core/server/infrastructure/database/post/command/post-update-data.js +86 -0
  133. package/dist/src/core/server/infrastructure/i18n/messages/index.js +9 -0
  134. package/dist/src/core/server/interfaces/actions/resources/file/commands/purge-many/file-purge-many-action.js +1 -0
  135. package/dist/src/core/server/interfaces/actions/resources/file/commands/soft-delete/file-soft-delete-action.js +1 -0
  136. package/dist/src/core/server/interfaces/actions/resources/file/commands/soft-delete-many/file-soft-delete-many-action.js +1 -0
  137. package/dist/src/core/server/interfaces/actions/resources/folder/commands/delete/folder-delete-action.js +1 -0
  138. package/dist/src/core/server/interfaces/actions/resources/folder/queries/folder-find-full-action.js +1 -0
  139. package/dist/src/core/server/seeders/folder/seeder.js +1 -0
  140. package/dist/src/web/server/applications/sitemap/get-post-items.js +46 -6
  141. package/dist/src/web/server/applications/sitemap/get-subcategory-items.js +34 -0
  142. package/dist/src/web/server/interfaces/create-web-interfaces.js +4 -0
  143. package/dist/src/web/server/interfaces/loaders/load-categories.js +6 -3
  144. package/dist/src/web/server/interfaces/loaders/load-category.js +8 -2
  145. package/dist/src/web/server/interfaces/loaders/load-post.js +8 -2
  146. package/dist/src/web/server/interfaces/loaders/load-posts.js +7 -3
  147. package/dist/src/web/server/interfaces/loaders/load-subcategories.js +61 -0
  148. package/dist/src/web/server/interfaces/loaders/load-subcategory.js +27 -0
  149. package/dist/types/export/cms/client/components/index.d.ts +4 -1
  150. package/dist/types/export/cms/client/components/index.d.ts.map +1 -1
  151. package/dist/types/export/cms/client/i18n/index.d.ts +1 -1
  152. package/dist/types/export/cms/client/i18n/index.d.ts.map +1 -1
  153. package/dist/types/export/cms/client/index.d.ts +1 -1
  154. package/dist/types/export/cms/client/index.d.ts.map +1 -1
  155. package/dist/types/export/cms/client/pages/index.d.ts +1 -1
  156. package/dist/types/export/cms/client/pages/index.d.ts.map +1 -1
  157. package/dist/types/export/core/server/index.d.ts +6 -1
  158. package/dist/types/export/core/server/index.d.ts.map +1 -1
  159. package/dist/types/export/index.d.ts +2 -2
  160. package/dist/types/export/index.d.ts.map +1 -1
  161. package/dist/types/export/web/server/index.d.ts +1 -1
  162. package/dist/types/export/web/server/index.d.ts.map +1 -1
  163. package/dist/types/src/cms/client/applications/create-applications.d.ts.map +1 -1
  164. package/dist/types/src/cms/client/applications/resources/post/use-create-form-data.d.ts +1 -1
  165. package/dist/types/src/cms/client/applications/resources/post/use-create-form-data.d.ts.map +1 -1
  166. package/dist/types/src/cms/client/applications/types.d.ts +2 -1
  167. package/dist/types/src/cms/client/applications/types.d.ts.map +1 -1
  168. package/dist/types/src/cms/client/applications/ui/index.d.ts +1 -0
  169. package/dist/types/src/cms/client/applications/ui/index.d.ts.map +1 -1
  170. package/dist/types/src/cms/client/applications/ui/use-nav-items.d.ts +20 -0
  171. package/dist/types/src/cms/client/applications/ui/use-nav-items.d.ts.map +1 -0
  172. package/dist/types/src/cms/client/infrastructure/i18n/index.d.ts +1 -0
  173. package/dist/types/src/cms/client/infrastructure/i18n/index.d.ts.map +1 -1
  174. package/dist/types/src/cms/client/infrastructure/i18n/intor-config.d.ts.map +1 -1
  175. package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/index.d.ts +3 -0
  176. package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/index.d.ts.map +1 -1
  177. package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/index.d.ts +3 -0
  178. package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/index.d.ts.map +1 -1
  179. package/dist/types/src/cms/client/infrastructure/i18n/messages/index.d.ts +1347 -0
  180. package/dist/types/src/cms/client/infrastructure/i18n/messages/index.d.ts.map +1 -0
  181. package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/index.d.ts +3 -0
  182. package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/index.d.ts.map +1 -1
  183. package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/index.d.ts +3 -0
  184. package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/index.d.ts.map +1 -1
  185. package/dist/types/src/cms/client/interfaces/components/create-components.d.ts +10 -5
  186. package/dist/types/src/cms/client/interfaces/components/create-components.d.ts.map +1 -1
  187. package/dist/types/src/cms/client/interfaces/components/create-post-contents.d.ts +38 -0
  188. package/dist/types/src/cms/client/interfaces/components/create-post-contents.d.ts.map +1 -0
  189. package/dist/types/src/cms/client/interfaces/components/resources/admin/admin-relations-section.d.ts +1 -2
  190. package/dist/types/src/cms/client/interfaces/components/resources/admin/admin-relations-section.d.ts.map +1 -1
  191. package/dist/types/src/cms/client/interfaces/components/resources/config/config-edit-content.d.ts +1 -1
  192. package/dist/types/src/cms/client/interfaces/components/resources/config/config-edit-content.d.ts.map +1 -1
  193. package/dist/types/src/cms/client/interfaces/components/resources/file/file-relations-section.d.ts +1 -2
  194. package/dist/types/src/cms/client/interfaces/components/resources/file/file-relations-section.d.ts.map +1 -1
  195. package/dist/types/src/cms/client/interfaces/components/resources/index.d.ts +5 -4
  196. package/dist/types/src/cms/client/interfaces/components/resources/index.d.ts.map +1 -1
  197. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-card.d.ts +8 -0
  198. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-card.d.ts.map +1 -0
  199. package/dist/types/src/cms/client/interfaces/components/resources/{category → post/category}/category-relations-section.d.ts +4 -4
  200. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-relations-section.d.ts.map +1 -0
  201. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-table.d.ts +8 -0
  202. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-table.d.ts.map +1 -0
  203. package/dist/types/src/cms/client/interfaces/components/resources/post/category/index.d.ts.map +1 -0
  204. package/dist/types/src/cms/client/interfaces/components/resources/post/content/index.d.ts +6 -0
  205. package/dist/types/src/cms/client/interfaces/components/resources/post/content/index.d.ts.map +1 -0
  206. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-create-content.d.ts +46 -0
  207. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-create-content.d.ts.map +1 -0
  208. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-edit-content.d.ts +45 -0
  209. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-edit-content.d.ts.map +1 -0
  210. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-show-content.d.ts +26 -0
  211. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-show-content.d.ts.map +1 -0
  212. package/dist/types/src/cms/client/interfaces/components/resources/post/content/types.d.ts +19 -0
  213. package/dist/types/src/cms/client/interfaces/components/resources/post/content/types.d.ts.map +1 -0
  214. package/dist/types/src/cms/client/interfaces/components/resources/post/index.d.ts +2 -0
  215. package/dist/types/src/cms/client/interfaces/components/resources/post/index.d.ts.map +1 -1
  216. package/dist/types/src/cms/client/interfaces/components/resources/post/post-card.d.ts +1 -8
  217. package/dist/types/src/cms/client/interfaces/components/resources/post/post-card.d.ts.map +1 -1
  218. package/dist/types/src/cms/client/interfaces/components/resources/post/post-list.d.ts +4 -3
  219. package/dist/types/src/cms/client/interfaces/components/resources/post/post-list.d.ts.map +1 -1
  220. package/dist/types/src/cms/client/interfaces/components/resources/post/post-relations-section.d.ts +1 -1
  221. package/dist/types/src/cms/client/interfaces/components/resources/post/post-relations-section.d.ts.map +1 -1
  222. package/dist/types/src/cms/client/interfaces/components/resources/post/search/control-fields-buttons.d.ts +0 -2
  223. package/dist/types/src/cms/client/interfaces/components/resources/post/search/control-fields-buttons.d.ts.map +1 -1
  224. package/dist/types/src/cms/client/interfaces/components/resources/post/tag/index.d.ts.map +1 -0
  225. package/dist/types/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-card.d.ts +1 -1
  226. package/dist/types/src/cms/client/interfaces/components/resources/post/tag/tag-card.d.ts.map +1 -0
  227. package/dist/types/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-relations-section.d.ts +4 -4
  228. package/dist/types/src/cms/client/interfaces/components/resources/post/tag/tag-relations-section.d.ts.map +1 -0
  229. package/dist/types/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-table.d.ts +1 -1
  230. package/dist/types/src/cms/client/interfaces/components/resources/post/tag/tag-table.d.ts.map +1 -0
  231. package/dist/types/src/cms/client/interfaces/components/resources/post/topic/index.d.ts.map +1 -0
  232. package/dist/types/src/cms/client/interfaces/components/resources/{topic → post/topic}/topic-card.d.ts +2 -2
  233. package/dist/types/src/cms/client/interfaces/components/resources/post/topic/topic-card.d.ts.map +1 -0
  234. package/dist/types/src/cms/client/interfaces/components/resources/{topic → post/topic}/topic-table.d.ts +2 -2
  235. package/dist/types/src/cms/client/interfaces/components/resources/post/topic/topic-table.d.ts.map +1 -0
  236. package/dist/types/src/cms/client/interfaces/components/ui/blocks/page-header/presets/index.d.ts.map +1 -1
  237. package/dist/types/src/cms/client/interfaces/components/ui/blocks/page-header/types.d.ts +1 -0
  238. package/dist/types/src/cms/client/interfaces/components/ui/blocks/page-header/types.d.ts.map +1 -1
  239. package/dist/types/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal.d.ts +2 -1
  240. package/dist/types/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal.d.ts.map +1 -1
  241. package/dist/types/src/cms/client/interfaces/components/ui/form/index-field.d.ts.map +1 -1
  242. package/dist/types/src/cms/client/interfaces/components/ui/i18n/display/i18n-array-display.d.ts.map +1 -1
  243. package/dist/types/src/cms/client/interfaces/components/ui/i18n/display/i18n-display.d.ts.map +1 -1
  244. package/dist/types/src/cms/client/interfaces/components/ui/i18n/display/i18n-object-array-display.d.ts.map +1 -1
  245. package/dist/types/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-json-input.d.ts.map +1 -1
  246. package/dist/types/src/cms/client/interfaces/components/ui/inputs/editor/base/built-in-plugins.d.ts.map +1 -1
  247. package/dist/types/src/cms/client/interfaces/components/ui/layouts/content-container.d.ts +1 -1
  248. package/dist/types/src/cms/client/interfaces/components/ui/layouts/content-container.d.ts.map +1 -1
  249. package/dist/types/src/cms/client/interfaces/components/ui/layouts/sidebar/nav-main.d.ts +1 -1
  250. package/dist/types/src/cms/client/interfaces/components/ui/layouts/sidebar/nav-main.d.ts.map +1 -1
  251. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/edit/page.d.ts +6 -2
  252. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/edit/page.d.ts.map +1 -1
  253. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/page.d.ts +6 -3
  254. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/page.d.ts.map +1 -1
  255. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/create/page.d.ts +6 -2
  256. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/create/page.d.ts.map +1 -1
  257. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/page.d.ts +3 -3
  258. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/page.d.ts.map +1 -1
  259. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/edit/page.d.ts +6 -2
  260. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/edit/page.d.ts.map +1 -1
  261. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/page.d.ts +7 -3
  262. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/page.d.ts.map +1 -1
  263. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/create/page.d.ts +6 -2
  264. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/create/page.d.ts.map +1 -1
  265. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/edit/page.d.ts +24 -0
  266. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/edit/page.d.ts.map +1 -0
  267. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/page.d.ts +27 -0
  268. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/page.d.ts.map +1 -0
  269. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/create/page.d.ts +24 -0
  270. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/create/page.d.ts.map +1 -0
  271. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/index.d.ts +4 -0
  272. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/index.d.ts.map +1 -0
  273. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/page.d.ts +3 -1
  274. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/page.d.ts.map +1 -1
  275. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/edit/page.d.ts +20 -0
  276. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/edit/page.d.ts.map +1 -0
  277. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/page.d.ts +23 -0
  278. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/page.d.ts.map +1 -0
  279. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/create/page.d.ts +16 -0
  280. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/create/page.d.ts.map +1 -0
  281. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/index.d.ts.map +1 -0
  282. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/page.d.ts +14 -0
  283. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/page.d.ts.map +1 -0
  284. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/edit/page.d.ts +20 -0
  285. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/edit/page.d.ts.map +1 -0
  286. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/page.d.ts +20 -0
  287. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/page.d.ts.map +1 -0
  288. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/{topic → content-management/topic}/index.d.ts +0 -1
  289. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/index.d.ts.map +1 -0
  290. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/page.d.ts +14 -0
  291. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/page.d.ts.map +1 -0
  292. package/dist/types/src/cms/client/interfaces/pages/index.d.ts +3 -2
  293. package/dist/types/src/cms/client/interfaces/pages/index.d.ts.map +1 -1
  294. package/dist/types/src/constants/paths/cms-paths.d.ts +9 -6
  295. package/dist/types/src/constants/paths/cms-paths.d.ts.map +1 -1
  296. package/dist/types/src/core/domain/index.d.ts +1 -1
  297. package/dist/types/src/core/domain/index.d.ts.map +1 -1
  298. package/dist/types/src/core/domain/static/index.d.ts +1 -1
  299. package/dist/types/src/core/domain/static/index.d.ts.map +1 -1
  300. package/dist/types/src/core/domain/static/post.d.ts +1 -1
  301. package/dist/types/src/core/domain/static/post.d.ts.map +1 -1
  302. package/dist/types/src/core/domain/static/topics.d.ts +36 -3
  303. package/dist/types/src/core/domain/static/topics.d.ts.map +1 -1
  304. package/dist/types/src/core/server/infrastructure/database/index.d.ts +1 -1
  305. package/dist/types/src/core/server/infrastructure/database/index.d.ts.map +1 -1
  306. package/dist/types/src/core/server/infrastructure/database/post/command/index.d.ts +2 -0
  307. package/dist/types/src/core/server/infrastructure/database/post/command/index.d.ts.map +1 -1
  308. package/dist/types/src/core/server/infrastructure/database/post/command/post-command-repository.d.ts +2 -2
  309. package/dist/types/src/core/server/infrastructure/database/post/command/post-command-repository.d.ts.map +1 -1
  310. package/dist/types/src/core/server/infrastructure/database/post/command/post-create-data.d.ts +160 -0
  311. package/dist/types/src/core/server/infrastructure/database/post/command/post-create-data.d.ts.map +1 -0
  312. package/dist/types/src/core/server/infrastructure/database/post/command/post-update-data.d.ts +207 -0
  313. package/dist/types/src/core/server/infrastructure/database/post/command/post-update-data.d.ts.map +1 -0
  314. package/dist/types/src/core/server/infrastructure/database/post/index.d.ts +1 -1
  315. package/dist/types/src/core/server/infrastructure/database/post/index.d.ts.map +1 -1
  316. package/dist/types/src/core/server/infrastructure/i18n/index.d.ts +1 -0
  317. package/dist/types/src/core/server/infrastructure/i18n/index.d.ts.map +1 -1
  318. package/dist/types/src/core/server/infrastructure/i18n/messages/index.d.ts +105 -0
  319. package/dist/types/src/core/server/infrastructure/i18n/messages/index.d.ts.map +1 -0
  320. package/dist/types/src/core/server/infrastructure/index.d.ts +1 -1
  321. package/dist/types/src/core/server/infrastructure/index.d.ts.map +1 -1
  322. package/dist/types/src/shared/form/types.d.ts +2 -2
  323. package/dist/types/src/shared/form/types.d.ts.map +1 -1
  324. package/dist/types/src/web/server/applications/index.d.ts +1 -1
  325. package/dist/types/src/web/server/applications/index.d.ts.map +1 -1
  326. package/dist/types/src/web/server/applications/sitemap/get-post-items.d.ts +3 -1
  327. package/dist/types/src/web/server/applications/sitemap/get-post-items.d.ts.map +1 -1
  328. package/dist/types/src/web/server/applications/sitemap/get-subcategory-items.d.ts +18 -0
  329. package/dist/types/src/web/server/applications/sitemap/get-subcategory-items.d.ts.map +1 -0
  330. package/dist/types/src/web/server/applications/sitemap/index.d.ts +1 -0
  331. package/dist/types/src/web/server/applications/sitemap/index.d.ts.map +1 -1
  332. package/dist/types/src/web/server/index.d.ts +1 -0
  333. package/dist/types/src/web/server/index.d.ts.map +1 -1
  334. package/dist/types/src/web/server/interfaces/create-web-interfaces.d.ts.map +1 -1
  335. package/dist/types/src/web/server/interfaces/loaders/index.d.ts +2 -0
  336. package/dist/types/src/web/server/interfaces/loaders/index.d.ts.map +1 -1
  337. package/dist/types/src/web/server/interfaces/loaders/load-categories.d.ts.map +1 -1
  338. package/dist/types/src/web/server/interfaces/loaders/load-category.d.ts.map +1 -1
  339. package/dist/types/src/web/server/interfaces/loaders/load-post.d.ts.map +1 -1
  340. package/dist/types/src/web/server/interfaces/loaders/load-posts.d.ts.map +1 -1
  341. package/dist/types/src/web/server/interfaces/loaders/load-subcategories.d.ts +10 -0
  342. package/dist/types/src/web/server/interfaces/loaders/load-subcategories.d.ts.map +1 -0
  343. package/dist/types/src/web/server/interfaces/loaders/load-subcategory.d.ts +8 -0
  344. package/dist/types/src/web/server/interfaces/loaders/load-subcategory.d.ts.map +1 -0
  345. package/dist/types/src/web/server/interfaces/types.d.ts +3 -1
  346. package/dist/types/src/web/server/interfaces/types.d.ts.map +1 -1
  347. package/package.json +2 -2
  348. package/dist/src/cms/client/interfaces/components/resources/category/category-relations-section.js +0 -82
  349. package/dist/src/cms/client/interfaces/pages/dashboard/content/tag/page.js +0 -81
  350. package/dist/src/cms/client/interfaces/pages/dashboard/content/topic/page.js +0 -79
  351. package/dist/types/src/cms/client/interfaces/components/resources/category/category-card.d.ts +0 -3
  352. package/dist/types/src/cms/client/interfaces/components/resources/category/category-card.d.ts.map +0 -1
  353. package/dist/types/src/cms/client/interfaces/components/resources/category/category-relations-section.d.ts.map +0 -1
  354. package/dist/types/src/cms/client/interfaces/components/resources/category/category-table.d.ts +0 -3
  355. package/dist/types/src/cms/client/interfaces/components/resources/category/category-table.d.ts.map +0 -1
  356. package/dist/types/src/cms/client/interfaces/components/resources/category/index.d.ts.map +0 -1
  357. package/dist/types/src/cms/client/interfaces/components/resources/tag/index.d.ts.map +0 -1
  358. package/dist/types/src/cms/client/interfaces/components/resources/tag/tag-card.d.ts.map +0 -1
  359. package/dist/types/src/cms/client/interfaces/components/resources/tag/tag-relations-section.d.ts.map +0 -1
  360. package/dist/types/src/cms/client/interfaces/components/resources/tag/tag-table.d.ts.map +0 -1
  361. package/dist/types/src/cms/client/interfaces/components/resources/topic/index.d.ts.map +0 -1
  362. package/dist/types/src/cms/client/interfaces/components/resources/topic/topic-card.d.ts.map +0 -1
  363. package/dist/types/src/cms/client/interfaces/components/resources/topic/topic-table.d.ts.map +0 -1
  364. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/[id]/edit/page.d.ts +0 -15
  365. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/[id]/edit/page.d.ts.map +0 -1
  366. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/[id]/page.d.ts +0 -17
  367. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/[id]/page.d.ts.map +0 -1
  368. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/create/page.d.ts +0 -11
  369. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/create/page.d.ts.map +0 -1
  370. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/index.d.ts.map +0 -1
  371. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/page.d.ts +0 -8
  372. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/page.d.ts.map +0 -1
  373. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/[id]/edit/page.d.ts +0 -15
  374. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/[id]/edit/page.d.ts.map +0 -1
  375. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/[id]/page.d.ts +0 -17
  376. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/[id]/page.d.ts.map +0 -1
  377. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/create/page.d.ts +0 -11
  378. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/create/page.d.ts.map +0 -1
  379. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/index.d.ts.map +0 -1
  380. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/page.d.ts +0 -12
  381. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/page.d.ts.map +0 -1
  382. package/dist/types/src/core/domain/translation.d.ts +0 -7
  383. package/dist/types/src/core/domain/translation.d.ts.map +0 -1
  384. /package/dist/types/src/cms/client/interfaces/components/resources/{category → post/category}/index.d.ts +0 -0
  385. /package/dist/types/src/cms/client/interfaces/components/resources/{tag → post/tag}/index.d.ts +0 -0
  386. /package/dist/types/src/cms/client/interfaces/components/resources/{topic → post/topic}/index.d.ts +0 -0
  387. /package/dist/types/src/cms/client/interfaces/pages/dashboard/content/{tag → content-management/tag}/index.d.ts +0 -0
@@ -2,7 +2,6 @@
2
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
3
  import { useTranslator } from 'intor/react';
4
4
  import { Tag } from 'lucide-react';
5
- import { useParams } from 'next/navigation';
6
5
  import { POST_TYPES } from 'sitero-domain';
7
6
  import '../../../../../../../../../constants/paths/redirect.js';
8
7
  import '../../../../../../../../../constants/cms-locale.js';
@@ -18,6 +17,8 @@ import 'zod';
18
17
  import 'sonner';
19
18
  import { useQuery } from '../../../../../../../../../core/client/infrastructure/react-query/use-query.js';
20
19
  import { getControlMeta } from '../../../../../../../applications/form/get-control-meta.js';
20
+ import 'next/navigation';
21
+ import '../../../../../../../../../core/domain/resources/admin/constants.js';
21
22
  import { PageHeader } from '../../../../../../components/ui/blocks/page-header/page-header.js';
22
23
  import '@radix-ui/react-avatar';
23
24
  import '../../../../../../components/shadcn/badge.js';
@@ -35,50 +36,47 @@ import 'next-themes';
35
36
  import '@radix-ui/react-tabs';
36
37
  import '@radix-ui/react-tooltip';
37
38
 
38
- function createTagEditPage({
39
- postFindFullAction,
39
+ function createTagCreatePage({
40
+ type = POST_TYPES.TAG,
40
41
  postFindManyAction,
41
- renderPostEditContent
42
+ renderPostCreateContent,
43
+ PostCreateContent,
44
+ allowField
42
45
  }) {
43
- return function TagEditPage() {
46
+ return function TagCreatePage() {
44
47
  const { t } = useTranslator();
45
- const { id } = useParams();
46
- const {
47
- data: tag,
48
- isFetching,
49
- isNotFound
50
- } = useQuery(() => postFindFullAction({ id }), ["postFindFullAction", id], {
51
- select: (data) => data?.post
52
- });
53
48
  const { data: tags, isFetching: isFetchingControlMeta } = useQuery(
54
- () => postFindManyAction({ type: POST_TYPES.TAG }),
55
- ["postFindManyAction", POST_TYPES.TAG],
49
+ () => postFindManyAction({ type }),
50
+ ["postFindManyAction", type],
56
51
  { select: (data) => data?.posts }
57
52
  );
58
- const controlMeta = getControlMeta({
59
- records: ensureArray(tags),
60
- excludeIndex: tag?.index,
61
- excludeSlug: tag?.slug
62
- });
53
+ const controlMeta = getControlMeta({ records: ensureArray(tags) });
63
54
  return /* @__PURE__ */ jsxs(Fragment, { children: [
64
55
  /* @__PURE__ */ jsx(
65
56
  PageHeader,
66
57
  {
67
- variant: "edit",
58
+ variant: "create",
68
59
  titleProps: {
69
60
  icon: Tag,
70
61
  title: t("resources.tag.text")
71
62
  }
72
63
  }
73
64
  ),
74
- renderPostEditContent({
75
- tag,
65
+ PostCreateContent && allowField && /* @__PURE__ */ jsx(
66
+ PostCreateContent,
67
+ {
68
+ postType: type,
69
+ controlMeta,
70
+ isFetching: isFetchingControlMeta,
71
+ allowField
72
+ }
73
+ ),
74
+ renderPostCreateContent?.({
76
75
  controlMeta,
77
- isFetching: isFetching || isFetchingControlMeta,
78
- isNotFound
76
+ isFetching: isFetchingControlMeta
79
77
  })
80
78
  ] });
81
79
  };
82
80
  }
83
81
 
84
- export { createTagEditPage };
82
+ export { createTagCreatePage };
@@ -5,20 +5,12 @@ import { Tag } from 'lucide-react';
5
5
  import { POST_TYPES } from 'sitero-domain';
6
6
  import '../../../../../../../../constants/paths/redirect.js';
7
7
  import '../../../../../../../../constants/cms-locale.js';
8
- import '../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
9
- import 'react';
10
- import '../../../../../../../../core/client/infrastructure/react-query/client.js';
11
- import '@tanstack/react-query';
8
+ import '../../../../../../../../core/domain/resources/admin/constants.js';
12
9
  import 'mime-types';
13
10
  import 'clsx';
14
11
  import 'tailwind-merge';
15
- import { ensureArray } from '../../../../../../../../shared/utils/ensure-array.js';
16
12
  import 'zod';
17
- import 'sonner';
18
- import { useQuery } from '../../../../../../../../core/client/infrastructure/react-query/use-query.js';
19
- import { getControlMeta } from '../../../../../../applications/form/get-control-meta.js';
20
- import 'next/navigation';
21
- import { PageHeader } from '../../../../../components/ui/blocks/page-header/page-header.js';
13
+ import 'next/link';
22
14
  import '@radix-ui/react-avatar';
23
15
  import '../../../../../components/shadcn/badge.js';
24
16
  import '../../../../../components/shadcn/button.js';
@@ -32,38 +24,62 @@ import '@radix-ui/react-select';
32
24
  import '@radix-ui/react-separator';
33
25
  import '../../../../../components/shadcn/sidebar/sidebar.js';
34
26
  import 'next-themes';
27
+ import 'sonner';
35
28
  import '@radix-ui/react-tabs';
36
29
  import '@radix-ui/react-tooltip';
30
+ import 'react';
31
+ import 'next/navigation';
32
+ import '../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
33
+ import '../../../../../../../../core/client/infrastructure/react-query/client.js';
34
+ import '@tanstack/react-query';
35
+ import { PageHeader } from '../../../../../components/ui/blocks/page-header/page-header.js';
36
+ import 'next/image';
37
+ import 'intor/next';
38
+ import { ContentContainer } from '../../../../../components/ui/layouts/content-container.js';
39
+ import { TagCard } from '../../../../../components/resources/post/tag/tag-card.js';
40
+ import { TagTable } from '../../../../../components/resources/post/tag/tag-table.js';
37
41
 
38
- function createTagCreatePage({
39
- postFindManyAction,
40
- renderPostCreateContent
42
+ function createTagIndexPage({
43
+ type = POST_TYPES.TAG,
44
+ PostList,
45
+ allowField,
46
+ Card = TagCard,
47
+ Table = TagTable,
48
+ localKey = "tag"
41
49
  }) {
42
- return function TagCreatePage() {
50
+ return function TagIndexPage() {
43
51
  const { t } = useTranslator();
44
- const { data: tags, isFetching: isFetchingControlMeta } = useQuery(
45
- () => postFindManyAction({ type: POST_TYPES.TAG }),
46
- ["postFindManyAction", POST_TYPES.TAG],
47
- { select: (data) => data?.posts }
48
- );
49
- const controlMeta = getControlMeta({ records: ensureArray(tags) });
50
52
  return /* @__PURE__ */ jsxs(Fragment, { children: [
51
53
  /* @__PURE__ */ jsx(
52
54
  PageHeader,
53
55
  {
54
- variant: "create",
56
+ variant: "index",
55
57
  titleProps: {
56
58
  icon: Tag,
57
59
  title: t("resources.tag.text")
58
- }
60
+ },
61
+ createButtonProps: {},
62
+ returnButtonProps: { className: "hidden" }
59
63
  }
60
64
  ),
61
- renderPostCreateContent({
62
- controlMeta,
63
- isFetching: isFetchingControlMeta
64
- })
65
+ /* @__PURE__ */ jsx(ContentContainer, { isFixHeight: true, children: /* @__PURE__ */ jsx(
66
+ PostList,
67
+ {
68
+ usableFields: [
69
+ ...allowField({ type, field: "isActive" }) ? ["isActive"] : [],
70
+ ...allowField({ type, field: "isIndexActive" }) ? ["isIndexActive"] : [],
71
+ ...allowField({ type, field: "isSlugActive" }) ? ["isSlugActive"] : [],
72
+ ...allowField({ type, field: "isFeatured" }) ? ["isFeatured"] : [],
73
+ ...allowField({ type, field: "isShownOnHome" }) ? ["isShownOnHome"] : []
74
+ ],
75
+ type,
76
+ Card,
77
+ Table,
78
+ localKey
79
+ }
80
+ ) })
65
81
  ] });
66
82
  };
67
83
  }
68
84
 
69
- export { createTagCreatePage };
85
+ export { createTagIndexPage };
@@ -4,41 +4,46 @@ import { useTranslator } from 'intor/react';
4
4
  import { SquareLibrary } from 'lucide-react';
5
5
  import { useParams } from 'next/navigation';
6
6
  import { POST_TYPES } from 'sitero-domain';
7
- import '../../../../../../../../../constants/paths/redirect.js';
8
- import '../../../../../../../../../constants/cms-locale.js';
9
- import '../../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
7
+ import '../../../../../../../../../../constants/paths/redirect.js';
8
+ import '../../../../../../../../../../constants/cms-locale.js';
9
+ import '../../../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
10
10
  import 'react';
11
- import '../../../../../../../../../core/client/infrastructure/react-query/client.js';
11
+ import '../../../../../../../../../../core/client/infrastructure/react-query/client.js';
12
12
  import '@tanstack/react-query';
13
13
  import 'mime-types';
14
14
  import 'clsx';
15
15
  import 'tailwind-merge';
16
- import { ensureArray } from '../../../../../../../../../shared/utils/ensure-array.js';
16
+ import { ensureArray } from '../../../../../../../../../../shared/utils/ensure-array.js';
17
17
  import 'zod';
18
18
  import 'sonner';
19
- import { useQuery } from '../../../../../../../../../core/client/infrastructure/react-query/use-query.js';
20
- import { getControlMeta } from '../../../../../../../applications/form/get-control-meta.js';
21
- import { PageHeader } from '../../../../../../components/ui/blocks/page-header/page-header.js';
19
+ import { useQuery } from '../../../../../../../../../../core/client/infrastructure/react-query/use-query.js';
20
+ import '../../../../../../../../../../core/domain/resources/admin/constants.js';
21
+ import { isContentTopic } from '../../../../../../../../../../core/domain/static/topics.js';
22
+ import { getControlMeta } from '../../../../../../../../applications/form/get-control-meta.js';
23
+ import { PageHeader } from '../../../../../../../components/ui/blocks/page-header/page-header.js';
22
24
  import '@radix-ui/react-avatar';
23
- import '../../../../../../components/shadcn/badge.js';
24
- import '../../../../../../components/shadcn/button.js';
25
+ import '../../../../../../../components/shadcn/badge.js';
26
+ import '../../../../../../../components/shadcn/button.js';
25
27
  import '@radix-ui/react-collapsible';
26
28
  import '@radix-ui/react-dialog';
27
29
  import '@radix-ui/react-dropdown-menu';
28
- import '../../../../../../components/shadcn/input-group.js';
30
+ import '../../../../../../../components/shadcn/input-group.js';
29
31
  import '@radix-ui/react-label';
30
32
  import '@radix-ui/react-radio-group';
31
33
  import '@radix-ui/react-select';
32
34
  import '@radix-ui/react-separator';
33
- import '../../../../../../components/shadcn/sidebar/sidebar.js';
35
+ import '../../../../../../../components/shadcn/sidebar/sidebar.js';
34
36
  import 'next-themes';
35
37
  import '@radix-ui/react-tabs';
36
38
  import '@radix-ui/react-tooltip';
37
39
 
38
40
  function createTopicEditPage({
41
+ topics: staticTopics,
39
42
  postFindFullAction,
40
43
  postFindManyAction,
41
- renderPostEditContent
44
+ renderPostEditContent,
45
+ PostEditContent,
46
+ allowField
42
47
  }) {
43
48
  return function TopicEditPage() {
44
49
  const { t } = useTranslator();
@@ -50,6 +55,7 @@ function createTopicEditPage({
50
55
  } = useQuery(() => postFindFullAction({ id }), ["postFindFullAction", id], {
51
56
  select: (data) => data?.post
52
57
  });
58
+ const isScopeNotFound = isNotFound || !!topic && !isContentTopic(staticTopics, topic.slug);
53
59
  const { data: topics, isFetching: isFetchingControlMeta } = useQuery(
54
60
  () => postFindManyAction({ type: POST_TYPES.TOPIC }),
55
61
  ["postFindManyAction", POST_TYPES.TOPIC],
@@ -71,11 +77,22 @@ function createTopicEditPage({
71
77
  }
72
78
  }
73
79
  ),
74
- renderPostEditContent({
80
+ PostEditContent && allowField && /* @__PURE__ */ jsx(
81
+ PostEditContent,
82
+ {
83
+ post: topic,
84
+ postType: POST_TYPES.TOPIC,
85
+ controlMeta,
86
+ isFetching: isFetching || isFetchingControlMeta,
87
+ isNotFound: isScopeNotFound,
88
+ allowField
89
+ }
90
+ ),
91
+ renderPostEditContent?.({
75
92
  topic,
76
93
  controlMeta,
77
94
  isFetching: isFetching || isFetchingControlMeta,
78
- isNotFound
95
+ isNotFound: isScopeNotFound
79
96
  })
80
97
  ] });
81
98
  };
@@ -2,56 +2,57 @@
2
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
3
  import { useTranslator } from 'intor/react';
4
4
  import { SquareLibrary } from 'lucide-react';
5
- import { useParams, useRouter } from 'next/navigation';
6
- import { CMS_PATHS } from '../../../../../../../../constants/paths/cms-paths.js';
7
- import '../../../../../../../../constants/paths/redirect.js';
8
- import '../../../../../../../../constants/cms-locale.js';
9
- import '../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
5
+ import { useParams } from 'next/navigation';
6
+ import { CMS_PATHS } from '../../../../../../../../../constants/paths/cms-paths.js';
7
+ import '../../../../../../../../../constants/paths/redirect.js';
8
+ import '../../../../../../../../../constants/cms-locale.js';
9
+ import '../../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
10
10
  import 'react';
11
- import '../../../../../../../../core/client/infrastructure/react-query/client.js';
11
+ import '../../../../../../../../../core/client/infrastructure/react-query/client.js';
12
12
  import '@tanstack/react-query';
13
- import { useCommand } from '../../../../../../../../core/client/infrastructure/react-query/use-command.js';
14
- import { useQuery } from '../../../../../../../../core/client/infrastructure/react-query/use-query.js';
15
13
  import 'mime-types';
16
14
  import 'sitero-domain';
17
15
  import 'clsx';
18
16
  import 'tailwind-merge';
19
- import { joinUrl } from '../../../../../../../../shared/utils/join-url.js';
17
+ import { joinUrl } from '../../../../../../../../../shared/utils/join-url.js';
20
18
  import 'zod';
21
- import { PageHeader } from '../../../../../components/ui/blocks/page-header/page-header.js';
19
+ import 'sonner';
20
+ import { useQuery } from '../../../../../../../../../core/client/infrastructure/react-query/use-query.js';
21
+ import '../../../../../../../../../core/domain/resources/admin/constants.js';
22
+ import { isContentTopic } from '../../../../../../../../../core/domain/static/topics.js';
23
+ import { PageHeader } from '../../../../../../components/ui/blocks/page-header/page-header.js';
22
24
  import '@radix-ui/react-avatar';
23
- import '../../../../../components/shadcn/badge.js';
24
- import '../../../../../components/shadcn/button.js';
25
+ import '../../../../../../components/shadcn/badge.js';
26
+ import '../../../../../../components/shadcn/button.js';
25
27
  import '@radix-ui/react-collapsible';
26
28
  import '@radix-ui/react-dialog';
27
29
  import '@radix-ui/react-dropdown-menu';
28
- import '../../../../../components/shadcn/input-group.js';
30
+ import '../../../../../../components/shadcn/input-group.js';
29
31
  import '@radix-ui/react-label';
30
32
  import '@radix-ui/react-radio-group';
31
33
  import '@radix-ui/react-select';
32
34
  import '@radix-ui/react-separator';
33
- import '../../../../../components/shadcn/sidebar/sidebar.js';
35
+ import '../../../../../../components/shadcn/sidebar/sidebar.js';
34
36
  import 'next-themes';
35
- import 'sonner';
36
37
  import '@radix-ui/react-tabs';
37
38
  import '@radix-ui/react-tooltip';
38
39
  import 'next/link';
39
- import '../../../../../../../../core/domain/resources/admin/constants.js';
40
- import { ExternalLink } from '../../../../../components/ui/features/external-link.js';
40
+ import { ExternalLink } from '../../../../../../components/ui/features/external-link.js';
41
41
  import 'next/image';
42
42
 
43
43
  function createTopicShowPage({
44
+ topics: staticTopics,
44
45
  enableSeoMetadata,
45
46
  externalHref,
46
47
  postFindFullAction,
47
- postDeleteAction,
48
48
  SeoMetadataDialog,
49
- renderPostShowContent
49
+ renderPostShowContent,
50
+ PostShowContent,
51
+ allowField
50
52
  }) {
51
53
  return function TopicShowPage() {
52
54
  const { t } = useTranslator();
53
55
  const { id } = useParams();
54
- const router = useRouter();
55
56
  const {
56
57
  data: topic,
57
58
  isFetching,
@@ -59,10 +60,7 @@ function createTopicShowPage({
59
60
  } = useQuery(() => postFindFullAction({ id }), ["postFindFullAction", id], {
60
61
  select: (data) => data?.post
61
62
  });
62
- const { execute, isRedirecting } = useCommand(
63
- () => postDeleteAction({ id }),
64
- { onSuccess: () => router.replace(CMS_PATHS.content.topic.pathname) }
65
- );
63
+ const isScopeNotFound = isNotFound || !!topic && !isContentTopic(staticTopics, topic.slug);
66
64
  return /* @__PURE__ */ jsxs(Fragment, { children: [
67
65
  /* @__PURE__ */ jsx(
68
66
  PageHeader,
@@ -79,13 +77,6 @@ function createTopicShowPage({
79
77
  )
80
78
  },
81
79
  editButtonProps: {},
82
- destroyButtonProps: {
83
- onClick: () => {
84
- if (!confirm(t("ui.dialog.confirm.text"))) return;
85
- void execute();
86
- },
87
- isLoading: isRedirecting
88
- },
89
80
  rightChildren: /* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
90
81
  !!enableSeoMetadata && /* @__PURE__ */ jsx(
91
82
  SeoMetadataDialog,
@@ -93,20 +84,29 @@ function createTopicShowPage({
93
84
  id,
94
85
  isArticle: true,
95
86
  isLoading: isFetching,
96
- isDisabled: isNotFound
87
+ isDisabled: isScopeNotFound
97
88
  }
98
89
  ),
99
90
  topic && externalHref?.(topic) && /* @__PURE__ */ jsx(ExternalLink, { href: externalHref?.(topic) })
100
91
  ] }),
101
- isDisabled: isFetching || !!topic?.isLocked,
102
- isNotFound,
92
+ isDisabled: isFetching || isScopeNotFound || !!topic?.isLocked,
93
+ isNotFound: isScopeNotFound,
103
94
  isLocked: !!topic?.isLocked
104
95
  }
105
96
  ),
106
- renderPostShowContent({
97
+ PostShowContent && allowField && /* @__PURE__ */ jsx(
98
+ PostShowContent,
99
+ {
100
+ post: topic,
101
+ isFetching,
102
+ isNotFound: isScopeNotFound,
103
+ allowField
104
+ }
105
+ ),
106
+ renderPostShowContent?.({
107
107
  topic,
108
108
  isFetching,
109
- isNotFound
109
+ isNotFound: isScopeNotFound
110
110
  })
111
111
  ] });
112
112
  };
@@ -2,11 +2,11 @@
2
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
3
  import { useTranslator } from 'intor/react';
4
4
  import { SquareLibrary } from 'lucide-react';
5
+ import { useMemo } from 'react';
5
6
  import { POST_TYPES } from 'sitero-domain';
6
7
  import '../../../../../../../../constants/paths/redirect.js';
7
8
  import '../../../../../../../../constants/cms-locale.js';
8
9
  import '../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
9
- import 'react';
10
10
  import '../../../../../../../../core/client/infrastructure/react-query/client.js';
11
11
  import '@tanstack/react-query';
12
12
  import 'mime-types';
@@ -16,8 +16,8 @@ import { ensureArray } from '../../../../../../../../shared/utils/ensure-array.j
16
16
  import 'zod';
17
17
  import 'sonner';
18
18
  import { useQuery } from '../../../../../../../../core/client/infrastructure/react-query/use-query.js';
19
- import { getControlMeta } from '../../../../../../applications/form/get-control-meta.js';
20
- import 'next/navigation';
19
+ import '../../../../../../../../core/domain/resources/admin/constants.js';
20
+ import { isContentTopic } from '../../../../../../../../core/domain/static/topics.js';
21
21
  import { PageHeader } from '../../../../../components/ui/blocks/page-header/page-header.js';
22
22
  import '@radix-ui/react-avatar';
23
23
  import '../../../../../components/shadcn/badge.js';
@@ -34,36 +34,62 @@ import '../../../../../components/shadcn/sidebar/sidebar.js';
34
34
  import 'next-themes';
35
35
  import '@radix-ui/react-tabs';
36
36
  import '@radix-ui/react-tooltip';
37
+ import 'next/navigation';
38
+ import 'intor/next';
39
+ import 'next/link';
40
+ import { ContentContainer } from '../../../../../components/ui/layouts/content-container.js';
37
41
 
38
- function createTopicCreatePage({
42
+ function createTopicIndexPage({
43
+ topics: staticTopics,
39
44
  postFindManyAction,
40
- renderPostCreateContent
45
+ TopicCard,
46
+ TopicTable,
47
+ PostList,
48
+ allowField
41
49
  }) {
42
- return function TopicCreatePage() {
50
+ return function TopicIndexPage() {
43
51
  const { t } = useTranslator();
44
- const { data: topics, isFetching: isFetchingControlMeta } = useQuery(
52
+ const { data: topics, isFetching } = useQuery(
45
53
  () => postFindManyAction({ type: POST_TYPES.TOPIC }),
46
54
  ["postFindManyAction", POST_TYPES.TOPIC],
47
55
  { select: (data) => data?.posts }
48
56
  );
49
- const controlMeta = getControlMeta({ records: ensureArray(topics) });
57
+ const topicIds = useMemo(
58
+ () => ensureArray(topics).filter((topic) => isContentTopic(staticTopics, topic.slug)).map((topic) => topic.id),
59
+ [topics, staticTopics]
60
+ );
50
61
  return /* @__PURE__ */ jsxs(Fragment, { children: [
51
62
  /* @__PURE__ */ jsx(
52
63
  PageHeader,
53
64
  {
54
- variant: "create",
65
+ variant: "index",
55
66
  titleProps: {
56
67
  icon: SquareLibrary,
57
68
  title: t("resources.topic.text")
58
- }
69
+ },
70
+ returnButtonProps: { className: "hidden" }
59
71
  }
60
72
  ),
61
- renderPostCreateContent({
62
- controlMeta,
63
- isFetching: isFetchingControlMeta
64
- })
73
+ /* @__PURE__ */ jsx(ContentContainer, { isFixHeight: true, children: /* @__PURE__ */ jsx(
74
+ PostList,
75
+ {
76
+ enabled: !isFetching,
77
+ usableFields: [
78
+ ...allowField({ type: POST_TYPES.TOPIC, field: "isActive" }) ? ["isActive"] : [],
79
+ ...allowField({ type: POST_TYPES.TOPIC, field: "isIndexActive" }) ? ["isIndexActive"] : [],
80
+ ...allowField({ type: POST_TYPES.TOPIC, field: "isSlugActive" }) ? ["isSlugActive"] : [],
81
+ ...allowField({ type: POST_TYPES.TOPIC, field: "isFeatured" }) ? ["isFeatured"] : [],
82
+ ...allowField({ type: POST_TYPES.TOPIC, field: "isShownOnHome" }) ? ["isShownOnHome"] : []
83
+ ],
84
+ type: POST_TYPES.TOPIC,
85
+ postIds: topicIds,
86
+ Card: TopicCard,
87
+ Table: TopicTable,
88
+ localKey: "topic"
89
+ }
90
+ ) })
65
91
  ] });
66
92
  };
67
93
  }
68
94
 
69
- export { createTopicCreatePage };
95
+ export { createTopicIndexPage };
@@ -31,6 +31,7 @@ import { useSidebar, SidebarInset } from '../../components/shadcn/sidebar/sideba
31
31
  import 'next-themes';
32
32
  import '@radix-ui/react-tabs';
33
33
  import '@radix-ui/react-tooltip';
34
+ import '../../../../../core/domain/resources/admin/constants.js';
34
35
  import 'intor/next';
35
36
  import 'next/link';
36
37
  import { DashboardSkeleton } from '../../components/ui/layouts/dashboard-skeleton.js';
@@ -31,6 +31,7 @@ import 'next-themes';
31
31
  import '@radix-ui/react-tabs';
32
32
  import '@radix-ui/react-tooltip';
33
33
  import 'next/navigation';
34
+ import '../../../../../core/domain/resources/admin/constants.js';
34
35
  import 'intor/next';
35
36
  import 'next/link';
36
37
  import { ContentContainer } from '../../components/ui/layouts/content-container.js';
@@ -31,6 +31,7 @@ import '../../../../../../../../constants/cms-locale.js';
31
31
  import '../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
32
32
  import '../../../../../../../../core/client/infrastructure/react-query/client.js';
33
33
  import '@tanstack/react-query';
34
+ import '../../../../../../../../core/domain/resources/admin/constants.js';
34
35
  import 'intor/next';
35
36
  import 'next/link';
36
37
  import { ContentContainer } from '../../../../../components/ui/layouts/content-container.js';
@@ -29,11 +29,12 @@ import 'sonner';
29
29
  import '@radix-ui/react-tabs';
30
30
  import '@radix-ui/react-tooltip';
31
31
  import 'next/navigation';
32
- import 'next/link';
33
- import { FeatureCard } from '../../../../components/ui/cards/feature-card.js';
34
32
  import '../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
35
33
  import '../../../../../../../core/client/infrastructure/react-query/client.js';
36
34
  import '@tanstack/react-query';
35
+ import '../../../../../../../core/domain/resources/admin/constants.js';
36
+ import 'next/link';
37
+ import { FeatureCard } from '../../../../components/ui/cards/feature-card.js';
37
38
  import 'intor/next';
38
39
  import { ContentContainer } from '../../../../components/ui/layouts/content-container.js';
39
40
 
@@ -31,6 +31,7 @@ import '../../../../../../../../constants/cms-locale.js';
31
31
  import '../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
32
32
  import '../../../../../../../../core/client/infrastructure/react-query/client.js';
33
33
  import '@tanstack/react-query';
34
+ import '../../../../../../../../core/domain/resources/admin/constants.js';
34
35
  import 'intor/next';
35
36
  import 'next/link';
36
37
  import { ContentContainer } from '../../../../../components/ui/layouts/content-container.js';
@@ -31,6 +31,7 @@ import '../../../../../../../../constants/cms-locale.js';
31
31
  import '../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
32
32
  import '../../../../../../../../core/client/infrastructure/react-query/client.js';
33
33
  import '@tanstack/react-query';
34
+ import '../../../../../../../../core/domain/resources/admin/constants.js';
34
35
  import 'intor/next';
35
36
  import 'next/link';
36
37
  import { ContentContainer } from '../../../../../components/ui/layouts/content-container.js';
@@ -31,6 +31,7 @@ import '../../../../../../../../constants/cms-locale.js';
31
31
  import '../../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
32
32
  import '../../../../../../../../core/client/infrastructure/react-query/client.js';
33
33
  import '@tanstack/react-query';
34
+ import '../../../../../../../../core/domain/resources/admin/constants.js';
34
35
  import 'intor/next';
35
36
  import 'next/link';
36
37
  import { ContentContainer } from '../../../../../components/ui/layouts/content-container.js';
@@ -29,11 +29,12 @@ import 'sonner';
29
29
  import '@radix-ui/react-tabs';
30
30
  import '@radix-ui/react-tooltip';
31
31
  import 'next/navigation';
32
- import 'next/link';
33
- import { FeatureCard } from '../../../../components/ui/cards/feature-card.js';
34
32
  import '../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
35
33
  import '../../../../../../../core/client/infrastructure/react-query/client.js';
36
34
  import '@tanstack/react-query';
35
+ import '../../../../../../../core/domain/resources/admin/constants.js';
36
+ import 'next/link';
37
+ import { FeatureCard } from '../../../../components/ui/cards/feature-card.js';
37
38
  import 'intor/next';
38
39
  import { ContentContainer } from '../../../../components/ui/layouts/content-container.js';
39
40
 
@@ -19,8 +19,8 @@ import '../../../../../../../../core/domain/resources/admin/constants.js';
19
19
  import { isFileLocked } from '../../../../../../../../core/domain/resources/file/utils/is-file-locked.js';
20
20
  import { usePickItems } from '../../../../../../applications/form/use-pick-items.js';
21
21
  import 'next/navigation';
22
- import { PageHeader } from '../../../../../components/ui/blocks/page-header/page-header.js';
23
22
  import 'lucide-react';
23
+ import { PageHeader } from '../../../../../components/ui/blocks/page-header/page-header.js';
24
24
  import '@radix-ui/react-avatar';
25
25
  import '../../../../../components/shadcn/badge.js';
26
26
  import '../../../../../components/shadcn/button.js';
@@ -35,6 +35,7 @@ import 'next-themes';
35
35
  import 'sonner';
36
36
  import '@radix-ui/react-tabs';
37
37
  import '@radix-ui/react-tooltip';
38
+ import '../../../../../../../../core/domain/resources/admin/constants.js';
38
39
  import { Field } from '../../../../../components/ui/form/field.js';
39
40
  import { FieldBody } from '../../../../../components/ui/form/field-body.js';
40
41
  import { FieldsContainer } from '../../../../../components/ui/form/containers/fields-container.js';