aboutsummaryrefslogtreecommitdiff
path: root/src/site/pages
diff options
context:
space:
mode:
authorZephyrrus <[email protected]>2021-01-11 18:57:19 +0200
committerZephyrrus <[email protected]>2021-01-11 18:57:19 +0200
commitdc4f3a6557cc5f4ddf3d9a9bc8fad4f3bdc40c72 (patch)
tree46ef67145a83d1c7c2da50984150e1b71d50d9be /src/site/pages
parentfeat: add sections to settings object meta (diff)
downloadhost.fuwn.me-dc4f3a6557cc5f4ddf3d9a9bc8fad4f3bdc40c72.tar.xz
host.fuwn.me-dc4f3a6557cc5f4ddf3d9a9bc8fad4f3bdc40c72.zip
fix: sections not rendering
Diffstat (limited to 'src/site/pages')
-rw-r--r--src/site/pages/dashboard/admin/settings.vue26
1 files changed, 19 insertions, 7 deletions
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 @@
</h2>
<hr>
- <!-- TODO: IMPLEMENT SECTIONS (v-for JoiObject for each section maybe?) -->
- <JoiObject :keys="sectionedSettings" :values="{}" />
+ <div v-for="[sectionName, fields] in Object.entries(sectionedSettings)" :key="sectionName" class="block">
+ <h5 class="title is-5 has-text-grey-lighter">
+ {{ sectionName }}
+ </h5>
+ <JoiObject :keys="fields" :values="{}" />
+ </div>
+
+ <div class="mb2 mt2 text-center">
+ <button
+ class="button is-primary"
+ @click="promptRestartService">
+ Save settings
+ </button>
+ </div>
</div>
</div>
</div>
@@ -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 };
}