diff --git a/vue3/src/apps/tandoor/main.ts b/vue3/src/apps/tandoor/main.ts
index a7f3fc084..3eea376d4 100644
--- a/vue3/src/apps/tandoor/main.ts
+++ b/vue3/src/apps/tandoor/main.ts
@@ -18,6 +18,11 @@ import {setupI18n} from "@/i18n";
import SettingsPage from "@/pages/SettingsPage.vue";
import AccountSettings from "@/components/settings/AccountSettings.vue";
import CosmeticSettings from "@/components/settings/CosmeticSettings.vue";
+import ShoppingSettings from "@/components/settings/ShoppingSettings.vue";
+import MealPlanSettings from "@/components/settings/MealPlanSettings.vue";
+import SpaceSettings from "@/components/settings/SpaceSettings.vue";
+import SpaceMemberSettings from "@/components/settings/SpaceMemberSettings.vue";
+import UserSpaceSettings from "@/components/settings/UserSpaceSettings.vue";
const routes = [
{path: '/', component: StartPage, name: 'view_home'},
@@ -26,6 +31,11 @@ const routes = [
children: [
{path: 'account', component: AccountSettings, name: 'view_settings_account'},
{path: 'cosmetic', component: CosmeticSettings, name: 'view_settings_cosmetic'},
+ {path: 'shopping', component: ShoppingSettings, name: 'view_settings_shopping'},
+ {path: 'meal-plan', component: MealPlanSettings, name: 'view_settings_mealplan'},
+ {path: 'space', component: SpaceSettings, name: 'view_settings_space'},
+ {path: 'space-members', component: SpaceMemberSettings, name: 'view_settings_space_member'},
+ {path: 'user-space', component: UserSpaceSettings, name: 'view_settings_user_space'},
]},
//{path: '/settings/:page', component: SettingsPage, name: 'view_settings_page', props: true},
{path: '/search', component: SearchPage, name: 'view_search'},
diff --git a/vue3/src/components/settings/MealPlanSettings.vue b/vue3/src/components/settings/MealPlanSettings.vue
new file mode 100644
index 000000000..63a9f5f42
--- /dev/null
+++ b/vue3/src/components/settings/MealPlanSettings.vue
@@ -0,0 +1,21 @@
+
+
+ {{ $t('Cosmetic') }}
+
+
+
+ {{$t('Save')}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vue3/src/components/settings/ShoppingSettings.vue b/vue3/src/components/settings/ShoppingSettings.vue
new file mode 100644
index 000000000..63a9f5f42
--- /dev/null
+++ b/vue3/src/components/settings/ShoppingSettings.vue
@@ -0,0 +1,21 @@
+
+
+ {{ $t('Cosmetic') }}
+
+
+
+ {{$t('Save')}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vue3/src/components/settings/SpaceMemberSettings.vue b/vue3/src/components/settings/SpaceMemberSettings.vue
new file mode 100644
index 000000000..63a9f5f42
--- /dev/null
+++ b/vue3/src/components/settings/SpaceMemberSettings.vue
@@ -0,0 +1,21 @@
+
+
+ {{ $t('Cosmetic') }}
+
+
+
+ {{$t('Save')}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vue3/src/components/settings/SpaceSettings.vue b/vue3/src/components/settings/SpaceSettings.vue
new file mode 100644
index 000000000..63a9f5f42
--- /dev/null
+++ b/vue3/src/components/settings/SpaceSettings.vue
@@ -0,0 +1,21 @@
+
+
+ {{ $t('Cosmetic') }}
+
+
+
+ {{$t('Save')}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vue3/src/components/settings/UserSpaceSettings.vue b/vue3/src/components/settings/UserSpaceSettings.vue
new file mode 100644
index 000000000..c7bcde083
--- /dev/null
+++ b/vue3/src/components/settings/UserSpaceSettings.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+ {{us.space}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vue3/src/pages/SettingsPage.vue b/vue3/src/pages/SettingsPage.vue
index adc2a6117..f62bb4aa6 100644
--- a/vue3/src/pages/SettingsPage.vue
+++ b/vue3/src/pages/SettingsPage.vue
@@ -9,14 +9,14 @@
{{ $t('Settings') }}
{{ $t('Cosmetic') }}
- {{ $t('Shopping_list') }}
- {{ $t('Meal_Plan') }}
- {{ $t('Search') }}
+ {{ $t('Shopping_list') }}
+ {{ $t('Meal_Plan') }}
+
Space
- {{ $t('YourSpaces') }}
- {{ $t('SpaceSettings') }}
- {{ $t('SpaceSettings') }}
+ {{ $t('YourSpaces') }}
+ {{ $t('SpaceSettings') }}
+ {{ $t('SpaceMembers') }}
Admin
{{ $t('API') }}
diff --git a/vue3/src/stores/UserPreferenceStore.ts b/vue3/src/stores/UserPreferenceStore.ts
index 90f368a51..9bcab8ebe 100644
--- a/vue3/src/stores/UserPreferenceStore.ts
+++ b/vue3/src/stores/UserPreferenceStore.ts
@@ -1,10 +1,11 @@
import {acceptHMRUpdate, defineStore} from 'pinia'
import {useStorage} from "@vueuse/core";
import {ErrorMessageType, useMessageStore} from "@/stores/MessageStore";
-import {ApiApi, UserPreference} from "@/openapi";
+import {ApiApi, Space, UserPreference} from "@/openapi";
const DEVICE_SETTINGS_KEY = 'TANDOOR_DEVICE_SETTINGS'
const USER_PREFERENCE_KEY = 'TANDOOR_USER_PREFERENCE'
+const ACTIVE_SPACE_KEY = 'TANDOOR_ACTIVE_SPACE'
class DeviceSettings {
@@ -29,6 +30,11 @@ export const useUserPreferenceStore = defineStore('user_preference_store', () =>
*/
let userSettings = useStorage(USER_PREFERENCE_KEY, {} as UserPreference)
+ /**
+ * database user settings, cache in local storage in case application is started offline
+ */
+ let activeSpace = useStorage(ACTIVE_SPACE_KEY, {} as Space)
+
/**
* retrieve user settings from DB
*/