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() {