From e337e1db3ee0dcb8d6fc2484f8cf0548a2f56c8e Mon Sep 17 00:00:00 2001 From: Jakob Scheid Date: Sat, 6 Jun 2026 01:52:10 +0200 Subject: [PATCH] feat(settings): make active section content reactive --- src/features/settings/views/SettingsView.vue | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/features/settings/views/SettingsView.vue b/src/features/settings/views/SettingsView.vue index 0ab7b6e..a366e60 100644 --- a/src/features/settings/views/SettingsView.vue +++ b/src/features/settings/views/SettingsView.vue @@ -18,7 +18,7 @@ limitations under the License. import LeftSidebarLayout from '@/layouts/LeftSidebarLayout.vue'; import { loadSettingsConfig } from '../utils/settingsParser'; -import { onMounted, ref } from 'vue'; +import { onMounted, ref, watchEffect } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute, useRouter } from 'vue-router'; @@ -28,12 +28,25 @@ const router = useRouter(); const settingsLoaded = ref(false) const settings = ref([]); +const activeSectionContent = ref([]); + +const updateSettings = function updateSettings () { + const activeSection = getActiveSection(); + if (activeSection) { + activeSectionContent.value = settings.value.filter((section) => section.name === activeSection)[0].content; + } else { + activeSectionContent.value = []; + }; +}; onMounted(async () => { settings.value = (await loadSettingsConfig()).contents; if (!settings.value.map((section) => section.name).includes(getActiveSection())) { router.push('/settings'); }; + watchEffect(() => { + updateSettings(); + }); settingsLoaded.value = true; });