From 5c46f1bba40b6b1e9a7024310cb43a3f12ecb9e8 Mon Sep 17 00:00:00 2001 From: Jakob Scheid Date: Thu, 23 Jul 2026 12:23:49 +0200 Subject: [PATCH] feat(settigns): add settings page composable --- .../settings/composables/useSettingsPage.js | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/features/settings/composables/useSettingsPage.js diff --git a/src/features/settings/composables/useSettingsPage.js b/src/features/settings/composables/useSettingsPage.js new file mode 100644 index 0000000..0dc43a9 --- /dev/null +++ b/src/features/settings/composables/useSettingsPage.js @@ -0,0 +1,31 @@ +/* +Copyright 2026 Seekra + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import { useRouter } from 'vue-router'; + +const normalizePagePath = function normalizePagePath (path) { + return path.replaceAll('.', '/'); +}; + +export const useSettingsPage = function useSettingsPage () { + const router = useRouter(); + + const goToSettingsPage = function goToSettingsPage (pagePath) { + router.push(`/settings/${normalizePagePath(pagePath)}`); + }; + + return { goToSettingsPage }; +}; \ No newline at end of file