@opengis/cms 0.0.22 → 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -10
- package/src/index.js +23 -0
- package/module/cms/card/cms.content.table/index.yml +0 -17
- package/module/cms/card/cms.content.table/main_info.hbs +0 -26
- package/module/cms/card/cms.menu.table/content_info.hbs +0 -16
- package/module/cms/card/cms.menu.table/index.yml +0 -18
- package/module/cms/card/cms.menu.table/main_info.hbs +0 -22
- package/module/cms/card/cms.settings.table/index.yml +0 -13
- package/module/cms/card/cms.settings.table/main_info.hbs +0 -20
- package/module/cms/cls/content.status.json +0 -18
- package/module/cms/cls/user_type.json +0 -10
- package/module/cms/form/admin.users.form.json +0 -78
- package/module/cms/form/cms.content.form.json +0 -79
- package/module/cms/form/cms.menu.form.json +0 -69
- package/module/cms/form/cms.settings.form.json +0 -32
- package/module/cms/menu.json +0 -24
- package/module/cms/router.js +0 -169
- package/module/cms/select/cms.page_type.sql +0 -2
- package/module/cms/select/collection.sql +0 -1
- package/module/cms/select/locale.sql +0 -17
- package/module/cms/select/news_tag_id.sql +0 -12
- package/module/cms/select/tag_id.sql +0 -1
- package/module/cms/table/admin.users.table.json +0 -54
- package/module/cms/table/cms.content.table.json +0 -106
- package/module/cms/table/cms.menu.table.json +0 -73
- package/module/cms/table/cms.settings.table.json +0 -57
- package/module/cms/table/collection.default.table.json +0 -102
- package/module/cms/table/single.default.table.json +0 -115
- package/src/App.css +0 -52
- package/src/App.vue +0 -62
- package/src/assets/image.png +0 -0
- package/src/assets/main.css +0 -3
- package/src/assets/tailwind-3.4.17.js +0 -113
- package/src/components/LanguageSwitcher.vue +0 -73
- package/src/components/SettingsCard.vue +0 -40
- package/src/components/builder/CreateForm.vue +0 -128
- package/src/components/builder/formTypeSchema.js +0 -145
- package/src/components/builder/tabs/index.ts +0 -9
- package/src/components/builder/tabs/vs-builder-edit.vue +0 -133
- package/src/components/builder/tabs/vs-builder-monaco.vue +0 -29
- package/src/components/builder/tabs/vs-builder-preview.vue +0 -39
- package/src/components/builder/vs-builder-datatable-controls.vue +0 -138
- package/src/components/builder/vs-builder-datatable-form.vue +0 -80
- package/src/components/builder/vs-builder-datatable.vue +0 -191
- package/src/components/builder/vs-builder-list-item.vue +0 -110
- package/src/components/collections/CollectionsBreadcrumb.vue +0 -52
- package/src/components/collections/CollectionsGrid.vue +0 -176
- package/src/components/collections/ContentBlock.vue +0 -75
- package/src/components/collections/formWrapper.vue +0 -156
- package/src/components/dashboard/ContentItem.vue +0 -82
- package/src/components/dashboard/DashboardHeader.vue +0 -33
- package/src/components/dashboard/QuickActions.vue +0 -84
- package/src/components/dashboard/RecentContent.vue +0 -54
- package/src/components/dashboard/StatCard.vue +0 -63
- package/src/components/dashboard/StatsGrid.vue +0 -28
- package/src/components/form-components/MonacoEditor.vue +0 -104
- package/src/components/form-components/VsFormMeta.vue +0 -40
- package/src/components/form-components/VsFormTags.vue +0 -150
- package/src/components/form-components/custom-datatable/vs-form-custom-datatable-add.vue +0 -84
- package/src/components/form-components/custom-datatable/vs-form-custom-datatable-controls.vue +0 -106
- package/src/components/form-components/index.js +0 -23
- package/src/components/form-components/reference/vs-form-reference-add.vue +0 -92
- package/src/components/form-components/reference/vs-form-reference-controls.vue +0 -101
- package/src/components/form-components/reference-list/referenceOptionList.js +0 -78
- package/src/components/form-components/reference-list/vs-form-reference-add.vue +0 -145
- package/src/components/form-components/reference-list/vs-form-reference-choce.vue +0 -39
- package/src/components/form-components/reference-list/vs-form-reference-controls.vue +0 -110
- package/src/components/form-components/reference-skeleton/about-skeleton.vue +0 -37
- package/src/components/form-components/reference-skeleton/banner-skeleton.vue +0 -29
- package/src/components/form-components/reference-skeleton/body-skeleton.vue +0 -56
- package/src/components/form-components/reference-skeleton/cards-skeleton.vue +0 -47
- package/src/components/form-components/reference-skeleton/documents-skeleton.vue +0 -64
- package/src/components/form-components/reference-skeleton/faq-skeleton.vue +0 -64
- package/src/components/form-components/reference-skeleton/form-skeleton.vue +0 -41
- package/src/components/form-components/reference-skeleton/index.js +0 -36
- package/src/components/form-components/reference-skeleton/infoLine-skeleton.vue +0 -37
- package/src/components/form-components/reference-skeleton/news-skeleton.vue +0 -54
- package/src/components/form-components/reference-skeleton/slider-skeleton.vue +0 -41
- package/src/components/form-components/reference-skeleton/tabs-skeleton.vue +0 -40
- package/src/components/form-components/reference-skeleton/team-skeleton.vue +0 -103
- package/src/components/form-components/reference-skeleton/usefulLinks-skeleton.vue +0 -52
- package/src/components/form-components/reference-skeleton/video-skeleton.vue +0 -36
- package/src/components/form-components/testReferenceTypes.js +0 -773
- package/src/components/form-components/vs-form-color-picker.vue +0 -29
- package/src/components/form-components/vs-form-custom-datatable.vue +0 -214
- package/src/components/form-components/vs-form-integer.vue +0 -86
- package/src/components/form-components/vs-form-key-value.vue +0 -201
- package/src/components/form-components/vs-form-marcdown-md.vue +0 -3
- package/src/components/form-components/vs-form-media-select.vue +0 -780
- package/src/components/form-components/vs-form-reference-list.vue +0 -97
- package/src/components/form-components/vs-form-reference.vue +0 -59
- package/src/components/form-components/vs-form-relation.vue +0 -30
- package/src/components/form-components/vs-form-reletion-link.vue +0 -34
- package/src/components/form-components/vs-form-select-collection.vue +0 -0
- package/src/components/form-components/vs-form-slug.vue +0 -72
- package/src/components/form-components/vs-form-tiptap.vue +0 -7
- package/src/components/form-components/vs-richtext-md.vue +0 -3
- package/src/components/icons/BellIcon.vue +0 -17
- package/src/components/icons/GlobeIcon.vue +0 -18
- package/src/components/icons/KeyIcon.vue +0 -20
- package/src/components/icons/PaletteIcon.vue +0 -22
- package/src/components/icons/SettingsIcon.vue +0 -19
- package/src/components/icons/ShieldIcon.vue +0 -18
- package/src/components/icons/UsersIcon.vue +0 -19
- package/src/components/icons/icon-chevron-right.vue +0 -16
- package/src/components/icons/icon-drag.vue +0 -20
- package/src/components/icons/icon-file-text.vue +0 -21
- package/src/components/icons/icon-folder.vue +0 -18
- package/src/components/icons/icon-grid.vue +0 -17
- package/src/components/icons/icon-group.vue +0 -19
- package/src/components/icons/icon-home.vue +0 -16
- package/src/components/icons/icon-image.vue +0 -18
- package/src/components/icons/icon-list.vue +0 -20
- package/src/components/icons/icon-more.vue +0 -17
- package/src/components/icons/icon-plus.vue +0 -17
- package/src/components/icons-types/icon-array.vue +0 -22
- package/src/components/icons-types/icon-boolean.vue +0 -18
- package/src/components/icons-types/icon-datalist.vue +0 -22
- package/src/components/icons-types/icon-date.vue +0 -20
- package/src/components/icons-types/icon-datetime.vue +0 -20
- package/src/components/icons-types/icon-file.vue +0 -21
- package/src/components/icons-types/icon-gallery.vue +0 -18
- package/src/components/icons-types/icon-image.vue +0 -19
- package/src/components/icons-types/icon-integer.vue +0 -20
- package/src/components/icons-types/icon-merkdown.vue +0 -18
- package/src/components/icons-types/icon-multiselect.vue +0 -22
- package/src/components/icons-types/icon-number.vue +0 -20
- package/src/components/icons-types/icon-radio.vue +0 -22
- package/src/components/icons-types/icon-reference-list.vue +0 -22
- package/src/components/icons-types/icon-reference.vue +0 -20
- package/src/components/icons-types/icon-relation.vue +0 -22
- package/src/components/icons-types/icon-richtext.vue +0 -18
- package/src/components/icons-types/icon-select.vue +0 -22
- package/src/components/icons-types/icon-slug.vue +0 -19
- package/src/components/icons-types/icon-text.vue +0 -19
- package/src/components/icons-types/index.js +0 -43
- package/src/components/layout/Layout.vue +0 -67
- package/src/components/layout/Sidebar.vue +0 -128
- package/src/components/media/FileUploadProgress.vue +0 -29
- package/src/components/media/MediaBreadcrumb.vue +0 -42
- package/src/components/media/MediaCreateFolder.vue +0 -59
- package/src/components/media/MediaFileInfo.vue +0 -148
- package/src/components/media/MediaGrid.vue +0 -148
- package/src/components/media/MediaList.vue +0 -148
- package/src/components/media/MediaViewControls.vue +0 -38
- package/src/components/media/TypeTag.vue +0 -23
- package/src/components/menu/AddNewItemInTree.vue +0 -75
- package/src/components/menu/MenuBody.vue +0 -149
- package/src/components/menu/MenuItem.vue +0 -73
- package/src/components/menu/MenuList.vue +0 -101
- package/src/components/referencec/index.ts +0 -7
- package/src/components/referencec/vs-reference-faq.vue +0 -61
- package/src/components/referencec/vs-reference-user-card.vue +0 -40
- package/src/components/settings/NotificationSettings.vue +0 -32
- package/src/components/settings/SettingsTable.vue +0 -50
- package/src/components/settings/SettingsTitle.vue +0 -33
- package/src/components/settings/SettingsToggleItem.vue +0 -25
- package/src/components/sidebar/DropdownMenu.vue +0 -34
- package/src/components/sidebar/SettingsSidebar.vue +0 -121
- package/src/components/sidebar/SidebarFooter.vue +0 -52
- package/src/components/sidebar/SidebarHeader.vue +0 -57
- package/src/components/sidebar/SidebarMenu.vue +0 -78
- package/src/components/ui/EmptyData.vue +0 -76
- package/src/components/ui/UniversalTable.vue +0 -310
- package/src/components/ui/UniversalTableFilters.vue +0 -0
- package/src/components/ui/UniversalTablePagination.vue +0 -118
- package/src/components/ui/VsPreview.vue +0 -75
- package/src/composables/useCollectionView.ts +0 -21
- package/src/composables/useDebounce.ts +0 -26
- package/src/composables/useMonaco.ts +0 -28
- package/src/composables/useTheme.ts +0 -40
- package/src/content/test-slug/metadata.json +0 -1
- package/src/i18n.ts +0 -75
- package/src/index.css +0 -3
- package/src/index.ts +0 -122
- package/src/locales/en.json +0 -778
- package/src/locales/uk.json +0 -797
- package/src/main.ts +0 -41
- package/src/pages/Dashboard.vue +0 -168
- package/src/pages/EmailPage.vue +0 -183
- package/src/pages/FeedbackPage.vue +0 -232
- package/src/pages/MediaPage.vue +0 -372
- package/src/pages/TagsPage.vue +0 -207
- package/src/pages/builder/BuilderPage.vue +0 -195
- package/src/pages/builder/EditCollectionPage.vue +0 -163
- package/src/pages/collections/ArticlesPage.vue +0 -385
- package/src/pages/collections/CollectionsPage.vue +0 -146
- package/src/pages/collections/SingletonsPage.vue +0 -119
- package/src/pages/collections/contentForm.vue +0 -484
- package/src/pages/collections/schema/seo.ts +0 -27
- package/src/pages/menu/MenuAddPage.vue +0 -123
- package/src/pages/menu/MenuItemPage.vue +0 -183
- package/src/pages/menu/MenuPage.vue +0 -133
- package/src/pages/settings/ApiKeys.vue +0 -75
- package/src/pages/settings/Appearance.vue +0 -80
- package/src/pages/settings/Logs.vue +0 -260
- package/src/pages/settings/PermissionsPage.vue +0 -237
- package/src/pages/settings/Settings.vue +0 -186
- package/src/pages/settings/Users.vue +0 -109
- package/src/pages/settings/general.vue +0 -154
- package/src/pages/settings/generalScheme.js +0 -132
- package/src/pages/users/AddUser.vue +0 -106
- package/src/pages/users/UsersPage.vue +0 -98
- package/src/props/builder.ts +0 -67
- package/src/props/content.ts +0 -56
- package/src/props/media.ts +0 -63
- package/src/router/index.ts +0 -181
- package/src/types/fastify-auth.d.ts +0 -4
- package/src/utils/getField.js +0 -270
- package/src/utils/translit.js +0 -19
- package/src/vite-env.d.ts +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
SELECT content_type_id, name FROM site.content_types where type='collection'
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
SELECT DISTINCT locale as id,
|
|
2
|
-
CASE
|
|
3
|
-
WHEN locale = 'uk' THEN 'Українська'
|
|
4
|
-
WHEN locale = 'en' THEN 'English'
|
|
5
|
-
ELSE locale
|
|
6
|
-
END as text
|
|
7
|
-
FROM site.contents
|
|
8
|
-
UNION
|
|
9
|
-
SELECT DISTINCT locale as id,
|
|
10
|
-
CASE
|
|
11
|
-
WHEN locale = 'uk' THEN 'Українська'
|
|
12
|
-
WHEN locale = 'en' THEN 'English'
|
|
13
|
-
ELSE locale
|
|
14
|
-
END as text
|
|
15
|
-
FROM site.menus
|
|
16
|
-
ORDER BY id
|
|
17
|
-
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
select a.id, a.title, tags from data.news a
|
|
2
|
-
left join lateral(select array_agg(tag_id) as tags from site.tag_data b where a.id=b.data_id)b on 1=1
|
|
3
|
-
|
|
4
|
-
where
|
|
5
|
-
case when '{{parent}}'<> ''
|
|
6
|
-
then '{{parent}}'=any(b.tags)
|
|
7
|
-
else true
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
and status='published'
|
|
11
|
-
|
|
12
|
-
order by a.updated_at
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
select tag_id, value from site.tags order by value
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"ua": "Користувачі",
|
|
3
|
-
"key": "uid",
|
|
4
|
-
"order": "cdate desc",
|
|
5
|
-
"access": "admin",
|
|
6
|
-
"sqlColumns": "*",
|
|
7
|
-
"form": "admin.users.form",
|
|
8
|
-
"table": "admin.users",
|
|
9
|
-
"sql": [
|
|
10
|
-
{
|
|
11
|
-
"name": "social_auth_sql",
|
|
12
|
-
"sql": "select social_auth_obj,social_auth_date from admin.users_social_auth where uid=t.uid limit 1"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"sql": "SELECT coalesce(sur_name, '') || ' ' || coalesce(user_name, '') || ' ' || coalesce(father_name, '') as full_name FROM admin.users WHERE uid = t.uid",
|
|
16
|
-
"name": "full_name_sql"
|
|
17
|
-
}
|
|
18
|
-
],
|
|
19
|
-
"columns": [
|
|
20
|
-
{
|
|
21
|
-
"ua": "ПІБ",
|
|
22
|
-
"name": "full_name",
|
|
23
|
-
"format": "select",
|
|
24
|
-
"data": "full_name_sql"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"ua": "Тип користувача",
|
|
28
|
-
"name": "user_type_text",
|
|
29
|
-
"format": "select",
|
|
30
|
-
"data": "user_type_text"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"ua": "Статус доступу",
|
|
34
|
-
"name": "enabled"
|
|
35
|
-
}
|
|
36
|
-
],
|
|
37
|
-
"filters": [
|
|
38
|
-
{
|
|
39
|
-
"label": "Тип користувача",
|
|
40
|
-
"type": "Check",
|
|
41
|
-
"name": "user_type",
|
|
42
|
-
"data": "user_type"
|
|
43
|
-
}
|
|
44
|
-
],
|
|
45
|
-
"meta": {
|
|
46
|
-
"title": "full_name",
|
|
47
|
-
"search": "user_name,user_rnokpp"
|
|
48
|
-
},
|
|
49
|
-
"actions": [
|
|
50
|
-
"edit",
|
|
51
|
-
"del",
|
|
52
|
-
"add"
|
|
53
|
-
]
|
|
54
|
-
}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"key": "content_id",
|
|
3
|
-
"table": "site.contents",
|
|
4
|
-
"public": true,
|
|
5
|
-
"actions": [
|
|
6
|
-
"add",
|
|
7
|
-
"edit",
|
|
8
|
-
"del"
|
|
9
|
-
],
|
|
10
|
-
"controls": [
|
|
11
|
-
"search",
|
|
12
|
-
"list",
|
|
13
|
-
"add"
|
|
14
|
-
],
|
|
15
|
-
"access": "user",
|
|
16
|
-
"order": "published_at desc, created_at desc",
|
|
17
|
-
"meta": {
|
|
18
|
-
"title": "title",
|
|
19
|
-
"search": "title,slug"
|
|
20
|
-
},
|
|
21
|
-
"title": "Контент",
|
|
22
|
-
"form": "cms.content.form",
|
|
23
|
-
"sqlColumns": "*",
|
|
24
|
-
"columns": [
|
|
25
|
-
{
|
|
26
|
-
"ua": "Назва",
|
|
27
|
-
"meta": "title",
|
|
28
|
-
"name": "title",
|
|
29
|
-
"format": "slot",
|
|
30
|
-
"slot": "<div><p>{{data?.title}}</p><p class='text-xs text-gray-500'>{{data?.slug}}</p></div>",
|
|
31
|
-
"link": "/collections/{content_type_id}/{content_id}"
|
|
32
|
-
"width": 400
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"ua": "Тип контенту",
|
|
36
|
-
"name": "content_type_id",
|
|
37
|
-
"data": "collection",
|
|
38
|
-
"format": "badge",
|
|
39
|
-
"width": 200
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"ua": "Статус",
|
|
43
|
-
"name": "status",
|
|
44
|
-
"data": "content.status",
|
|
45
|
-
"format": "badge",
|
|
46
|
-
"edit": true,
|
|
47
|
-
"width": 150
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"ua": "Дата публікації",
|
|
51
|
-
"name": "published_at",
|
|
52
|
-
"format": "datetime",
|
|
53
|
-
"width": 180
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"ua": "Створено",
|
|
57
|
-
"name": "created_at",
|
|
58
|
-
"format": "datetime",
|
|
59
|
-
"width": 180
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"ua": "Оновлено",
|
|
63
|
-
"name": "updated_at",
|
|
64
|
-
"format": "datetime",
|
|
65
|
-
"width": 180,
|
|
66
|
-
"hidden": true
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"ua": "Slug",
|
|
70
|
-
"name": "slug",
|
|
71
|
-
"format": "text",
|
|
72
|
-
"width": 250,
|
|
73
|
-
"hidden": true
|
|
74
|
-
}
|
|
75
|
-
],
|
|
76
|
-
"filterList": [
|
|
77
|
-
{
|
|
78
|
-
"ua": "Пошук",
|
|
79
|
-
"name": "search",
|
|
80
|
-
"type": "Text"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"ua": "Тип контенту",
|
|
84
|
-
"type": "Check",
|
|
85
|
-
"name": "content_type_id",
|
|
86
|
-
"data": "collection"
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
"ua": "Статус",
|
|
90
|
-
"name": "status",
|
|
91
|
-
"data": "content.status",
|
|
92
|
-
"type": "Check"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"ua": "Дата публікації",
|
|
96
|
-
"name": "published_at",
|
|
97
|
-
"type": "Date"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"ua": "Дата створення",
|
|
101
|
-
"name": "created_at",
|
|
102
|
-
"type": "Date"
|
|
103
|
-
}
|
|
104
|
-
]
|
|
105
|
-
}
|
|
106
|
-
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"key": "menu_id",
|
|
3
|
-
"table": "site.menus",
|
|
4
|
-
"public": true,
|
|
5
|
-
"actions": [
|
|
6
|
-
"add",
|
|
7
|
-
"edit",
|
|
8
|
-
"del"
|
|
9
|
-
],
|
|
10
|
-
"controls": [
|
|
11
|
-
"search",
|
|
12
|
-
"list",
|
|
13
|
-
"add"
|
|
14
|
-
],
|
|
15
|
-
"access": "user",
|
|
16
|
-
"order": "created_at desc",
|
|
17
|
-
"meta": {
|
|
18
|
-
"title": "name",
|
|
19
|
-
"search": "name,description"
|
|
20
|
-
},
|
|
21
|
-
"title": "Меню",
|
|
22
|
-
"form": "cms.menu.form",
|
|
23
|
-
"sqlColumns": "*",
|
|
24
|
-
"columns": [
|
|
25
|
-
{
|
|
26
|
-
"ua": "Назва",
|
|
27
|
-
"meta": "title",
|
|
28
|
-
"name": "name",
|
|
29
|
-
"format": "slot",
|
|
30
|
-
"slot": "<div><p>{{data?.name}}</p><p class='text-xs text-gray-500'>{{data?.description}}</p></div>",
|
|
31
|
-
"link": "/menu/{menu_id}",
|
|
32
|
-
"width": 300
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"ua": "Локаль",
|
|
36
|
-
"name": "locale",
|
|
37
|
-
"format": "badge",
|
|
38
|
-
"width": 100
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"ua": "Опис",
|
|
42
|
-
"name": "description",
|
|
43
|
-
"format": "text",
|
|
44
|
-
"width": 300,
|
|
45
|
-
"hidden": true
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"ua": "Створено",
|
|
49
|
-
"name": "created_at",
|
|
50
|
-
"format": "datetime",
|
|
51
|
-
"width": 180
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"ua": "Оновлено",
|
|
55
|
-
"name": "updated_at",
|
|
56
|
-
"format": "datetime",
|
|
57
|
-
"width": 180
|
|
58
|
-
}
|
|
59
|
-
],
|
|
60
|
-
"filterList": [
|
|
61
|
-
{
|
|
62
|
-
"ua": "Пошук",
|
|
63
|
-
"name": "search",
|
|
64
|
-
"type": "Text"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"ua": "Локаль",
|
|
68
|
-
"name": "locale",
|
|
69
|
-
"type": "Check"
|
|
70
|
-
}
|
|
71
|
-
]
|
|
72
|
-
}
|
|
73
|
-
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"key": "id",
|
|
3
|
-
"table": "site.settings",
|
|
4
|
-
"public": false,
|
|
5
|
-
"actions": [
|
|
6
|
-
"edit"
|
|
7
|
-
],
|
|
8
|
-
"controls": [
|
|
9
|
-
"search",
|
|
10
|
-
"list"
|
|
11
|
-
],
|
|
12
|
-
"access": "admin",
|
|
13
|
-
"order": "key asc",
|
|
14
|
-
"meta": {
|
|
15
|
-
"title": "key",
|
|
16
|
-
"search": "key,value"
|
|
17
|
-
},
|
|
18
|
-
"title": "Налаштування",
|
|
19
|
-
"form": "cms.settings.form",
|
|
20
|
-
"sqlColumns": "*",
|
|
21
|
-
"columns": [
|
|
22
|
-
{
|
|
23
|
-
"ua": "Ключ",
|
|
24
|
-
"meta": "title",
|
|
25
|
-
"name": "key",
|
|
26
|
-
"format": "text",
|
|
27
|
-
"width": 250
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"ua": "Значення",
|
|
31
|
-
"name": "value",
|
|
32
|
-
"format": "text",
|
|
33
|
-
"width": 400
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"ua": "Створено",
|
|
37
|
-
"name": "created_at",
|
|
38
|
-
"format": "datetime",
|
|
39
|
-
"width": 180,
|
|
40
|
-
"hidden": true
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"ua": "Оновлено",
|
|
44
|
-
"name": "updated_at",
|
|
45
|
-
"format": "datetime",
|
|
46
|
-
"width": 180
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
"filterList": [
|
|
50
|
-
{
|
|
51
|
-
"ua": "Пошук",
|
|
52
|
-
"name": "search",
|
|
53
|
-
"type": "Text"
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
}
|
|
57
|
-
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"table": "site.contents",
|
|
3
|
-
"columns": [
|
|
4
|
-
{
|
|
5
|
-
"label": "Slug",
|
|
6
|
-
"name": "slug",
|
|
7
|
-
"parent": "title",
|
|
8
|
-
"required": true,
|
|
9
|
-
"type": "slug"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"label": "Title",
|
|
13
|
-
"name": "title",
|
|
14
|
-
"required": true,
|
|
15
|
-
"type": "text",
|
|
16
|
-
"localization": true
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"label": "Status",
|
|
20
|
-
"name": "status",
|
|
21
|
-
"type": "select",
|
|
22
|
-
"data": "content.status",
|
|
23
|
-
"options": [
|
|
24
|
-
{
|
|
25
|
-
"id": "draft",
|
|
26
|
-
"text": "Draft"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"id": "published",
|
|
30
|
-
"text": "Published"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"id": "archived",
|
|
34
|
-
"text": "Archived"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"id": "delayPublished",
|
|
38
|
-
"text": "Delay Published"
|
|
39
|
-
}
|
|
40
|
-
],
|
|
41
|
-
"required": true
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"label": "Publish at",
|
|
45
|
-
"name": "published_at",
|
|
46
|
-
"required": true,
|
|
47
|
-
"type": "datetime"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"label": "Зображення",
|
|
51
|
-
"name": "main_image",
|
|
52
|
-
"type": "mediaselect"
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
"filters": [
|
|
56
|
-
{
|
|
57
|
-
"extra": false,
|
|
58
|
-
"id": "status",
|
|
59
|
-
"name": "status",
|
|
60
|
-
"title": "Статус",
|
|
61
|
-
"type": "Check",
|
|
62
|
-
"data": "content.status",
|
|
63
|
-
"ua": "Статус"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"extra": false,
|
|
67
|
-
"label": "Publish at",
|
|
68
|
-
"name": "published_at",
|
|
69
|
-
"type": "Date"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"extra": false,
|
|
73
|
-
"label": "Закріплені",
|
|
74
|
-
"name": "is_pin",
|
|
75
|
-
"type": "Check"
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"extra": false,
|
|
79
|
-
"name": "tag_list",
|
|
80
|
-
"type": "Tags",
|
|
81
|
-
"sql": "id in (select b.data_id from site.tags a left join site.tag_data b on a.tag_id=b.tag_id where a.tag_id=any($1))",
|
|
82
|
-
"label": "Теги"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"extra": false,
|
|
86
|
-
"columns": "slug,title",
|
|
87
|
-
"id": "search",
|
|
88
|
-
"name": "search",
|
|
89
|
-
"placeholder": "Пошук по тексту",
|
|
90
|
-
"title": "Пошук по тексту",
|
|
91
|
-
"type": "Text"
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"extra": false,
|
|
95
|
-
"id": "created_at",
|
|
96
|
-
"name": "created_at",
|
|
97
|
-
"title": "Дата створення",
|
|
98
|
-
"type": "Date",
|
|
99
|
-
"ua": "Дата створення"
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"table": "site.contents",
|
|
3
|
-
"columns": [
|
|
4
|
-
{
|
|
5
|
-
"label": "Slug",
|
|
6
|
-
"name": "slug",
|
|
7
|
-
"parent": "title",
|
|
8
|
-
"required": true,
|
|
9
|
-
"type": "slug"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"label": "Title",
|
|
13
|
-
"name": "title",
|
|
14
|
-
"required": true,
|
|
15
|
-
"type": "text",
|
|
16
|
-
"localization": true
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"label": "Status",
|
|
20
|
-
"name": "status",
|
|
21
|
-
"type": "select",
|
|
22
|
-
"data": "content.status",
|
|
23
|
-
"options": [
|
|
24
|
-
{
|
|
25
|
-
"id": "draft",
|
|
26
|
-
"text": "Draft"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"id": "published",
|
|
30
|
-
"text": "Published"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"id": "archived",
|
|
34
|
-
"text": "Archived"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"id": "delayPublished",
|
|
38
|
-
"text": "Delay Published"
|
|
39
|
-
}
|
|
40
|
-
],
|
|
41
|
-
"required": true
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"label": "Publish at",
|
|
45
|
-
"name": "published_at",
|
|
46
|
-
"required": true,
|
|
47
|
-
"type": "datetime"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"label": "Контент",
|
|
51
|
-
"name": "single_body",
|
|
52
|
-
"type": "richtext",
|
|
53
|
-
"localization": true
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"name": "single_sections",
|
|
57
|
-
"label": "Секції",
|
|
58
|
-
"type": "reference",
|
|
59
|
-
"localization": true
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"label": "Зображення",
|
|
63
|
-
"name": "main_image",
|
|
64
|
-
"type": "mediaselect"
|
|
65
|
-
}
|
|
66
|
-
],
|
|
67
|
-
"filters": [
|
|
68
|
-
{
|
|
69
|
-
"extra": false,
|
|
70
|
-
"id": "status",
|
|
71
|
-
"name": "status",
|
|
72
|
-
"title": "Статус",
|
|
73
|
-
"type": "Check",
|
|
74
|
-
"data": "content.status",
|
|
75
|
-
"ua": "Статус"
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"extra": false,
|
|
79
|
-
"label": "Publish at",
|
|
80
|
-
"name": "published_at",
|
|
81
|
-
"type": "Date"
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"extra": false,
|
|
85
|
-
"label": "Контент",
|
|
86
|
-
"name": "single_body",
|
|
87
|
-
"sql": "content_id in (select object_id from site.content_data where field_key='single_body' and field_value ~ $1)",
|
|
88
|
-
"type": "Text"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"extra": false,
|
|
92
|
-
"name": "tag_list",
|
|
93
|
-
"type": "Tags",
|
|
94
|
-
"sql": "content_id in (select b.data_id from site.tags a left join site.tag_data b on a.tag_id=b.tag_id where a.tag_id=any($1))",
|
|
95
|
-
"label": "Теги"
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"extra": false,
|
|
99
|
-
"columns": "slug,title",
|
|
100
|
-
"id": "search",
|
|
101
|
-
"name": "search",
|
|
102
|
-
"placeholder": "Пошук по тексту",
|
|
103
|
-
"title": "Пошук по тексту",
|
|
104
|
-
"type": "Text"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"extra": false,
|
|
108
|
-
"id": "created_at",
|
|
109
|
-
"name": "created_at",
|
|
110
|
-
"title": "Дата створення",
|
|
111
|
-
"type": "Date",
|
|
112
|
-
"ua": "Дата створення"
|
|
113
|
-
}
|
|
114
|
-
]
|
|
115
|
-
}
|
package/src/App.css
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
|
|
2
|
-
|
|
3
|
-
:root {
|
|
4
|
-
--primary-50: #f8fafc;
|
|
5
|
-
--primary-100: #f1f5f9;
|
|
6
|
-
--primary-200: #e2e8f0;
|
|
7
|
-
--primary-300: #cbd5e1;
|
|
8
|
-
--primary-400: #94a3b8;
|
|
9
|
-
--primary-500: #64748b;
|
|
10
|
-
--primary-600: #475569;
|
|
11
|
-
--primary-700: #334155;
|
|
12
|
-
--primary-800: #1e293b;
|
|
13
|
-
--primary-900: #0f172a;
|
|
14
|
-
|
|
15
|
-
--accent-50: #f0f9ff;
|
|
16
|
-
--accent-100: #e0f2fe;
|
|
17
|
-
--accent-200: #bae6fd;
|
|
18
|
-
--accent-300: #7dd3fc;
|
|
19
|
-
--accent-400: #38bdf8;
|
|
20
|
-
--accent-500: #0ea5e9;
|
|
21
|
-
--accent-600: #0284c7;
|
|
22
|
-
--accent-700: #0369a1;
|
|
23
|
-
--accent-800: #075985;
|
|
24
|
-
--accent-900: #0c4a6e;
|
|
25
|
-
|
|
26
|
-
--success-500: #22c55e;
|
|
27
|
-
--warning-500: #f59e0b;
|
|
28
|
-
--error-500: #ef4444;
|
|
29
|
-
|
|
30
|
-
--surface-light: #ffffff;
|
|
31
|
-
--surface-dark: #1e293b;
|
|
32
|
-
|
|
33
|
-
--transition-normal: 0.2s ease;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
body {
|
|
37
|
-
font-family: 'Inter', sans-serif;
|
|
38
|
-
margin: 0;
|
|
39
|
-
-webkit-font-smoothing: antialiased;
|
|
40
|
-
-moz-osx-font-smoothing: grayscale;
|
|
41
|
-
overflow-x: hidden;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
button, input, select, textarea {
|
|
45
|
-
font-family: 'Inter', sans-serif;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.truncate {
|
|
49
|
-
overflow: hidden;
|
|
50
|
-
text-overflow: ellipsis;
|
|
51
|
-
white-space: nowrap;
|
|
52
|
-
}
|
package/src/App.vue
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<Layout />
|
|
3
|
-
</template>
|
|
4
|
-
|
|
5
|
-
<script setup lang="ts">
|
|
6
|
-
import Layout from './components/layout/Layout.vue';
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<style>
|
|
10
|
-
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
|
|
11
|
-
|
|
12
|
-
:root {
|
|
13
|
-
--primary-50: #f8fafc;
|
|
14
|
-
--primary-100: #f1f5f9;
|
|
15
|
-
--primary-200: #e2e8f0;
|
|
16
|
-
--primary-300: #cbd5e1;
|
|
17
|
-
--primary-400: #94a3b8;
|
|
18
|
-
--primary-500: #64748b;
|
|
19
|
-
--primary-600: #475569;
|
|
20
|
-
--primary-700: #334155;
|
|
21
|
-
--primary-800: #1e293b;
|
|
22
|
-
--primary-900: #0f172a;
|
|
23
|
-
|
|
24
|
-
--accent-50: #f0f9ff;
|
|
25
|
-
--accent-100: #e0f2fe;
|
|
26
|
-
--accent-200: #bae6fd;
|
|
27
|
-
--accent-300: #7dd3fc;
|
|
28
|
-
--accent-400: #38bdf8;
|
|
29
|
-
--accent-500: #0ea5e9;
|
|
30
|
-
--accent-600: #0284c7;
|
|
31
|
-
--accent-700: #0369a1;
|
|
32
|
-
--accent-800: #075985;
|
|
33
|
-
--accent-900: #0c4a6e;
|
|
34
|
-
|
|
35
|
-
--success-500: #22c55e;
|
|
36
|
-
--warning-500: #f59e0b;
|
|
37
|
-
--error-500: #ef4444;
|
|
38
|
-
|
|
39
|
-
--surface-light: #ffffff;
|
|
40
|
-
--surface-dark: #1e293b;
|
|
41
|
-
|
|
42
|
-
--transition-normal: 0.2s ease;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
body {
|
|
46
|
-
font-family: 'Inter', sans-serif;
|
|
47
|
-
margin: 0;
|
|
48
|
-
-webkit-font-smoothing: antialiased;
|
|
49
|
-
-moz-osx-font-smoothing: grayscale;
|
|
50
|
-
overflow-x: hidden;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
button, input, select, textarea {
|
|
54
|
-
font-family: 'Inter', sans-serif;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.truncate {
|
|
58
|
-
overflow: hidden;
|
|
59
|
-
text-overflow: ellipsis;
|
|
60
|
-
white-space: nowrap;
|
|
61
|
-
}
|
|
62
|
-
</style>
|
package/src/assets/image.png
DELETED
|
Binary file
|
package/src/assets/main.css
DELETED