From dc4f3a6557cc5f4ddf3d9a9bc8fad4f3bdc40c72 Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Mon, 11 Jan 2021 18:57:19 +0200 Subject: fix: sections not rendering --- src/site/components/settings/JoiObject.vue | 6 +++--- src/site/pages/dashboard/admin/settings.vue | 26 +++++++++++++++++++------- src/site/store/admin.js | 5 ++++- 3 files changed, 26 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/site/components/settings/JoiObject.vue b/src/site/components/settings/JoiObject.vue index c91fd36..af5b4eb 100644 --- a/src/site/components/settings/JoiObject.vue +++ b/src/site/components/settings/JoiObject.vue @@ -65,7 +65,7 @@ export default { }, errors: { 'type': Object, - 'default': {} + 'default': () => ({}) } }, data() { @@ -99,9 +99,9 @@ export default { getDisplayType(field) { if (!field.metas) return field.type; - const { displayType } = field.metas.find(e => e.displayType); + const foundMeta = field.metas.find(e => e.displayType); - if (displayType) return displayType; + if (foundMeta) return foundMeta.displayType; return field.type; }, diff --git a/src/site/pages/dashboard/admin/settings.vue b/src/site/pages/dashboard/admin/settings.vue index 5a28dda..bd23b1c 100644 --- a/src/site/pages/dashboard/admin/settings.vue +++ b/src/site/pages/dashboard/admin/settings.vue @@ -11,8 +11,20 @@
- - +
+
+ {{ sectionName }} +
+ +
+ +
+ +
@@ -45,12 +57,12 @@ export default { settingsSchema: state => state.admin.settingsSchema }), sectionedSettings() { - return Object.entries(this.settings).reduce((acc, { key, field }) => { - if (!field.meta) acc['Other'] = { ...acc['Other'], [key]: field }; + return Object.entries(this.settingsSchema.keys).reduce((acc, [key, field]) => { + if (!field.metas) acc['Other'] = { ...acc['Other'], [key]: field }; - const { sectionName } = field.metas.find(e => e.sectionName); - if (sectionName) { - acc[sectionName] = { ...acc[sectionName], [key]: field }; + const sectionMeta = field.metas.find(e => e.section); + if (sectionMeta) { + acc[sectionMeta.section] = { ...acc[sectionMeta.section], [key]: field }; } else { acc['Other'] = { ...acc['Other'], [key]: field }; } diff --git a/src/site/store/admin.js b/src/site/store/admin.js index e84a2b1..72cd919 100644 --- a/src/site/store/admin.js +++ b/src/site/store/admin.js @@ -13,7 +13,10 @@ export const state = () => ({ file: {}, settings: {}, statistics: {}, - settingsSchema: {} + settingsSchema: { + type: null, + keys: {} + } }); export const actions = { -- cgit v1.2.3