sitero 0.1.0 → 0.1.2

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 (401) hide show
  1. package/dist/export/cms/client/components/editor/index.js +3 -0
  2. package/dist/export/cms/client/components/index.js +24 -21
  3. package/dist/export/cms/client/i18n/index.js +1 -0
  4. package/dist/export/cms/client/index.js +10 -0
  5. package/dist/export/cms/client/pages/index.js +10 -8
  6. package/dist/export/core/server/index.js +8 -1
  7. package/dist/export/index.js +2 -1
  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 +202 -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/admin.js +1 -1
  13. package/dist/src/cms/client/infrastructure/i18n/messages/en-US/resources/index.js +1 -0
  14. package/dist/src/cms/client/infrastructure/i18n/messages/index.js +9 -0
  15. package/dist/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/admin.js +1 -1
  16. package/dist/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/index.js +1 -0
  17. package/dist/src/cms/client/interfaces/components/create-components.js +25 -24
  18. package/dist/src/cms/client/interfaces/components/create-post-contents.js +85 -0
  19. package/dist/src/cms/client/interfaces/components/resources/admin/admin-card.js +6 -2
  20. package/dist/src/cms/client/interfaces/components/resources/admin/admin-refresh-tokens/admin-refresh-token-card.js +3 -0
  21. package/dist/src/cms/client/interfaces/components/resources/admin/admin-relations-section.js +2 -3
  22. package/dist/src/cms/client/interfaces/components/resources/admin/admin-table.js +3 -2
  23. package/dist/src/cms/client/interfaces/components/resources/config/config-edit-content.js +19 -2
  24. package/dist/src/cms/client/interfaces/components/resources/file/file-card.js +3 -0
  25. package/dist/src/cms/client/interfaces/components/resources/file/file-relations-section.js +2 -3
  26. package/dist/src/cms/client/interfaces/components/resources/file/file-state-icons.js +1 -2
  27. package/dist/src/cms/client/interfaces/components/resources/file/file-table.js +0 -1
  28. package/dist/src/cms/client/interfaces/components/resources/file/search/is-locked-buttons.js +6 -0
  29. package/dist/src/cms/client/interfaces/components/resources/file/search/type-buttons.js +6 -0
  30. package/dist/src/cms/client/interfaces/components/resources/folder/file-manager/file-manager-header.js +1 -2
  31. package/dist/src/cms/client/interfaces/components/resources/folder/file-manager/file-manager-list.js +0 -1
  32. package/dist/src/cms/client/interfaces/components/resources/folder/folder-card.js +3 -0
  33. package/dist/src/cms/client/interfaces/components/resources/folder/folder-list.js +0 -1
  34. package/dist/src/cms/client/interfaces/components/resources/folder/folder-relations-section.js +0 -1
  35. package/dist/src/cms/client/interfaces/components/resources/folder/folder-state-icons.js +1 -2
  36. package/dist/src/cms/client/interfaces/components/resources/folder/folder-table.js +0 -1
  37. package/dist/src/cms/client/interfaces/components/resources/inquiry/inquiry-card.js +3 -0
  38. package/dist/src/cms/client/interfaces/components/resources/{category → post/category}/category-card.js +25 -19
  39. package/dist/src/cms/client/interfaces/components/resources/{category → post/category}/category-relations-section.js +25 -18
  40. package/dist/src/cms/client/interfaces/components/resources/{category → post/category}/category-table.js +27 -21
  41. package/dist/src/cms/client/interfaces/components/resources/post/content/post-create-content.js +462 -0
  42. package/dist/src/cms/client/interfaces/components/resources/post/content/post-edit-content.js +460 -0
  43. package/dist/src/cms/client/interfaces/components/resources/post/content/post-show-content.js +217 -0
  44. package/dist/src/cms/client/interfaces/components/resources/post/content/types.js +12 -0
  45. package/dist/src/cms/client/interfaces/components/resources/post/post-card.js +16 -71
  46. package/dist/src/cms/client/interfaces/components/resources/post/post-list.js +3 -6
  47. package/dist/src/cms/client/interfaces/components/resources/post/post-relations-section.js +0 -1
  48. package/dist/src/cms/client/interfaces/components/resources/post/post-table.js +0 -1
  49. package/dist/src/cms/client/interfaces/components/resources/post/search/control-fields-buttons.js +9 -50
  50. package/dist/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-card.js +18 -17
  51. package/dist/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-relations-section.js +13 -14
  52. package/dist/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-table.js +19 -17
  53. package/dist/src/cms/client/interfaces/components/resources/{topic → post/topic}/topic-card.js +28 -22
  54. package/dist/src/cms/client/interfaces/components/resources/{topic → post/topic}/topic-table.js +31 -24
  55. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/fields/basic-tags.js +1 -2
  56. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/fields/json-ld-tags.js +1 -2
  57. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/fields/open-graph-tags.js +1 -2
  58. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-form/fields/twitter-tags.js +1 -2
  59. package/dist/src/cms/client/interfaces/components/resources/seo-metadata/seo-metadata-dialog.js +5 -0
  60. package/dist/src/cms/client/interfaces/components/ui/blocks/list-container/list-container.js +5 -0
  61. package/dist/src/cms/client/interfaces/components/ui/blocks/list-container/page-size-selector.js +5 -0
  62. package/dist/src/cms/client/interfaces/components/ui/blocks/page-header/page-header.js +6 -1
  63. package/dist/src/cms/client/interfaces/components/ui/blocks/page-header/presets/index.js +11 -0
  64. package/dist/src/cms/client/interfaces/components/ui/buttons/return-button.js +6 -0
  65. package/dist/src/cms/client/interfaces/components/ui/features/external-link.js +6 -0
  66. package/dist/src/cms/client/interfaces/components/ui/features/file/file-info/file-info.js +4 -1
  67. package/dist/src/cms/client/interfaces/components/ui/features/file/file-preview/file-preview-list.js +6 -0
  68. package/dist/src/cms/client/interfaces/components/ui/features/file/uploader.js +0 -1
  69. package/dist/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal-body.js +7 -4
  70. package/dist/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal-trigger.js +5 -0
  71. package/dist/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal.js +5 -0
  72. package/dist/src/cms/client/interfaces/components/ui/form/index-field.js +1 -0
  73. package/dist/src/cms/client/interfaces/components/ui/i18n/display/i18n-array-display.js +4 -1
  74. package/dist/src/cms/client/interfaces/components/ui/i18n/display/i18n-display.js +4 -1
  75. package/dist/src/cms/client/interfaces/components/ui/i18n/display/i18n-object-array-display.js +4 -1
  76. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-array-input.js +5 -0
  77. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-date-input.js +5 -0
  78. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-input.js +5 -0
  79. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-json-input.js +6 -1
  80. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-number-input.js +5 -0
  81. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-object-array-input.js +5 -0
  82. package/dist/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-textarea.js +5 -0
  83. package/dist/src/cms/client/interfaces/components/ui/inputs/array-input.js +5 -0
  84. package/dist/src/cms/client/interfaces/components/ui/inputs/editor/base/built-in-plugins.js +1 -2
  85. package/dist/src/cms/client/interfaces/components/ui/inputs/editor/editor.js +0 -1
  86. package/dist/src/cms/client/interfaces/components/ui/inputs/editor/plugins/file-repository/upload-adapter.js +1 -2
  87. package/dist/src/cms/client/interfaces/components/ui/layouts/navbar/i18n-selector.js +4 -0
  88. package/dist/src/cms/client/interfaces/components/ui/layouts/navbar/theme-selector.js +5 -0
  89. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/_id_/edit/page.js +19 -4
  90. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/_id_/page.js +42 -4
  91. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/category/create/page.js +20 -5
  92. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/page.js +97 -40
  93. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/_id_/edit/page.js +33 -5
  94. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/_id_/page.js +34 -4
  95. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/post/create/page.js +33 -5
  96. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/_id_/edit/page.js +114 -0
  97. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/_id_/page.js +169 -0
  98. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/_topicSlug_/subcategory/create/page.js +116 -0
  99. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/page.js +7 -1
  100. package/dist/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/_id_/edit/page.js +99 -0
  101. package/dist/src/cms/client/interfaces/pages/dashboard/content/{tag → content-management/tag}/_id_/page.js +39 -22
  102. package/dist/src/cms/client/interfaces/pages/dashboard/content/{tag/_id_/edit → content-management/tag/create}/page.js +23 -26
  103. package/dist/src/cms/client/interfaces/pages/dashboard/content/{tag/create → content-management/tag}/page.js +42 -27
  104. package/dist/src/cms/client/interfaces/pages/dashboard/content/{topic → content-management/topic}/_id_/edit/page.js +31 -15
  105. package/dist/src/cms/client/interfaces/pages/dashboard/content/{topic → content-management/topic}/_id_/page.js +35 -36
  106. package/dist/src/cms/client/interfaces/pages/dashboard/content/{topic/create → content-management/topic}/page.js +40 -15
  107. package/dist/src/cms/client/interfaces/pages/dashboard/system/access/admin/_id_/admin-refresh-token/page.js +0 -1
  108. package/dist/src/cms/client/interfaces/pages/dashboard/system/access/admin/_id_/edit/page.js +3 -2
  109. package/dist/src/cms/client/interfaces/pages/dashboard/system/access/admin/_id_/page.js +3 -2
  110. package/dist/src/cms/client/interfaces/pages/dashboard/system/access/admin/create/page.js +3 -2
  111. package/dist/src/cms/client/interfaces/pages/dashboard/system/access/page.js +2 -2
  112. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/_id_/edit/page.js +0 -1
  113. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/_id_/page.js +0 -1
  114. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/create/page.js +0 -1
  115. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/create-many/page.js +0 -1
  116. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/file/delete-many/page.js +0 -1
  117. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/folder/_id_/edit/page.js +0 -1
  118. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/folder/_id_/page.js +0 -1
  119. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/folder/create/page.js +0 -1
  120. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/page.js +2 -2
  121. package/dist/src/cms/client/interfaces/pages/dashboard/system/storage/trash/page.js +1 -2
  122. package/dist/src/cms/client/interfaces/pages/dashboard/website/website-page/_slug_/page.js +0 -1
  123. package/dist/src/constants/paths/cms-paths.js +7 -4
  124. package/dist/src/core/domain/static/topics.js +29 -0
  125. package/dist/src/core/server/create-core-server.js +0 -1
  126. package/dist/src/core/server/infrastructure/database/file/query/file-query-repository.js +1 -1
  127. package/dist/src/core/server/infrastructure/database/folder/query/folder-query-repository.js +1 -1
  128. package/dist/src/core/server/infrastructure/database/post/command/post-command-repository.js +6 -151
  129. package/dist/src/core/server/infrastructure/database/post/command/post-create-data.js +81 -0
  130. package/dist/src/core/server/infrastructure/database/post/command/post-update-data.js +86 -0
  131. package/dist/src/core/server/infrastructure/i18n/messages/index.js +9 -0
  132. package/dist/src/core/server/interfaces/actions/resources/file/commands/purge-many/file-purge-many-action.js +1 -1
  133. package/dist/src/core/server/interfaces/actions/resources/file/commands/soft-delete/file-soft-delete-action.js +1 -1
  134. package/dist/src/core/server/interfaces/actions/resources/file/commands/soft-delete-many/file-soft-delete-many-action.js +1 -1
  135. package/dist/src/core/server/interfaces/actions/resources/folder/commands/delete/folder-delete-action.js +1 -1
  136. package/dist/src/core/server/interfaces/actions/resources/folder/queries/folder-find-full-action.js +1 -1
  137. package/dist/src/core/server/seeders/folder/seeder.js +1 -1
  138. package/dist/src/web/server/applications/sitemap/get-post-items.js +46 -6
  139. package/dist/src/web/server/applications/sitemap/get-subcategory-items.js +34 -0
  140. package/dist/src/web/server/create-web-server.js +0 -1
  141. package/dist/src/web/server/interfaces/actions/resources/config/queries/config-find-action.js +0 -1
  142. package/dist/src/web/server/interfaces/actions/resources/post/queries/post-find-full-action.js +0 -1
  143. package/dist/src/web/server/interfaces/create-web-interfaces.js +4 -0
  144. package/dist/src/web/server/interfaces/loaders/load-categories.js +6 -4
  145. package/dist/src/web/server/interfaces/loaders/load-category.js +8 -2
  146. package/dist/src/web/server/interfaces/loaders/load-post.js +8 -2
  147. package/dist/src/web/server/interfaces/loaders/load-posts.js +7 -3
  148. package/dist/src/web/server/interfaces/loaders/load-subcategories.js +60 -0
  149. package/dist/src/web/server/interfaces/loaders/load-subcategory.js +27 -0
  150. package/dist/types/export/cms/client/components/index.d.ts +4 -1
  151. package/dist/types/export/cms/client/components/index.d.ts.map +1 -1
  152. package/dist/types/export/cms/client/i18n/index.d.ts +1 -1
  153. package/dist/types/export/cms/client/i18n/index.d.ts.map +1 -1
  154. package/dist/types/export/cms/client/index.d.ts +1 -1
  155. package/dist/types/export/cms/client/index.d.ts.map +1 -1
  156. package/dist/types/export/cms/client/pages/index.d.ts +1 -1
  157. package/dist/types/export/cms/client/pages/index.d.ts.map +1 -1
  158. package/dist/types/export/core/server/index.d.ts +6 -1
  159. package/dist/types/export/core/server/index.d.ts.map +1 -1
  160. package/dist/types/export/index.d.ts +2 -2
  161. package/dist/types/export/index.d.ts.map +1 -1
  162. package/dist/types/export/web/server/index.d.ts +1 -1
  163. package/dist/types/export/web/server/index.d.ts.map +1 -1
  164. package/dist/types/src/cms/client/applications/create-applications.d.ts.map +1 -1
  165. package/dist/types/src/cms/client/applications/resources/post/use-create-form-data.d.ts +1 -1
  166. package/dist/types/src/cms/client/applications/resources/post/use-create-form-data.d.ts.map +1 -1
  167. package/dist/types/src/cms/client/applications/types.d.ts +2 -1
  168. package/dist/types/src/cms/client/applications/types.d.ts.map +1 -1
  169. package/dist/types/src/cms/client/applications/ui/index.d.ts +1 -0
  170. package/dist/types/src/cms/client/applications/ui/index.d.ts.map +1 -1
  171. package/dist/types/src/cms/client/applications/ui/use-nav-items.d.ts +20 -0
  172. package/dist/types/src/cms/client/applications/ui/use-nav-items.d.ts.map +1 -0
  173. package/dist/types/src/cms/client/infrastructure/i18n/index.d.ts +1 -0
  174. package/dist/types/src/cms/client/infrastructure/i18n/index.d.ts.map +1 -1
  175. package/dist/types/src/cms/client/infrastructure/i18n/intor-config.d.ts.map +1 -1
  176. package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/index.d.ts +4 -1
  177. package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/index.d.ts.map +1 -1
  178. package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/admin.d.ts +1 -1
  179. package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/index.d.ts +4 -1
  180. package/dist/types/src/cms/client/infrastructure/i18n/messages/en-US/resources/index.d.ts.map +1 -1
  181. package/dist/types/src/cms/client/infrastructure/i18n/messages/index.d.ts +1347 -0
  182. package/dist/types/src/cms/client/infrastructure/i18n/messages/index.d.ts.map +1 -0
  183. package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/index.d.ts +4 -1
  184. package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/index.d.ts.map +1 -1
  185. package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/admin.d.ts +1 -1
  186. package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/index.d.ts +4 -1
  187. package/dist/types/src/cms/client/infrastructure/i18n/messages/zh-TW/resources/index.d.ts.map +1 -1
  188. package/dist/types/src/cms/client/interfaces/components/create-components.d.ts +10 -5
  189. package/dist/types/src/cms/client/interfaces/components/create-components.d.ts.map +1 -1
  190. package/dist/types/src/cms/client/interfaces/components/create-post-contents.d.ts +38 -0
  191. package/dist/types/src/cms/client/interfaces/components/create-post-contents.d.ts.map +1 -0
  192. package/dist/types/src/cms/client/interfaces/components/resources/admin/admin-card.d.ts.map +1 -1
  193. package/dist/types/src/cms/client/interfaces/components/resources/admin/admin-relations-section.d.ts +1 -2
  194. package/dist/types/src/cms/client/interfaces/components/resources/admin/admin-relations-section.d.ts.map +1 -1
  195. package/dist/types/src/cms/client/interfaces/components/resources/admin/admin-table.d.ts.map +1 -1
  196. package/dist/types/src/cms/client/interfaces/components/resources/config/config-edit-content.d.ts +1 -1
  197. package/dist/types/src/cms/client/interfaces/components/resources/config/config-edit-content.d.ts.map +1 -1
  198. package/dist/types/src/cms/client/interfaces/components/resources/file/file-relations-section.d.ts +1 -2
  199. package/dist/types/src/cms/client/interfaces/components/resources/file/file-relations-section.d.ts.map +1 -1
  200. package/dist/types/src/cms/client/interfaces/components/resources/index.d.ts +5 -4
  201. package/dist/types/src/cms/client/interfaces/components/resources/index.d.ts.map +1 -1
  202. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-card.d.ts +8 -0
  203. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-card.d.ts.map +1 -0
  204. package/dist/types/src/cms/client/interfaces/components/resources/{category → post/category}/category-relations-section.d.ts +4 -4
  205. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-relations-section.d.ts.map +1 -0
  206. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-table.d.ts +8 -0
  207. package/dist/types/src/cms/client/interfaces/components/resources/post/category/category-table.d.ts.map +1 -0
  208. package/dist/types/src/cms/client/interfaces/components/resources/post/category/index.d.ts.map +1 -0
  209. package/dist/types/src/cms/client/interfaces/components/resources/post/content/index.d.ts +6 -0
  210. package/dist/types/src/cms/client/interfaces/components/resources/post/content/index.d.ts.map +1 -0
  211. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-create-content.d.ts +46 -0
  212. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-create-content.d.ts.map +1 -0
  213. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-edit-content.d.ts +45 -0
  214. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-edit-content.d.ts.map +1 -0
  215. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-show-content.d.ts +26 -0
  216. package/dist/types/src/cms/client/interfaces/components/resources/post/content/post-show-content.d.ts.map +1 -0
  217. package/dist/types/src/cms/client/interfaces/components/resources/post/content/types.d.ts +19 -0
  218. package/dist/types/src/cms/client/interfaces/components/resources/post/content/types.d.ts.map +1 -0
  219. package/dist/types/src/cms/client/interfaces/components/resources/post/index.d.ts +2 -0
  220. package/dist/types/src/cms/client/interfaces/components/resources/post/index.d.ts.map +1 -1
  221. package/dist/types/src/cms/client/interfaces/components/resources/post/post-card.d.ts +1 -8
  222. package/dist/types/src/cms/client/interfaces/components/resources/post/post-card.d.ts.map +1 -1
  223. package/dist/types/src/cms/client/interfaces/components/resources/post/post-list.d.ts +4 -3
  224. package/dist/types/src/cms/client/interfaces/components/resources/post/post-list.d.ts.map +1 -1
  225. package/dist/types/src/cms/client/interfaces/components/resources/post/post-relations-section.d.ts +1 -1
  226. package/dist/types/src/cms/client/interfaces/components/resources/post/post-relations-section.d.ts.map +1 -1
  227. package/dist/types/src/cms/client/interfaces/components/resources/post/search/control-fields-buttons.d.ts +0 -2
  228. package/dist/types/src/cms/client/interfaces/components/resources/post/search/control-fields-buttons.d.ts.map +1 -1
  229. package/dist/types/src/cms/client/interfaces/components/resources/post/tag/index.d.ts.map +1 -0
  230. package/dist/types/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-card.d.ts +1 -1
  231. package/dist/types/src/cms/client/interfaces/components/resources/post/tag/tag-card.d.ts.map +1 -0
  232. package/dist/types/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-relations-section.d.ts +4 -4
  233. package/dist/types/src/cms/client/interfaces/components/resources/post/tag/tag-relations-section.d.ts.map +1 -0
  234. package/dist/types/src/cms/client/interfaces/components/resources/{tag → post/tag}/tag-table.d.ts +1 -1
  235. package/dist/types/src/cms/client/interfaces/components/resources/post/tag/tag-table.d.ts.map +1 -0
  236. package/dist/types/src/cms/client/interfaces/components/resources/post/topic/index.d.ts.map +1 -0
  237. package/dist/types/src/cms/client/interfaces/components/resources/{topic → post/topic}/topic-card.d.ts +2 -2
  238. package/dist/types/src/cms/client/interfaces/components/resources/post/topic/topic-card.d.ts.map +1 -0
  239. package/dist/types/src/cms/client/interfaces/components/resources/{topic → post/topic}/topic-table.d.ts +2 -2
  240. package/dist/types/src/cms/client/interfaces/components/resources/post/topic/topic-table.d.ts.map +1 -0
  241. package/dist/types/src/cms/client/interfaces/components/ui/blocks/page-header/presets/index.d.ts.map +1 -1
  242. package/dist/types/src/cms/client/interfaces/components/ui/blocks/page-header/types.d.ts +1 -0
  243. package/dist/types/src/cms/client/interfaces/components/ui/blocks/page-header/types.d.ts.map +1 -1
  244. package/dist/types/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal.d.ts +2 -1
  245. package/dist/types/src/cms/client/interfaces/components/ui/features/pick-modal/pick-modal.d.ts.map +1 -1
  246. package/dist/types/src/cms/client/interfaces/components/ui/form/index-field.d.ts.map +1 -1
  247. package/dist/types/src/cms/client/interfaces/components/ui/i18n/display/i18n-array-display.d.ts.map +1 -1
  248. package/dist/types/src/cms/client/interfaces/components/ui/i18n/display/i18n-display.d.ts.map +1 -1
  249. package/dist/types/src/cms/client/interfaces/components/ui/i18n/display/i18n-object-array-display.d.ts.map +1 -1
  250. package/dist/types/src/cms/client/interfaces/components/ui/i18n/inputs/i18n-json-input.d.ts.map +1 -1
  251. package/dist/types/src/cms/client/interfaces/components/ui/inputs/editor/base/built-in-plugins.d.ts.map +1 -1
  252. package/dist/types/src/cms/client/interfaces/components/ui/layouts/content-container.d.ts +1 -1
  253. package/dist/types/src/cms/client/interfaces/components/ui/layouts/content-container.d.ts.map +1 -1
  254. package/dist/types/src/cms/client/interfaces/components/ui/layouts/sidebar/nav-main.d.ts +1 -1
  255. package/dist/types/src/cms/client/interfaces/components/ui/layouts/sidebar/nav-main.d.ts.map +1 -1
  256. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/edit/page.d.ts +6 -2
  257. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/edit/page.d.ts.map +1 -1
  258. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/page.d.ts +6 -3
  259. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/[id]/page.d.ts.map +1 -1
  260. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/create/page.d.ts +6 -2
  261. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/category/create/page.d.ts.map +1 -1
  262. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/page.d.ts +3 -3
  263. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/page.d.ts.map +1 -1
  264. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/edit/page.d.ts +6 -2
  265. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/edit/page.d.ts.map +1 -1
  266. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/page.d.ts +7 -3
  267. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/[id]/page.d.ts.map +1 -1
  268. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/create/page.d.ts +6 -2
  269. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/post/create/page.d.ts.map +1 -1
  270. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/edit/page.d.ts +24 -0
  271. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/edit/page.d.ts.map +1 -0
  272. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/page.d.ts +27 -0
  273. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/[id]/page.d.ts.map +1 -0
  274. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/create/page.d.ts +24 -0
  275. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/create/page.d.ts.map +1 -0
  276. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/index.d.ts +4 -0
  277. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/[topicSlug]/subcategory/index.d.ts.map +1 -0
  278. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/page.d.ts +3 -1
  279. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/page.d.ts.map +1 -1
  280. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/edit/page.d.ts +20 -0
  281. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/edit/page.d.ts.map +1 -0
  282. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/page.d.ts +23 -0
  283. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/[id]/page.d.ts.map +1 -0
  284. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/create/page.d.ts +16 -0
  285. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/create/page.d.ts.map +1 -0
  286. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/index.d.ts.map +1 -0
  287. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/page.d.ts +14 -0
  288. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/tag/page.d.ts.map +1 -0
  289. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/edit/page.d.ts +20 -0
  290. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/edit/page.d.ts.map +1 -0
  291. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/page.d.ts +20 -0
  292. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/[id]/page.d.ts.map +1 -0
  293. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/{topic → content-management/topic}/index.d.ts +0 -1
  294. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/index.d.ts.map +1 -0
  295. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/page.d.ts +14 -0
  296. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/content-management/topic/page.d.ts.map +1 -0
  297. package/dist/types/src/cms/client/interfaces/pages/dashboard/system/access/admin/[id]/edit/page.d.ts.map +1 -1
  298. package/dist/types/src/cms/client/interfaces/pages/dashboard/system/access/admin/[id]/page.d.ts.map +1 -1
  299. package/dist/types/src/cms/client/interfaces/pages/dashboard/system/access/admin/create/page.d.ts.map +1 -1
  300. package/dist/types/src/cms/client/interfaces/pages/index.d.ts +3 -2
  301. package/dist/types/src/cms/client/interfaces/pages/index.d.ts.map +1 -1
  302. package/dist/types/src/constants/paths/cms-paths.d.ts +9 -6
  303. package/dist/types/src/constants/paths/cms-paths.d.ts.map +1 -1
  304. package/dist/types/src/core/domain/index.d.ts +2 -2
  305. package/dist/types/src/core/domain/index.d.ts.map +1 -1
  306. package/dist/types/src/core/domain/resources/admin/index.d.ts +0 -1
  307. package/dist/types/src/core/domain/resources/admin/index.d.ts.map +1 -1
  308. package/dist/types/src/core/domain/resources/index.d.ts +1 -1
  309. package/dist/types/src/core/domain/resources/index.d.ts.map +1 -1
  310. package/dist/types/src/core/domain/static/index.d.ts +1 -1
  311. package/dist/types/src/core/domain/static/index.d.ts.map +1 -1
  312. package/dist/types/src/core/domain/static/post.d.ts +1 -1
  313. package/dist/types/src/core/domain/static/post.d.ts.map +1 -1
  314. package/dist/types/src/core/domain/static/topics.d.ts +36 -3
  315. package/dist/types/src/core/domain/static/topics.d.ts.map +1 -1
  316. package/dist/types/src/core/server/infrastructure/database/index.d.ts +1 -1
  317. package/dist/types/src/core/server/infrastructure/database/index.d.ts.map +1 -1
  318. package/dist/types/src/core/server/infrastructure/database/post/command/index.d.ts +2 -0
  319. package/dist/types/src/core/server/infrastructure/database/post/command/index.d.ts.map +1 -1
  320. package/dist/types/src/core/server/infrastructure/database/post/command/post-command-repository.d.ts +2 -2
  321. package/dist/types/src/core/server/infrastructure/database/post/command/post-command-repository.d.ts.map +1 -1
  322. package/dist/types/src/core/server/infrastructure/database/post/command/post-create-data.d.ts +160 -0
  323. package/dist/types/src/core/server/infrastructure/database/post/command/post-create-data.d.ts.map +1 -0
  324. package/dist/types/src/core/server/infrastructure/database/post/command/post-update-data.d.ts +207 -0
  325. package/dist/types/src/core/server/infrastructure/database/post/command/post-update-data.d.ts.map +1 -0
  326. package/dist/types/src/core/server/infrastructure/database/post/index.d.ts +1 -1
  327. package/dist/types/src/core/server/infrastructure/database/post/index.d.ts.map +1 -1
  328. package/dist/types/src/core/server/infrastructure/i18n/index.d.ts +1 -0
  329. package/dist/types/src/core/server/infrastructure/i18n/index.d.ts.map +1 -1
  330. package/dist/types/src/core/server/infrastructure/i18n/messages/index.d.ts +105 -0
  331. package/dist/types/src/core/server/infrastructure/i18n/messages/index.d.ts.map +1 -0
  332. package/dist/types/src/core/server/infrastructure/index.d.ts +1 -1
  333. package/dist/types/src/core/server/infrastructure/index.d.ts.map +1 -1
  334. package/dist/types/src/shared/form/types.d.ts +2 -2
  335. package/dist/types/src/shared/form/types.d.ts.map +1 -1
  336. package/dist/types/src/web/server/applications/index.d.ts +1 -1
  337. package/dist/types/src/web/server/applications/index.d.ts.map +1 -1
  338. package/dist/types/src/web/server/applications/sitemap/get-post-items.d.ts +3 -1
  339. package/dist/types/src/web/server/applications/sitemap/get-post-items.d.ts.map +1 -1
  340. package/dist/types/src/web/server/applications/sitemap/get-subcategory-items.d.ts +18 -0
  341. package/dist/types/src/web/server/applications/sitemap/get-subcategory-items.d.ts.map +1 -0
  342. package/dist/types/src/web/server/applications/sitemap/index.d.ts +1 -0
  343. package/dist/types/src/web/server/applications/sitemap/index.d.ts.map +1 -1
  344. package/dist/types/src/web/server/index.d.ts +1 -0
  345. package/dist/types/src/web/server/index.d.ts.map +1 -1
  346. package/dist/types/src/web/server/interfaces/create-web-interfaces.d.ts.map +1 -1
  347. package/dist/types/src/web/server/interfaces/loaders/index.d.ts +2 -0
  348. package/dist/types/src/web/server/interfaces/loaders/index.d.ts.map +1 -1
  349. package/dist/types/src/web/server/interfaces/loaders/load-categories.d.ts.map +1 -1
  350. package/dist/types/src/web/server/interfaces/loaders/load-category.d.ts.map +1 -1
  351. package/dist/types/src/web/server/interfaces/loaders/load-post.d.ts.map +1 -1
  352. package/dist/types/src/web/server/interfaces/loaders/load-posts.d.ts.map +1 -1
  353. package/dist/types/src/web/server/interfaces/loaders/load-subcategories.d.ts +10 -0
  354. package/dist/types/src/web/server/interfaces/loaders/load-subcategories.d.ts.map +1 -0
  355. package/dist/types/src/web/server/interfaces/loaders/load-subcategory.d.ts +8 -0
  356. package/dist/types/src/web/server/interfaces/loaders/load-subcategory.d.ts.map +1 -0
  357. package/dist/types/src/web/server/interfaces/types.d.ts +3 -1
  358. package/dist/types/src/web/server/interfaces/types.d.ts.map +1 -1
  359. package/package.json +3 -3
  360. package/dist/src/cms/client/interfaces/pages/dashboard/content/tag/page.js +0 -81
  361. package/dist/src/cms/client/interfaces/pages/dashboard/content/topic/page.js +0 -79
  362. package/dist/src/core/domain/resources/admin/constants.js +0 -9
  363. package/dist/types/src/cms/client/interfaces/components/resources/category/category-card.d.ts +0 -3
  364. package/dist/types/src/cms/client/interfaces/components/resources/category/category-card.d.ts.map +0 -1
  365. package/dist/types/src/cms/client/interfaces/components/resources/category/category-relations-section.d.ts.map +0 -1
  366. package/dist/types/src/cms/client/interfaces/components/resources/category/category-table.d.ts +0 -3
  367. package/dist/types/src/cms/client/interfaces/components/resources/category/category-table.d.ts.map +0 -1
  368. package/dist/types/src/cms/client/interfaces/components/resources/category/index.d.ts.map +0 -1
  369. package/dist/types/src/cms/client/interfaces/components/resources/tag/index.d.ts.map +0 -1
  370. package/dist/types/src/cms/client/interfaces/components/resources/tag/tag-card.d.ts.map +0 -1
  371. package/dist/types/src/cms/client/interfaces/components/resources/tag/tag-relations-section.d.ts.map +0 -1
  372. package/dist/types/src/cms/client/interfaces/components/resources/tag/tag-table.d.ts.map +0 -1
  373. package/dist/types/src/cms/client/interfaces/components/resources/topic/index.d.ts.map +0 -1
  374. package/dist/types/src/cms/client/interfaces/components/resources/topic/topic-card.d.ts.map +0 -1
  375. package/dist/types/src/cms/client/interfaces/components/resources/topic/topic-table.d.ts.map +0 -1
  376. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/[id]/edit/page.d.ts +0 -15
  377. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/[id]/edit/page.d.ts.map +0 -1
  378. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/[id]/page.d.ts +0 -17
  379. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/[id]/page.d.ts.map +0 -1
  380. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/create/page.d.ts +0 -11
  381. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/create/page.d.ts.map +0 -1
  382. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/index.d.ts.map +0 -1
  383. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/page.d.ts +0 -8
  384. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/tag/page.d.ts.map +0 -1
  385. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/[id]/edit/page.d.ts +0 -15
  386. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/[id]/edit/page.d.ts.map +0 -1
  387. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/[id]/page.d.ts +0 -17
  388. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/[id]/page.d.ts.map +0 -1
  389. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/create/page.d.ts +0 -11
  390. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/create/page.d.ts.map +0 -1
  391. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/index.d.ts.map +0 -1
  392. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/page.d.ts +0 -12
  393. package/dist/types/src/cms/client/interfaces/pages/dashboard/content/topic/page.d.ts.map +0 -1
  394. package/dist/types/src/core/domain/resources/admin/constants.d.ts +0 -4
  395. package/dist/types/src/core/domain/resources/admin/constants.d.ts.map +0 -1
  396. package/dist/types/src/core/domain/translation.d.ts +0 -7
  397. package/dist/types/src/core/domain/translation.d.ts.map +0 -1
  398. /package/dist/types/src/cms/client/interfaces/components/resources/{category → post/category}/index.d.ts +0 -0
  399. /package/dist/types/src/cms/client/interfaces/components/resources/{tag → post/tag}/index.d.ts +0 -0
  400. /package/dist/types/src/cms/client/interfaces/components/resources/{topic → post/topic}/index.d.ts +0 -0
  401. /package/dist/types/src/cms/client/interfaces/pages/dashboard/content/{tag → content-management/tag}/index.d.ts +0 -0
@@ -1,50 +1,51 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useTranslator } from 'intor/react';
4
- import { File, Notebook } from 'lucide-react';
4
+ import { Notebook, File } from 'lucide-react';
5
5
  import { 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';
6
+ import { CMS_PATHS } from '../../../../../../../constants/paths/cms-paths.js';
7
+ import '../../../../../../../constants/paths/redirect.js';
8
+ import '../../../../../../../constants/cms-locale.js';
9
9
  import 'mime-types';
10
10
  import 'sitero-domain';
11
- import { findTranslation } from '../../../../../../shared/translation/find-translation.js';
12
- import { cn } from '../../../../../../shared/utils/cn.js';
13
- import { joinUrl } from '../../../../../../shared/utils/join-url.js';
11
+ import { findTranslation } from '../../../../../../../shared/translation/find-translation.js';
12
+ import { cn } from '../../../../../../../shared/utils/cn.js';
13
+ import { joinUrl } from '../../../../../../../shared/utils/join-url.js';
14
14
  import 'zod';
15
15
  import '@radix-ui/react-avatar';
16
- import '../../shadcn/badge.js';
17
- import '../../shadcn/button.js';
16
+ import '../../../shadcn/badge.js';
17
+ import '../../../shadcn/button.js';
18
18
  import '@radix-ui/react-collapsible';
19
19
  import '@radix-ui/react-dialog';
20
20
  import '@radix-ui/react-dropdown-menu';
21
- import '../../shadcn/input-group.js';
21
+ import '../../../shadcn/input-group.js';
22
22
  import '@radix-ui/react-label';
23
23
  import '@radix-ui/react-radio-group';
24
24
  import '@radix-ui/react-select';
25
25
  import '@radix-ui/react-separator';
26
- import '../../shadcn/sidebar/sidebar.js';
26
+ import '../../../shadcn/sidebar/sidebar.js';
27
27
  import 'next-themes';
28
28
  import 'sonner';
29
- import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../../shadcn/table.js';
29
+ import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../../../shadcn/table.js';
30
30
  import '@radix-ui/react-tabs';
31
31
  import '@radix-ui/react-tooltip';
32
32
  import 'next/link';
33
33
  import 'react';
34
- import { Badge } from '../../ui/display/badge.js';
35
- import '../../../../../../core/client/infrastructure/contexts/admin/admin.js';
36
- import '../../../../../../core/client/infrastructure/react-query/client.js';
34
+ import { Badge } from '../../../ui/display/badge.js';
35
+ import '../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
36
+ import '../../../../../../../core/client/infrastructure/react-query/client.js';
37
37
  import '@tanstack/react-query';
38
- import '../../../../../../core/domain/resources/admin/constants.js';
39
- import { Tick } from '../../ui/features/tick.js';
38
+ import { Tick } from '../../../ui/features/tick.js';
40
39
  import 'next/image';
41
- import { PostStateIcons } from '../post/post-state-icons.js';
40
+ import { PostStateIcons } from '../post-state-icons.js';
42
41
 
43
42
  function CategoryTable({
44
43
  posts: categories,
45
44
  pickedItems,
46
45
  handleClick,
47
- openNewTab
46
+ openNewTab,
47
+ isSubcategory,
48
+ hasSubcategory
48
49
  }) {
49
50
  const { t, locale } = useTranslator();
50
51
  const router = useRouter();
@@ -55,7 +56,7 @@ function CategoryTable({
55
56
  /* @__PURE__ */ jsx(TableHead, { children: t("resources.topic.text") }),
56
57
  /* @__PURE__ */ jsx(TableHead, { children: t("resources.states.text") }),
57
58
  /* @__PURE__ */ jsx(TableHead, { children: t("resources.post.title.text") }),
58
- /* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsx(File, {}) })
59
+ /* @__PURE__ */ jsx(TableHead, { children: hasSubcategory ? /* @__PURE__ */ jsx(Notebook, {}) : /* @__PURE__ */ jsx(File, {}) })
59
60
  ] }) }),
60
61
  /* @__PURE__ */ jsx(TableBody, { children: categories.map((category) => {
61
62
  const topic = category?.topic;
@@ -64,7 +65,12 @@ function CategoryTable({
64
65
  (item) => item.id === category.id
65
66
  );
66
67
  const categoryT = findTranslation(category.translations, locale);
67
- const href = joinUrl(
68
+ const href = isSubcategory ? joinUrl(
69
+ CMS_PATHS.content["content-management"].subcategory.pathname(
70
+ topic?.slug
71
+ ),
72
+ category?.id
73
+ ) : joinUrl(
68
74
  CMS_PATHS.content["content-management"].category.pathname(
69
75
  topic?.slug
70
76
  ),
@@ -0,0 +1,462 @@
1
+ "use client";
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { useTranslator } from 'intor/react';
4
+ import { useRouter } from 'next/navigation';
5
+ import { POST_TYPES } from 'sitero-domain';
6
+ import '../../../../../../../constants/paths/redirect.js';
7
+ import '../../../../../../../constants/cms-locale.js';
8
+ import { useAdmin } from '../../../../../../../core/client/infrastructure/contexts/admin/admin.js';
9
+ import 'react';
10
+ import '../../../../../../../core/client/infrastructure/react-query/client.js';
11
+ import '@tanstack/react-query';
12
+ import { useCommand } from '../../../../../../../core/client/infrastructure/react-query/use-command.js';
13
+ import 'mime-types';
14
+ import 'clsx';
15
+ import 'tailwind-merge';
16
+ import { joinUrl } from '../../../../../../../shared/utils/join-url.js';
17
+ import 'zod';
18
+ import { getImgIdsFromHtmls } from '../../../../../applications/form/get-img-ids-from-htmls.js';
19
+ import { processContentHtml } from '../../../../../applications/form/process-content-html.js';
20
+ import { useParentPathname } from '../../../../../applications/ui/use-parent-pathname.js';
21
+ import 'lucide-react';
22
+ import '@radix-ui/react-avatar';
23
+ import '../../../shadcn/badge.js';
24
+ import '../../../shadcn/button.js';
25
+ import '@radix-ui/react-collapsible';
26
+ import '@radix-ui/react-dialog';
27
+ import '@radix-ui/react-dropdown-menu';
28
+ import '../../../shadcn/input-group.js';
29
+ import '@radix-ui/react-label';
30
+ import '@radix-ui/react-radio-group';
31
+ import '@radix-ui/react-select';
32
+ import { Separator } from '../../../shadcn/separator.js';
33
+ import '../../../shadcn/sidebar/sidebar.js';
34
+ import 'next-themes';
35
+ import 'sonner';
36
+ import '@radix-ui/react-tabs';
37
+ import '@radix-ui/react-tooltip';
38
+ import 'next/link';
39
+ import { Form } from '../../../ui/form/form.js';
40
+ import { Field } from '../../../ui/form/field.js';
41
+ import { FieldsContainer } from '../../../ui/form/containers/fields-container.js';
42
+ import { MainFields } from '../../../ui/form/containers/main-fields.js';
43
+ import { SideFields } from '../../../ui/form/containers/side-fields.js';
44
+ import { ControlFields } from '../../../ui/form/control-fields/control-fields.js';
45
+ import { ActionButtonsCard } from '../../../ui/cards/action-buttons-card.js';
46
+ import { PickModal } from '../../../ui/features/pick-modal/pick-modal.js';
47
+ import 'next/image';
48
+ import 'intor/next';
49
+ import { ContentContainer } from '../../../ui/layouts/content-container.js';
50
+ import { AdminCard } from '../../admin/admin-card.js';
51
+ import { CategoryCard } from '../category/category-card.js';
52
+ import { CategoryTable } from '../category/category-table.js';
53
+ import { TagCard } from '../tag/tag-card.js';
54
+ import { TagTable } from '../tag/tag-table.js';
55
+
56
+ function createPostCreateContent({
57
+ usePostCreateFormData,
58
+ postCreateAction,
59
+ AdminList,
60
+ PostList,
61
+ PostCard,
62
+ FileList,
63
+ FileCard,
64
+ Uploader,
65
+ I18nTextarea,
66
+ I18nEditor,
67
+ I18nObjectArrayInput,
68
+ I18nNumberInput
69
+ }) {
70
+ return function PostCreateContent({
71
+ postType,
72
+ parentType,
73
+ parentLabelKey,
74
+ isSubcategoryParent = false,
75
+ CategoryCard: CategoryCard$1 = CategoryCard,
76
+ CategoryTable: CategoryTable$1 = CategoryTable,
77
+ tagType = POST_TYPES.TAG,
78
+ topic,
79
+ // Use in post, category
80
+ controlMeta,
81
+ isFetching,
82
+ allowField,
83
+ cancelButtonHref
84
+ }) {
85
+ const { t, locale } = useTranslator();
86
+ const router = useRouter();
87
+ const parentPathname = useParentPathname();
88
+ const { admin } = useAdmin();
89
+ const topicSlug = topic?.slug;
90
+ const isFieldAllowed = (type, field, fieldRuleKey) => allowField({ topicSlug, type, field, fieldRuleKey });
91
+ const { formData, setFormData } = usePostCreateFormData({
92
+ type: postType,
93
+ admin,
94
+ topic
95
+ });
96
+ const { execute, isRedirecting, errors } = useCommand(
97
+ () => {
98
+ const contentImageIds = getImgIdsFromHtmls(
99
+ formData.translations.map((t2) => t2.content ?? "")
100
+ );
101
+ const translations = formData.translations.map((t2) => {
102
+ const { content, toc } = processContentHtml(t2.content);
103
+ return { ...t2, content, toc };
104
+ });
105
+ return postCreateAction({
106
+ formData: { ...formData, contentImageIds, translations }
107
+ });
108
+ },
109
+ {
110
+ onSuccess: (data) => router.replace(joinUrl(parentPathname, data?.post.id))
111
+ }
112
+ );
113
+ return /* @__PURE__ */ jsx(ContentContainer, { children: /* @__PURE__ */ jsxs(Form, { onSubmit: () => void execute(), children: [
114
+ /* @__PURE__ */ jsxs(FieldsContainer, { children: [
115
+ /* @__PURE__ */ jsxs(MainFields, { children: [
116
+ /* @__PURE__ */ jsxs(Fragment, { children: [
117
+ isFieldAllowed(postType, "author") && /* @__PURE__ */ jsx(Field, { label: t("resources.post.author.text"), children: /* @__PURE__ */ jsx(
118
+ PickModal,
119
+ {
120
+ fieldName: "author",
121
+ formData,
122
+ setFormData,
123
+ isLoading: isFetching,
124
+ isDisabled: isRedirecting,
125
+ itemList: /* @__PURE__ */ jsx(AdminList, {}),
126
+ pickedDisplay: /* @__PURE__ */ jsx(AdminCard, { admin: formData.author })
127
+ }
128
+ ) }),
129
+ isFieldAllowed(postType, "parents") && parentType && /* @__PURE__ */ jsx(Field, { label: t(parentLabelKey ?? "resources.category.text"), children: /* @__PURE__ */ jsx(
130
+ PickModal,
131
+ {
132
+ fieldName: "parents",
133
+ formData,
134
+ setFormData,
135
+ isLoading: isFetching,
136
+ isDisabled: isRedirecting,
137
+ isMultiPick: true,
138
+ itemList: /* @__PURE__ */ jsx(
139
+ PostList,
140
+ {
141
+ usableFields: [
142
+ ...isFieldAllowed(parentType, "isActive") ? ["isActive"] : [],
143
+ ...isFieldAllowed(parentType, "isIndexActive") ? ["isIndexActive"] : [],
144
+ ...isFieldAllowed(parentType, "isSlugActive") ? ["isSlugActive"] : [],
145
+ ...isFieldAllowed(parentType, "isFeatured") ? ["isFeatured"] : [],
146
+ ...isFieldAllowed(parentType, "isShownOnHome") ? ["isShownOnHome"] : []
147
+ ],
148
+ type: parentType,
149
+ topicId: topic?.id,
150
+ Card: (props) => /* @__PURE__ */ jsx(
151
+ CategoryCard$1,
152
+ {
153
+ ...props,
154
+ isSubcategory: isSubcategoryParent
155
+ }
156
+ ),
157
+ Table: (props) => /* @__PURE__ */ jsx(
158
+ CategoryTable$1,
159
+ {
160
+ ...props,
161
+ isSubcategory: isSubcategoryParent
162
+ }
163
+ ),
164
+ localKey: `parent-${parentType}`
165
+ }
166
+ ),
167
+ pickedDisplay: formData.parents.map((parent) => /* @__PURE__ */ jsx(
168
+ CategoryCard$1,
169
+ {
170
+ post: parent,
171
+ isSubcategory: isSubcategoryParent
172
+ },
173
+ parent.id
174
+ ))
175
+ }
176
+ ) }),
177
+ isFieldAllowed(postType, "tags") && /* @__PURE__ */ jsx(Field, { label: t("resources.tag.text"), children: /* @__PURE__ */ jsx(
178
+ PickModal,
179
+ {
180
+ fieldName: "tags",
181
+ formData,
182
+ setFormData,
183
+ isLoading: isFetching,
184
+ isDisabled: isRedirecting,
185
+ isMultiPick: true,
186
+ itemList: /* @__PURE__ */ jsx(
187
+ PostList,
188
+ {
189
+ usableFields: [
190
+ ...isFieldAllowed(tagType, "isActive") ? ["isActive"] : [],
191
+ ...isFieldAllowed(tagType, "isIndexActive") ? ["isIndexActive"] : [],
192
+ ...isFieldAllowed(tagType, "isSlugActive") ? ["isSlugActive"] : [],
193
+ ...isFieldAllowed(tagType, "isFeatured") ? ["isFeatured"] : [],
194
+ ...isFieldAllowed(tagType, "isShownOnHome") ? ["isShownOnHome"] : []
195
+ ],
196
+ type: tagType,
197
+ Card: TagCard,
198
+ Table: TagTable,
199
+ localKey: "tag"
200
+ }
201
+ ),
202
+ pickedDisplay: formData.tags.map((tag) => /* @__PURE__ */ jsx(TagCard, { post: tag }, tag.id))
203
+ }
204
+ ) }),
205
+ isFieldAllowed(postType, "coverImage") && /* @__PURE__ */ jsx(Field, { label: t("resources.post.cover-image.text"), children: /* @__PURE__ */ jsx(
206
+ PickModal,
207
+ {
208
+ fieldName: "coverImage",
209
+ formData,
210
+ setFormData,
211
+ isLoading: isFetching,
212
+ isDisabled: isRedirecting,
213
+ itemList: /* @__PURE__ */ jsx(FileList, {}),
214
+ pickedDisplay: /* @__PURE__ */ jsx(FileCard, { file: formData.coverImage }),
215
+ aboveManagementCard: /* @__PURE__ */ jsx(Uploader, { accept: "image/*" })
216
+ }
217
+ ) })
218
+ ] }),
219
+ /* @__PURE__ */ jsxs(Fragment, { children: [
220
+ isFieldAllowed(postType, "text-content-separator") && /* @__PURE__ */ jsx(Separator, { className: "my-4" }),
221
+ isFieldAllowed(postType, "title") && /* @__PURE__ */ jsx(Field, { htmlFor: "title", label: t("resources.post.title.text"), children: /* @__PURE__ */ jsx(
222
+ I18nTextarea,
223
+ {
224
+ id: "title",
225
+ placeholder: t("resources.post.title.placeholder.text"),
226
+ fieldName: "title",
227
+ translations: formData.translations,
228
+ setFormData,
229
+ isLoading: isFetching,
230
+ isDisabled: isRedirecting,
231
+ errors
232
+ }
233
+ ) }),
234
+ isFieldAllowed(postType, "subtitle") && /* @__PURE__ */ jsx(
235
+ Field,
236
+ {
237
+ htmlFor: "subtitle",
238
+ label: t("resources.post.subtitle.text"),
239
+ children: /* @__PURE__ */ jsx(
240
+ I18nTextarea,
241
+ {
242
+ id: "subtitle",
243
+ placeholder: t(
244
+ "resources.post.subtitle.placeholder.text"
245
+ ),
246
+ fieldName: "subtitle",
247
+ translations: formData.translations,
248
+ setFormData,
249
+ isLoading: isFetching,
250
+ isDisabled: isRedirecting,
251
+ errors
252
+ }
253
+ )
254
+ }
255
+ ),
256
+ isFieldAllowed(postType, "summary") && /* @__PURE__ */ jsx(
257
+ Field,
258
+ {
259
+ htmlFor: "summary",
260
+ label: t("resources.post.summary.text"),
261
+ children: /* @__PURE__ */ jsx(
262
+ I18nTextarea,
263
+ {
264
+ id: "summary",
265
+ placeholder: t("resources.post.summary.placeholder.text"),
266
+ fieldName: "summary",
267
+ translations: formData.translations,
268
+ setFormData,
269
+ isLoading: isFetching,
270
+ isDisabled: isRedirecting,
271
+ errors
272
+ }
273
+ )
274
+ }
275
+ ),
276
+ isFieldAllowed(postType, "description") && /* @__PURE__ */ jsx(
277
+ Field,
278
+ {
279
+ htmlFor: "description",
280
+ label: t("resources.post.description.text"),
281
+ children: /* @__PURE__ */ jsx(
282
+ I18nTextarea,
283
+ {
284
+ id: "description",
285
+ placeholder: t(
286
+ "resources.post.description.placeholder.text"
287
+ ),
288
+ fieldName: "description",
289
+ translations: formData.translations,
290
+ setFormData,
291
+ isLoading: isFetching,
292
+ isDisabled: isRedirecting,
293
+ errors
294
+ }
295
+ )
296
+ }
297
+ ),
298
+ isFieldAllowed(postType, "content") && /* @__PURE__ */ jsx(Field, { label: t("resources.post.content.text"), children: /* @__PURE__ */ jsx(
299
+ I18nEditor,
300
+ {
301
+ locale,
302
+ fieldName: "content",
303
+ translations: formData.translations,
304
+ setFormData,
305
+ isLoading: isFetching,
306
+ isDisabled: isRedirecting,
307
+ errors
308
+ }
309
+ ) })
310
+ ] }),
311
+ /* @__PURE__ */ jsxs(Fragment, { children: [
312
+ isFieldAllowed(postType, "better-seo-separator") && /* @__PURE__ */ jsx(Separator, { className: "my-4" }),
313
+ isFieldAllowed(postType, "externalLinks") && /* @__PURE__ */ jsx(Field, { label: t("resources.post.external-links.text"), children: /* @__PURE__ */ jsx(
314
+ I18nObjectArrayInput,
315
+ {
316
+ fieldName: "externalLinks",
317
+ translations: formData.translations,
318
+ setFormData,
319
+ isLoading: isFetching,
320
+ isDisabled: isRedirecting,
321
+ errors,
322
+ fields: [
323
+ {
324
+ key: "name",
325
+ placeholder: t(
326
+ "resources.post.external-links.placeholder1.text"
327
+ )
328
+ },
329
+ {
330
+ key: "href",
331
+ placeholder: t(
332
+ "resources.post.external-links.placeholder2.text"
333
+ )
334
+ }
335
+ ]
336
+ }
337
+ ) }),
338
+ isFieldAllowed(postType, "faq") && /* @__PURE__ */ jsx(Field, { label: t("resources.post.faq.text"), children: /* @__PURE__ */ jsx(
339
+ I18nObjectArrayInput,
340
+ {
341
+ fieldName: "faq",
342
+ translations: formData.translations,
343
+ setFormData,
344
+ isLoading: isFetching,
345
+ isDisabled: isRedirecting,
346
+ errors,
347
+ fields: [
348
+ {
349
+ key: "question",
350
+ placeholder: t(
351
+ "resources.post.faq.placeholder1.text"
352
+ )
353
+ },
354
+ {
355
+ key: "answer",
356
+ placeholder: t(
357
+ "resources.post.faq.placeholder2.text"
358
+ )
359
+ }
360
+ ]
361
+ }
362
+ ) }),
363
+ isFieldAllowed(postType, "readTime") && /* @__PURE__ */ jsx(
364
+ Field,
365
+ {
366
+ htmlFor: "readTime",
367
+ label: t("resources.post.read-time.text"),
368
+ hint: "Minutes",
369
+ children: /* @__PURE__ */ jsx(
370
+ I18nNumberInput,
371
+ {
372
+ id: "readTime",
373
+ placeholder: t(
374
+ "resources.post.read-time.placeholder.text"
375
+ ),
376
+ min: 0,
377
+ fieldName: "readTime",
378
+ translations: formData.translations,
379
+ setFormData,
380
+ isLoading: isFetching,
381
+ isDisabled: isRedirecting,
382
+ errors
383
+ }
384
+ )
385
+ }
386
+ )
387
+ ] }),
388
+ /* @__PURE__ */ jsxs(Fragment, { children: [
389
+ isFieldAllowed(postType, "related-posts-separator") && /* @__PURE__ */ jsx(Separator, { className: "my-4" }),
390
+ isFieldAllowed(postType, "relatedPosts") && /* @__PURE__ */ jsx(Field, { label: t("resources.post.related-posts.text"), children: /* @__PURE__ */ jsx(
391
+ PickModal,
392
+ {
393
+ fieldName: "relatedPosts",
394
+ formData,
395
+ setFormData,
396
+ isLoading: isFetching,
397
+ isDisabled: isRedirecting,
398
+ isMultiPick: true,
399
+ itemList: /* @__PURE__ */ jsx(
400
+ PostList,
401
+ {
402
+ usableFields: [
403
+ ...isFieldAllowed(postType, "isActive") ? ["isActive"] : [],
404
+ ...isFieldAllowed(postType, "isIndexActive") ? ["isIndexActive"] : [],
405
+ ...isFieldAllowed(postType, "isSlugActive") ? ["isSlugActive"] : [],
406
+ ...isFieldAllowed(postType, "isFeatured") ? ["isFeatured"] : [],
407
+ ...isFieldAllowed(postType, "isShownOnHome") ? ["isShownOnHome"] : []
408
+ ],
409
+ type: postType,
410
+ topicId: topic?.id
411
+ }
412
+ ),
413
+ pickedDisplay: formData.relatedPosts.map(
414
+ (relatedPost) => /* @__PURE__ */ jsx(PostCard, { post: relatedPost }, relatedPost.id)
415
+ )
416
+ }
417
+ ) })
418
+ ] })
419
+ ] }),
420
+ /* @__PURE__ */ jsxs(SideFields, { children: [
421
+ /* @__PURE__ */ jsx("div", { className: "max-lg:hidden", children: /* @__PURE__ */ jsx(
422
+ ActionButtonsCard,
423
+ {
424
+ isInitializing: isFetching,
425
+ isProcessing: isRedirecting,
426
+ cancelButtonProps: { href: cancelButtonHref }
427
+ }
428
+ ) }),
429
+ /* @__PURE__ */ jsx(Separator, { className: "mt-6 lg:hidden" }),
430
+ /* @__PURE__ */ jsx(
431
+ ControlFields,
432
+ {
433
+ fields: [
434
+ ...isFieldAllowed(postType, "isActive") ? [{ key: "isActive" }] : [],
435
+ ...isFieldAllowed(postType, "isIndexActive") ? [{ key: "isIndexActive" }] : [],
436
+ ...isFieldAllowed(postType, "isSlugActive") ? [{ key: "isSlugActive" }] : [],
437
+ ...isFieldAllowed(postType, "isFeatured") ? [{ key: "isFeatured" }] : [],
438
+ ...isFieldAllowed(postType, "isShownOnHome") ? [{ key: "isShownOnHome" }] : []
439
+ ],
440
+ controlMeta,
441
+ formData,
442
+ setFormData,
443
+ isLoading: isFetching,
444
+ isDisabled: isRedirecting,
445
+ errors
446
+ }
447
+ )
448
+ ] })
449
+ ] }),
450
+ /* @__PURE__ */ jsx("div", { className: "fixed bottom-3 left-1/2 z-10 -translate-x-1/2 lg:hidden", children: /* @__PURE__ */ jsx(
451
+ ActionButtonsCard,
452
+ {
453
+ isInitializing: isFetching,
454
+ isProcessing: isRedirecting,
455
+ cancelButtonProps: { href: cancelButtonHref }
456
+ }
457
+ ) })
458
+ ] }) });
459
+ };
460
+ }
461
+
462
+ export { createPostCreateContent };