diff --git a/src/components/AppIcon.vue b/src/components/AppIcon.vue
new file mode 100644
index 0000000..ed4b4db
--- /dev/null
+++ b/src/components/AppIcon.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/src/components/admin/management/setting/AppSetting.vue b/src/components/admin/management/setting/AppSetting.vue
index 572448c..234a4ab 100644
--- a/src/components/admin/management/setting/AppSetting.vue
+++ b/src/components/admin/management/setting/AppSetting.vue
@@ -4,15 +4,39 @@
Anwendungs Einstellungen
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/admin/management/setting/BackupSetting.vue b/src/components/admin/management/setting/BackupSetting.vue
index 957e8c4..f18298a 100644
--- a/src/components/admin/management/setting/BackupSetting.vue
+++ b/src/components/admin/management/setting/BackupSetting.vue
@@ -4,15 +4,31 @@
Backup Einstellungen
diff --git a/src/components/admin/management/setting/ClubSetting.vue b/src/components/admin/management/setting/ClubSetting.vue
index 8d606e0..51dfb40 100644
--- a/src/components/admin/management/setting/ClubSetting.vue
+++ b/src/components/admin/management/setting/ClubSetting.vue
@@ -4,15 +4,55 @@
Vereins Einstellungen
-
+
+
Vereins-Icon
+
+
+ Kein Icon hochgeladen
+
+
+
+
Vereins-Logo
+
+
+ Kein Logo hochgeladen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/admin/management/setting/MailSetting.vue b/src/components/admin/management/setting/MailSetting.vue
index 57eeadf..b945b2a 100644
--- a/src/components/admin/management/setting/MailSetting.vue
+++ b/src/components/admin/management/setting/MailSetting.vue
@@ -4,15 +4,54 @@
E-Mail Einstellungen
diff --git a/src/components/admin/management/setting/SessionSetting.vue b/src/components/admin/management/setting/SessionSetting.vue
index 4f487ab..e93aee8 100644
--- a/src/components/admin/management/setting/SessionSetting.vue
+++ b/src/components/admin/management/setting/SessionSetting.vue
@@ -4,15 +4,35 @@
Login-Session Einstellungen
diff --git a/src/stores/admin/management/setting.ts b/src/stores/admin/management/setting.ts
index c57cf69..174141a 100644
--- a/src/stores/admin/management/setting.ts
+++ b/src/stores/admin/management/setting.ts
@@ -1,6 +1,6 @@
import { defineStore } from "pinia";
import { http } from "@/serverCom";
-import { type SettingString, type SettingValueMapping } from "@/types/settingTypes";
+import type { SettingString, SettingTopic, SettingValueMapping } from "@/types/settingTypes";
import type { AxiosResponse } from "axios";
export const useSettingStore = defineStore("setting", {
@@ -16,6 +16,19 @@ export const useSettingStore = defineStore("setting", {
(key: K): SettingValueMapping[K] => {
return state.settings[key];
},
+ readByTopic:
+ (state) =>
+ (
+ topic: T
+ ): { [K in SettingString as K extends `${T}.${string}` ? K : never]: SettingValueMapping[K] } => {
+ return Object.entries(state.settings).reduce((acc, [key, value]) => {
+ const typedKey = key as SettingString;
+ if (key.startsWith(topic)) {
+ acc[typedKey] = value;
+ }
+ return acc;
+ }, {} as any);
+ },
},
actions: {
fetchSettings() {