@opengis/cms 0.0.22 → 0.0.26

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 (274) hide show
  1. package/dist/index-W-qQIppj-DRzFSjU1.js +2452 -0
  2. package/dist/index.html +28 -34
  3. package/dist/index.js +13915 -0
  4. package/dist/index.umd.cjs +153 -0
  5. package/package.json +4 -11
  6. package/dist/assets/AddUser-CX-McfRW.js +0 -1
  7. package/dist/assets/ApiKeys-DSv1exYv.js +0 -16
  8. package/dist/assets/Appearance-DDtOUvCV.js +0 -6
  9. package/dist/assets/ArticlesPage-D6B3cZsl.js +0 -6
  10. package/dist/assets/BuilderPage-CCeSMVWe.js +0 -1
  11. package/dist/assets/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-DVYVfYF4.js +0 -1
  12. package/dist/assets/CollectionsPage-CHk8Cn5k.js +0 -1
  13. package/dist/assets/Dashboard-Bs7sXO6h.js +0 -11
  14. package/dist/assets/EditCollectionPage-gPuLJrN8.js +0 -41
  15. package/dist/assets/EmailPage-DhlWsPxk.js +0 -1
  16. package/dist/assets/EmptyData-Ct-xQv_N.js +0 -1
  17. package/dist/assets/FeedbackPage-DtaOncVv.js +0 -1
  18. package/dist/assets/Logs-CZ5klHNK.js +0 -1
  19. package/dist/assets/MediaBreadcrumb-BpOxt5PK.js +0 -11
  20. package/dist/assets/MediaPage-DqRcZFlO.js +0 -16
  21. package/dist/assets/MenuAddPage-BLcoVgrS.js +0 -1
  22. package/dist/assets/MenuItemPage-B2otXqkz.js +0 -20
  23. package/dist/assets/MenuPage-C00m4Fc_.js +0 -1
  24. package/dist/assets/MonacoEditor.vue_vue_type_script_setup_true_lang-CjoEsC67.js +0 -3
  25. package/dist/assets/PermissionsPage-LtqcCJ14.js +0 -1
  26. package/dist/assets/Settings-BHH6RoBP.js +0 -1
  27. package/dist/assets/SettingsTable-CY5pZx1z.js +0 -1
  28. package/dist/assets/SettingsTitle-t4WJBFxZ.js +0 -1
  29. package/dist/assets/SingletonsPage-Bn2Ypjhs.js +0 -6
  30. package/dist/assets/TagsPage-DAiakEth.js +0 -1
  31. package/dist/assets/UniversalTable.vue_vue_type_script_setup_true_lang-BQ5m4aZd.js +0 -11
  32. package/dist/assets/UniversalTablePagination.vue_vue_type_script_setup_true_lang-DppVBws0.js +0 -1
  33. package/dist/assets/Users-CMH5j0db.js +0 -1
  34. package/dist/assets/UsersPage-CDGreEib.js +0 -1
  35. package/dist/assets/arrow-up-DCe0WsrM.js +0 -16
  36. package/dist/assets/calendar-o9t4MkD2.js +0 -6
  37. package/dist/assets/chevron-left-WFftVS9c.js +0 -6
  38. package/dist/assets/chevron-right-BiiSb3Be.js +0 -6
  39. package/dist/assets/contentForm-unZQhjCu.js +0 -6
  40. package/dist/assets/en-BDx3Svx8.js +0 -1
  41. package/dist/assets/eye-Dijywc6g.js +0 -6
  42. package/dist/assets/file-B_duymIT.js +0 -6
  43. package/dist/assets/general-CkN_0qIV.js +0 -1
  44. package/dist/assets/index-BIp7eSXk.js +0 -1
  45. package/dist/assets/index-DCW2e4Az.js +0 -9
  46. package/dist/assets/index-DGweaj24.js +0 -1
  47. package/dist/assets/index-W-qQIppj-BDlsxaGB.js +0 -1
  48. package/dist/assets/index-W-qQIppj-BsopI3Hz-BIZR-dhy.js +0 -1
  49. package/dist/assets/index-oQz9FOqL.css +0 -1
  50. package/dist/assets/index-yMJAVBXk.js +0 -290
  51. package/dist/assets/list-CXRbSNky.js +0 -6
  52. package/dist/assets/logo-Cct5WB26.png +0 -0
  53. package/dist/assets/pencil-CwnPP4IJ.js +0 -6
  54. package/dist/assets/plus-DLR44m6p.js +0 -6
  55. package/dist/assets/save-FeDrOUOd.js +0 -6
  56. package/dist/assets/search-C4-fHihx.js +0 -6
  57. package/dist/assets/square-pen-xVs4e8Yb.js +0 -6
  58. package/dist/assets/trash-2-BGXMNU3d.js +0 -6
  59. package/dist/assets/uk-BA7DIKEL.js +0 -1
  60. package/dist/assets/useDebounce-DFq3rxAW.js +0 -1
  61. package/dist/assets/vs-form-reletion-link-C-xrdHDl.js +0 -20
  62. package/dist/assets/vs-form-reletion-link-bk-9ZkDH.css +0 -1
  63. package/dist/assets/vue.-sixQ7xP-CUPNuJcq.js +0 -1
  64. package/dist/assets/vuedraggable.umd-W_2WTF6i.js +0 -14
  65. package/dist/assets/x-D2t-wfBe.js +0 -6
  66. package/module/cms/card/cms.content.table/index.yml +0 -17
  67. package/module/cms/card/cms.content.table/main_info.hbs +0 -26
  68. package/module/cms/card/cms.menu.table/content_info.hbs +0 -16
  69. package/module/cms/card/cms.menu.table/index.yml +0 -18
  70. package/module/cms/card/cms.menu.table/main_info.hbs +0 -22
  71. package/module/cms/card/cms.settings.table/index.yml +0 -13
  72. package/module/cms/card/cms.settings.table/main_info.hbs +0 -20
  73. package/module/cms/cls/content.status.json +0 -18
  74. package/module/cms/cls/user_type.json +0 -10
  75. package/module/cms/form/admin.users.form.json +0 -78
  76. package/module/cms/form/cms.content.form.json +0 -79
  77. package/module/cms/form/cms.menu.form.json +0 -69
  78. package/module/cms/form/cms.settings.form.json +0 -32
  79. package/module/cms/menu.json +0 -24
  80. package/module/cms/router.js +0 -169
  81. package/module/cms/select/cms.page_type.sql +0 -2
  82. package/module/cms/select/collection.sql +0 -1
  83. package/module/cms/select/locale.sql +0 -17
  84. package/module/cms/select/news_tag_id.sql +0 -12
  85. package/module/cms/select/tag_id.sql +0 -1
  86. package/module/cms/table/admin.users.table.json +0 -54
  87. package/module/cms/table/cms.content.table.json +0 -106
  88. package/module/cms/table/cms.menu.table.json +0 -73
  89. package/module/cms/table/cms.settings.table.json +0 -57
  90. package/module/cms/table/collection.default.table.json +0 -102
  91. package/module/cms/table/single.default.table.json +0 -115
  92. package/src/App.css +0 -52
  93. package/src/App.vue +0 -62
  94. package/src/assets/image.png +0 -0
  95. package/src/assets/main.css +0 -3
  96. package/src/assets/tailwind-3.4.17.js +0 -113
  97. package/src/components/LanguageSwitcher.vue +0 -73
  98. package/src/components/SettingsCard.vue +0 -40
  99. package/src/components/builder/CreateForm.vue +0 -128
  100. package/src/components/builder/formTypeSchema.js +0 -145
  101. package/src/components/builder/tabs/index.ts +0 -9
  102. package/src/components/builder/tabs/vs-builder-edit.vue +0 -133
  103. package/src/components/builder/tabs/vs-builder-monaco.vue +0 -29
  104. package/src/components/builder/tabs/vs-builder-preview.vue +0 -39
  105. package/src/components/builder/vs-builder-datatable-controls.vue +0 -138
  106. package/src/components/builder/vs-builder-datatable-form.vue +0 -80
  107. package/src/components/builder/vs-builder-datatable.vue +0 -191
  108. package/src/components/builder/vs-builder-list-item.vue +0 -110
  109. package/src/components/collections/CollectionsBreadcrumb.vue +0 -52
  110. package/src/components/collections/CollectionsGrid.vue +0 -176
  111. package/src/components/collections/ContentBlock.vue +0 -75
  112. package/src/components/collections/formWrapper.vue +0 -156
  113. package/src/components/dashboard/ContentItem.vue +0 -82
  114. package/src/components/dashboard/DashboardHeader.vue +0 -33
  115. package/src/components/dashboard/QuickActions.vue +0 -84
  116. package/src/components/dashboard/RecentContent.vue +0 -54
  117. package/src/components/dashboard/StatCard.vue +0 -63
  118. package/src/components/dashboard/StatsGrid.vue +0 -28
  119. package/src/components/form-components/MonacoEditor.vue +0 -104
  120. package/src/components/form-components/VsFormMeta.vue +0 -40
  121. package/src/components/form-components/VsFormTags.vue +0 -150
  122. package/src/components/form-components/custom-datatable/vs-form-custom-datatable-add.vue +0 -84
  123. package/src/components/form-components/custom-datatable/vs-form-custom-datatable-controls.vue +0 -106
  124. package/src/components/form-components/index.js +0 -23
  125. package/src/components/form-components/reference/vs-form-reference-add.vue +0 -92
  126. package/src/components/form-components/reference/vs-form-reference-controls.vue +0 -101
  127. package/src/components/form-components/reference-list/referenceOptionList.js +0 -78
  128. package/src/components/form-components/reference-list/vs-form-reference-add.vue +0 -145
  129. package/src/components/form-components/reference-list/vs-form-reference-choce.vue +0 -39
  130. package/src/components/form-components/reference-list/vs-form-reference-controls.vue +0 -110
  131. package/src/components/form-components/reference-skeleton/about-skeleton.vue +0 -37
  132. package/src/components/form-components/reference-skeleton/banner-skeleton.vue +0 -29
  133. package/src/components/form-components/reference-skeleton/body-skeleton.vue +0 -56
  134. package/src/components/form-components/reference-skeleton/cards-skeleton.vue +0 -47
  135. package/src/components/form-components/reference-skeleton/documents-skeleton.vue +0 -64
  136. package/src/components/form-components/reference-skeleton/faq-skeleton.vue +0 -64
  137. package/src/components/form-components/reference-skeleton/form-skeleton.vue +0 -41
  138. package/src/components/form-components/reference-skeleton/index.js +0 -36
  139. package/src/components/form-components/reference-skeleton/infoLine-skeleton.vue +0 -37
  140. package/src/components/form-components/reference-skeleton/news-skeleton.vue +0 -54
  141. package/src/components/form-components/reference-skeleton/slider-skeleton.vue +0 -41
  142. package/src/components/form-components/reference-skeleton/tabs-skeleton.vue +0 -40
  143. package/src/components/form-components/reference-skeleton/team-skeleton.vue +0 -103
  144. package/src/components/form-components/reference-skeleton/usefulLinks-skeleton.vue +0 -52
  145. package/src/components/form-components/reference-skeleton/video-skeleton.vue +0 -36
  146. package/src/components/form-components/testReferenceTypes.js +0 -773
  147. package/src/components/form-components/vs-form-color-picker.vue +0 -29
  148. package/src/components/form-components/vs-form-custom-datatable.vue +0 -214
  149. package/src/components/form-components/vs-form-integer.vue +0 -86
  150. package/src/components/form-components/vs-form-key-value.vue +0 -201
  151. package/src/components/form-components/vs-form-marcdown-md.vue +0 -3
  152. package/src/components/form-components/vs-form-media-select.vue +0 -780
  153. package/src/components/form-components/vs-form-reference-list.vue +0 -97
  154. package/src/components/form-components/vs-form-reference.vue +0 -59
  155. package/src/components/form-components/vs-form-relation.vue +0 -30
  156. package/src/components/form-components/vs-form-reletion-link.vue +0 -34
  157. package/src/components/form-components/vs-form-select-collection.vue +0 -0
  158. package/src/components/form-components/vs-form-slug.vue +0 -72
  159. package/src/components/form-components/vs-form-tiptap.vue +0 -7
  160. package/src/components/form-components/vs-richtext-md.vue +0 -3
  161. package/src/components/icons/BellIcon.vue +0 -17
  162. package/src/components/icons/GlobeIcon.vue +0 -18
  163. package/src/components/icons/KeyIcon.vue +0 -20
  164. package/src/components/icons/PaletteIcon.vue +0 -22
  165. package/src/components/icons/SettingsIcon.vue +0 -19
  166. package/src/components/icons/ShieldIcon.vue +0 -18
  167. package/src/components/icons/UsersIcon.vue +0 -19
  168. package/src/components/icons/icon-chevron-right.vue +0 -16
  169. package/src/components/icons/icon-drag.vue +0 -20
  170. package/src/components/icons/icon-file-text.vue +0 -21
  171. package/src/components/icons/icon-folder.vue +0 -18
  172. package/src/components/icons/icon-grid.vue +0 -17
  173. package/src/components/icons/icon-group.vue +0 -19
  174. package/src/components/icons/icon-home.vue +0 -16
  175. package/src/components/icons/icon-image.vue +0 -18
  176. package/src/components/icons/icon-list.vue +0 -20
  177. package/src/components/icons/icon-more.vue +0 -17
  178. package/src/components/icons/icon-plus.vue +0 -17
  179. package/src/components/icons-types/icon-array.vue +0 -22
  180. package/src/components/icons-types/icon-boolean.vue +0 -18
  181. package/src/components/icons-types/icon-datalist.vue +0 -22
  182. package/src/components/icons-types/icon-date.vue +0 -20
  183. package/src/components/icons-types/icon-datetime.vue +0 -20
  184. package/src/components/icons-types/icon-file.vue +0 -21
  185. package/src/components/icons-types/icon-gallery.vue +0 -18
  186. package/src/components/icons-types/icon-image.vue +0 -19
  187. package/src/components/icons-types/icon-integer.vue +0 -20
  188. package/src/components/icons-types/icon-merkdown.vue +0 -18
  189. package/src/components/icons-types/icon-multiselect.vue +0 -22
  190. package/src/components/icons-types/icon-number.vue +0 -20
  191. package/src/components/icons-types/icon-radio.vue +0 -22
  192. package/src/components/icons-types/icon-reference-list.vue +0 -22
  193. package/src/components/icons-types/icon-reference.vue +0 -20
  194. package/src/components/icons-types/icon-relation.vue +0 -22
  195. package/src/components/icons-types/icon-richtext.vue +0 -18
  196. package/src/components/icons-types/icon-select.vue +0 -22
  197. package/src/components/icons-types/icon-slug.vue +0 -19
  198. package/src/components/icons-types/icon-text.vue +0 -19
  199. package/src/components/icons-types/index.js +0 -43
  200. package/src/components/layout/Layout.vue +0 -67
  201. package/src/components/layout/Sidebar.vue +0 -128
  202. package/src/components/media/FileUploadProgress.vue +0 -29
  203. package/src/components/media/MediaBreadcrumb.vue +0 -42
  204. package/src/components/media/MediaCreateFolder.vue +0 -59
  205. package/src/components/media/MediaFileInfo.vue +0 -148
  206. package/src/components/media/MediaGrid.vue +0 -148
  207. package/src/components/media/MediaList.vue +0 -148
  208. package/src/components/media/MediaViewControls.vue +0 -38
  209. package/src/components/media/TypeTag.vue +0 -23
  210. package/src/components/menu/AddNewItemInTree.vue +0 -75
  211. package/src/components/menu/MenuBody.vue +0 -149
  212. package/src/components/menu/MenuItem.vue +0 -73
  213. package/src/components/menu/MenuList.vue +0 -101
  214. package/src/components/referencec/index.ts +0 -7
  215. package/src/components/referencec/vs-reference-faq.vue +0 -61
  216. package/src/components/referencec/vs-reference-user-card.vue +0 -40
  217. package/src/components/settings/NotificationSettings.vue +0 -32
  218. package/src/components/settings/SettingsTable.vue +0 -50
  219. package/src/components/settings/SettingsTitle.vue +0 -33
  220. package/src/components/settings/SettingsToggleItem.vue +0 -25
  221. package/src/components/sidebar/DropdownMenu.vue +0 -34
  222. package/src/components/sidebar/SettingsSidebar.vue +0 -121
  223. package/src/components/sidebar/SidebarFooter.vue +0 -52
  224. package/src/components/sidebar/SidebarHeader.vue +0 -57
  225. package/src/components/sidebar/SidebarMenu.vue +0 -78
  226. package/src/components/ui/EmptyData.vue +0 -76
  227. package/src/components/ui/UniversalTable.vue +0 -310
  228. package/src/components/ui/UniversalTableFilters.vue +0 -0
  229. package/src/components/ui/UniversalTablePagination.vue +0 -118
  230. package/src/components/ui/VsPreview.vue +0 -75
  231. package/src/composables/useCollectionView.ts +0 -21
  232. package/src/composables/useDebounce.ts +0 -26
  233. package/src/composables/useMonaco.ts +0 -28
  234. package/src/composables/useTheme.ts +0 -40
  235. package/src/content/test-slug/metadata.json +0 -1
  236. package/src/i18n.ts +0 -75
  237. package/src/index.css +0 -3
  238. package/src/index.ts +0 -122
  239. package/src/locales/en.json +0 -778
  240. package/src/locales/uk.json +0 -797
  241. package/src/main.ts +0 -41
  242. package/src/pages/Dashboard.vue +0 -168
  243. package/src/pages/EmailPage.vue +0 -183
  244. package/src/pages/FeedbackPage.vue +0 -232
  245. package/src/pages/MediaPage.vue +0 -372
  246. package/src/pages/TagsPage.vue +0 -207
  247. package/src/pages/builder/BuilderPage.vue +0 -195
  248. package/src/pages/builder/EditCollectionPage.vue +0 -163
  249. package/src/pages/collections/ArticlesPage.vue +0 -385
  250. package/src/pages/collections/CollectionsPage.vue +0 -146
  251. package/src/pages/collections/SingletonsPage.vue +0 -119
  252. package/src/pages/collections/contentForm.vue +0 -484
  253. package/src/pages/collections/schema/seo.ts +0 -27
  254. package/src/pages/menu/MenuAddPage.vue +0 -123
  255. package/src/pages/menu/MenuItemPage.vue +0 -183
  256. package/src/pages/menu/MenuPage.vue +0 -133
  257. package/src/pages/settings/ApiKeys.vue +0 -75
  258. package/src/pages/settings/Appearance.vue +0 -80
  259. package/src/pages/settings/Logs.vue +0 -260
  260. package/src/pages/settings/PermissionsPage.vue +0 -237
  261. package/src/pages/settings/Settings.vue +0 -186
  262. package/src/pages/settings/Users.vue +0 -109
  263. package/src/pages/settings/general.vue +0 -154
  264. package/src/pages/settings/generalScheme.js +0 -132
  265. package/src/pages/users/AddUser.vue +0 -106
  266. package/src/pages/users/UsersPage.vue +0 -98
  267. package/src/props/builder.ts +0 -67
  268. package/src/props/content.ts +0 -56
  269. package/src/props/media.ts +0 -63
  270. package/src/router/index.ts +0 -181
  271. package/src/types/fastify-auth.d.ts +0 -4
  272. package/src/utils/getField.js +0 -270
  273. package/src/utils/translit.js +0 -19
  274. package/src/vite-env.d.ts +0 -1
@@ -1,22 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-list"
13
- __v0_r="0,5361,5384"
14
- >
15
- <line x1="8" x2="21" y1="6" y2="6"></line>
16
- <line x1="8" x2="21" y1="12" y2="12"></line>
17
- <line x1="8" x2="21" y1="18" y2="18"></line>
18
- <line x1="3" x2="3.01" y1="6" y2="6"></line>
19
- <line x1="3" x2="3.01" y1="12" y2="12"></line>
20
- <line x1="3" x2="3.01" y1="18" y2="18"></line>
21
- </svg>
22
- </template>
@@ -1,18 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-toggle-left"
13
- __v0_r="0,5361,5384"
14
- >
15
- <rect width="20" height="12" x="2" y="6" rx="6" ry="6"></rect>
16
- <circle cx="8" cy="12" r="2"></circle>
17
- </svg>
18
- </template>
@@ -1,22 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-list"
13
- __v0_r="0,5361,5384"
14
- >
15
- <line x1="8" x2="21" y1="6" y2="6"></line>
16
- <line x1="8" x2="21" y1="12" y2="12"></line>
17
- <line x1="8" x2="21" y1="18" y2="18"></line>
18
- <line x1="3" x2="3.01" y1="6" y2="6"></line>
19
- <line x1="3" x2="3.01" y1="12" y2="12"></line>
20
- <line x1="3" x2="3.01" y1="18" y2="18"></line>
21
- </svg>
22
- </template>
@@ -1,20 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-calendar"
13
- __v0_r="0,5361,5384"
14
- >
15
- <path d="M8 2v4"></path>
16
- <path d="M16 2v4"></path>
17
- <rect width="18" height="18" x="3" y="4" rx="2"></rect>
18
- <path d="M3 10h18"></path>
19
- </svg>
20
- </template>
@@ -1,20 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-calendar"
13
- __v0_r="0,5361,5384"
14
- >
15
- <path d="M8 2v4"></path>
16
- <path d="M16 2v4"></path>
17
- <rect width="18" height="18" x="3" y="4" rx="2"></rect>
18
- <path d="M3 10h18"></path>
19
- </svg>
20
- </template>
@@ -1,21 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-file-text"
13
- __v0_r="0,5361,5384"
14
- >
15
- <path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path>
16
- <path d="M14 2v4a2 2 0 0 0 2 2h4"></path>
17
- <path d="M10 9H8"></path>
18
- <path d="M16 13H8"></path>
19
- <path d="M16 17H8"></path>
20
- </svg>
21
- </template>
@@ -1,18 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="lucide lucide-image-icon w-5 h-5 mr-3"
13
- >
14
- <rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect>
15
- <circle cx="9" cy="9" r="2"></circle>
16
- <path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"></path>
17
- </svg>
18
- </template>
@@ -1,19 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-image"
13
- __v0_r="0,5361,5384"
14
- >
15
- <rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect>
16
- <circle cx="9" cy="9" r="2"></circle>
17
- <path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"></path>
18
- </svg>
19
- </template>
@@ -1,20 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-hash"
13
- __v0_r="0,5361,5384"
14
- >
15
- <line x1="4" x2="20" y1="9" y2="9"></line>
16
- <line x1="4" x2="20" y1="15" y2="15"></line>
17
- <line x1="10" x2="8" y1="3" y2="21"></line>
18
- <line x1="16" x2="14" y1="3" y2="21"></line>
19
- </svg>
20
- </template>
@@ -1,18 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-code"
13
- __v0_r="0,5361,5384"
14
- >
15
- <polyline points="16 18 22 12 16 6"></polyline>
16
- <polyline points="8 6 2 12 8 18"></polyline>
17
- </svg>
18
- </template>
@@ -1,22 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-list"
13
- __v0_r="0,5361,5384"
14
- >
15
- <line x1="8" x2="21" y1="6" y2="6"></line>
16
- <line x1="8" x2="21" y1="12" y2="12"></line>
17
- <line x1="8" x2="21" y1="18" y2="18"></line>
18
- <line x1="3" x2="3.01" y1="6" y2="6"></line>
19
- <line x1="3" x2="3.01" y1="12" y2="12"></line>
20
- <line x1="3" x2="3.01" y1="18" y2="18"></line>
21
- </svg>
22
- </template>
@@ -1,20 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-hash"
13
- __v0_r="0,5361,5384"
14
- >
15
- <line x1="4" x2="20" y1="9" y2="9"></line>
16
- <line x1="4" x2="20" y1="15" y2="15"></line>
17
- <line x1="10" x2="8" y1="3" y2="21"></line>
18
- <line x1="16" x2="14" y1="3" y2="21"></line>
19
- </svg>
20
- </template>
@@ -1,22 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-list"
13
- __v0_r="0,5361,5384"
14
- >
15
- <line x1="8" x2="21" y1="6" y2="6"></line>
16
- <line x1="8" x2="21" y1="12" y2="12"></line>
17
- <line x1="8" x2="21" y1="18" y2="18"></line>
18
- <line x1="3" x2="3.01" y1="6" y2="6"></line>
19
- <line x1="3" x2="3.01" y1="12" y2="12"></line>
20
- <line x1="3" x2="3.01" y1="18" y2="18"></line>
21
- </svg>
22
- </template>
@@ -1,22 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-list"
13
- __v0_r="0,5361,5384"
14
- >
15
- <line x1="8" x2="21" y1="6" y2="6"></line>
16
- <line x1="8" x2="21" y1="12" y2="12"></line>
17
- <line x1="8" x2="21" y1="18" y2="18"></line>
18
- <line x1="3" x2="3.01" y1="6" y2="6"></line>
19
- <line x1="3" x2="3.01" y1="12" y2="12"></line>
20
- <line x1="3" x2="3.01" y1="18" y2="18"></line>
21
- </svg>
22
- </template>
@@ -1,20 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-link2"
13
- __v0_r="0,5361,5384"
14
- >
15
- <path d="M9 17H7A5 5 0 0 1 7 7h2"></path>
16
- <path d="M15 7h2a5 5 0 1 1 0 10h-2"></path>
17
- <line x1="8" x2="16" y1="12" y2="12"></line>
18
- </svg>
19
- </template>
20
-
@@ -1,22 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-list"
13
- __v0_r="0,5361,5384"
14
- >
15
- <line x1="8" x2="21" y1="6" y2="6"></line>
16
- <line x1="8" x2="21" y1="12" y2="12"></line>
17
- <line x1="8" x2="21" y1="18" y2="18"></line>
18
- <line x1="3" x2="3.01" y1="6" y2="6"></line>
19
- <line x1="3" x2="3.01" y1="12" y2="12"></line>
20
- <line x1="3" x2="3.01" y1="18" y2="18"></line>
21
- </svg>
22
- </template>
@@ -1,18 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-code"
13
- __v0_r="0,5361,5384"
14
- >
15
- <polyline points="16 18 22 12 16 6"></polyline>
16
- <polyline points="8 6 2 12 8 18"></polyline>
17
- </svg>
18
- </template>
@@ -1,22 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-list"
13
- __v0_r="0,5361,5384"
14
- >
15
- <line x1="8" x2="21" y1="6" y2="6"></line>
16
- <line x1="8" x2="21" y1="12" y2="12"></line>
17
- <line x1="8" x2="21" y1="18" y2="18"></line>
18
- <line x1="3" x2="3.01" y1="6" y2="6"></line>
19
- <line x1="3" x2="3.01" y1="12" y2="12"></line>
20
- <line x1="3" x2="3.01" y1="18" y2="18"></line>
21
- </svg>
22
- </template>
@@ -1,19 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-link2"
13
- __v0_r="0,5361,5384"
14
- >
15
- <path d="M9 17H7A5 5 0 0 1 7 7h2"></path>
16
- <path d="M15 7h2a5 5 0 1 1 0 10h-2"></path>
17
- <line x1="8" x2="16" y1="12" y2="12"></line>
18
- </svg>
19
- </template>
@@ -1,19 +0,0 @@
1
- <template>
2
- <svg
3
- xmlns="http://www.w3.org/2000/svg"
4
- width="24"
5
- height="24"
6
- viewBox="0 0 24 24"
7
- fill="none"
8
- stroke="currentColor"
9
- stroke-width="2"
10
- stroke-linecap="round"
11
- stroke-linejoin="round"
12
- class="w-4 h-4 text-gray-700 lucide lucide-type"
13
- __v0_r="0,5361,5384"
14
- >
15
- <polyline points="4 7 4 4 20 4 20 7"></polyline>
16
- <line x1="9" x2="15" y1="20" y2="20"></line>
17
- <line x1="12" x2="12" y1="4" y2="20"></line>
18
- </svg>
19
- </template>
@@ -1,43 +0,0 @@
1
- import IconText from "./icon-text.vue";
2
- import IconNumber from "./icon-number.vue";
3
- import IconDate from "./icon-date.vue";
4
- import IconDatetime from "./icon-datetime.vue";
5
- import IconRichtext from "./icon-richtext.vue";
6
- import IconBoolean from "./icon-boolean.vue";
7
- import IconFile from "./icon-file.vue";
8
- import IconImage from "./icon-image.vue";
9
- import IconArray from "./icon-array.vue";
10
- import IconSelect from "./icon-select.vue";
11
- import IconSlug from "./icon-slug.vue";
12
- import IconDatalist from "./icon-datalist.vue";
13
- import IconReference from "./icon-reference.vue";
14
- import IconReferenceList from "./icon-reference-list.vue";
15
- import IconRelation from "./icon-relation.vue";
16
- import IconMultiselect from "./icon-multiselect.vue";
17
- import IconRadio from "./icon-radio.vue";
18
- import IconInteger from "./icon-integer.vue";
19
- import IconGallery from "./icon-gallery.vue";
20
- import IconMarkdown from "./icon-merkdown.vue";
21
-
22
- export default {
23
- IconText,
24
- IconNumber,
25
- IconDate,
26
- IconDatetime,
27
- IconRichtext,
28
- IconBoolean,
29
- IconFile,
30
- IconImage,
31
- IconArray,
32
- IconSelect,
33
- IconSlug,
34
- IconDatalist,
35
- IconReference,
36
- IconReferenceList,
37
- IconRelation,
38
- IconMultiselect,
39
- IconRadio,
40
- IconInteger,
41
- IconGallery,
42
- IconMarkdown,
43
- };
@@ -1,67 +0,0 @@
1
- <template>
2
- <div
3
- class="flex-1 min-h-screen overflow-y-auto bg-gradient-to-br from-slate-50 via-blue-50 to-indigo-50 dark:from-slate-900 dark:via-slate-800 dark:to-slate-900"
4
- >
5
- <div class="flex h-screen transition-colors">
6
- <SettingsSidebar v-if="route.path.includes('/settings')" />
7
- <Sidebar v-else />
8
-
9
- <main class="flex-1 p-4 overflow-y-auto md:p-6">
10
- <router-view></router-view>
11
- </main>
12
- </div>
13
- </div>
14
- </template>
15
-
16
- <script setup lang="ts">
17
- import { onMounted, ref, provide, getCurrentInstance } from "vue";
18
- import { useTheme } from "../../composables/useTheme";
19
- import Sidebar from "./Sidebar.vue";
20
- import SettingsSidebar from "../sidebar/SettingsSidebar.vue";
21
- import { useRoute } from "vue-router";
22
- const { theme } = useTheme();
23
- const route = useRoute();
24
- // Динамічний список типів контенту
25
- const contentTypes = ref<any[]>([]);
26
- const menu = ref<any[]>([]);
27
- const app = getCurrentInstance();
28
-
29
- async function fetchContentTypes() {
30
- try {
31
- const res = await fetch("/api/cms-type?type=collection");
32
- if (!res.ok) throw new Error("Failed to fetch content types");
33
- const data = await res.json();
34
- // Вибираємо тільки типи-колекції (type === 'collection')
35
- const sortedData = data.rows.sort((a: any, b: any) => {
36
- // "сторінки" (id='pages') завжди перші
37
- if (a.id === "pages") return -1;
38
- if (b.id === "pages") return 1;
39
- return 0;
40
- });
41
- menu.value = sortedData;
42
- contentTypes.value = sortedData;
43
- } catch (e) {
44
- console.error("Error fetching content types:", e);
45
- }
46
- }
47
-
48
- async function fetchSettings() {
49
- const res = await fetch("/api/settings");
50
- const data = await res.json();
51
- // Звернення до глобальної змінної через getCurrentInstance
52
- if (app && app.appContext.config.globalProperties.$settings) {
53
- app.appContext.config.globalProperties.$settings.locales =
54
- data.settings.locales;
55
- app.appContext.config.globalProperties.$settings.locale =
56
- data.settings.locale;
57
- }
58
- }
59
-
60
- provide("menu", menu);
61
- provide("fetchContentTypes", fetchContentTypes);
62
-
63
- onMounted(() => {
64
- fetchContentTypes();
65
- fetchSettings();
66
- });
67
- </script>
@@ -1,128 +0,0 @@
1
- <template>
2
- <aside
3
- class="flex-col hidden w-64 transition-colors duration-200 bg-white border-r border-gray-200 md:flex dark:border-gray-700 dark:bg-gray-800"
4
- >
5
- <SidebarHeader />
6
-
7
- <nav class="sidebar-menu flex-1 p-2 overflow-y-auto bg-white dark:bg-slate-800">
8
- <SidebarMenu
9
- :navigation-items="navigationItems"
10
- />
11
- </nav>
12
-
13
- <SidebarFooter />
14
- </aside>
15
- </template>
16
-
17
- <script setup lang="ts">
18
- import { computed, ref, onMounted } from "vue";
19
- import SidebarMenu from "../sidebar/SidebarMenu.vue";
20
- import SidebarFooter from "../sidebar/SidebarFooter.vue";
21
- import SidebarHeader from "../sidebar/SidebarHeader.vue";
22
- import {
23
- Home,
24
- FileText,
25
- Image,
26
- Menu,
27
- Settings,
28
- Tag,
29
- Users,
30
- } from "lucide-vue-next";
31
-
32
- const userType = ref<string | null>(null);
33
-
34
- const fetchUserData = async () => {
35
- try {
36
- const response = await fetch('/user');
37
- const data = await response.json();
38
- userType.value = data?.user?.user_type || null;
39
- } catch (error) {
40
- console.error('Error fetching user data:', error);
41
- }
42
- };
43
-
44
- onMounted(() => {
45
- fetchUserData();
46
- });
47
-
48
- const navigationItems = computed(() => {
49
- const allNavigationItems = [
50
- {
51
- id: "dashboard",
52
- path: "/",
53
- label: "navigation.dashboard",
54
- icon: Home,
55
- },
56
- {
57
- id: "content",
58
- path: "/collections",
59
- label: "common.content",
60
- icon: FileText,
61
- },
62
- {
63
- id: "menu",
64
- path: "/menu",
65
- label: "navigation.singletonsMenu",
66
- icon: Menu,
67
- },
68
- // {
69
- // id: "feedback",
70
- // path: "/feedback",
71
- // label: "navigation.feedback",
72
- // icon: FolderUp,
73
- // },
74
- // {
75
- // id: "email",
76
- // path: "/email",
77
- // label: "navigation.email",
78
- // icon: Mail,
79
- // },
80
- {
81
- id: "tags",
82
- path: "/tags",
83
- label: "navigation.tags",
84
- icon: Tag,
85
- },
86
- {
87
- id: "users",
88
- path: "/users",
89
- label: "navigation.users",
90
- icon: Users,
91
- },
92
- {
93
- id: "media",
94
- path: "/media",
95
- label: "navigation.media",
96
- icon: Image,
97
- },
98
- {
99
- id: "settings",
100
- path: "/settings",
101
- label: "navigation.settings",
102
- icon: Settings,
103
- },
104
- ];
105
-
106
- // If user_type is not "admin", filter out "users" and "settings"
107
- if (userType.value !== "admin") {
108
- return allNavigationItems.filter(item => item.id !== "users" && item.id !== "settings");
109
- }
110
- return allNavigationItems;
111
- });
112
- </script>
113
-
114
- <style scoped>
115
- .sidebar-menu {
116
- overflow-y: auto;
117
- scrollbar-width: thin;
118
- scrollbar-color: #e0e0e0 #f5f5f5;
119
- }
120
-
121
- .sidebar-menu::-webkit-scrollbar {
122
- width: 4px;
123
- }
124
-
125
- .sidebar-menu::-webkit-scrollbar-thumb {
126
- border-radius: 0;
127
- }
128
- </style>