Thème
Superviseur — Frontend v0.14.0
Superviseur — Frontend / stores/global-config.store / useGlobalConfigStore
Variable: useGlobalConfigStore
ts
const useGlobalConfigStore: StoreDefinition<"global-config", Pick<{
siteName: Ref<string, string>;
logoUrl: Ref<string | null, string | null>;
soundMapping: Ref<Record<string, string>, Record<string, string>>;
soundVolumes: Ref<Record<string, number>, Record<string, number>>;
systemParams: Ref<Record<string, unknown>, Record<string, unknown>>;
isLoading: Ref<boolean, boolean>;
fetchConfig: () => Promise<void>;
fetchStorageInfo: () => Promise<void>;
updateConfig: () => Promise<void>;
uploadLogo: (file) => Promise<{
url: string;
}>;
uploadSound: (type, file) => Promise<{
type: string;
url: string;
}>;
resetSound: (type) => Promise<void>;
resetLogo: () => Promise<void>;
factoryReset: () => Promise<void>;
cleanupOrphanedFiles: () => Promise<{
success?: boolean;
deletedCount: number;
spaceFreedBytes: number;
errors?: string[];
}>;
getSoundUrl: (type, defaultPath) => string;
getLogoUrl: ComputedRef<string | null>;
borderEnabled: ComputedRef<boolean>;
alertVolume: WritableComputedRef<number, number>;
setSoundVolume: (type, volume, skipPersist) => Promise<void>;
storageInfo: Ref<
| {
dbSize: number;
uploadsSize: number;
totalSize: number;
}
| null,
| {
dbSize: number;
uploadsSize: number;
totalSize: number;
}
| {
dbSize: number;
uploadsSize: number;
totalSize: number;
}
| null>;
},
| "siteName"
| "logoUrl"
| "soundMapping"
| "soundVolumes"
| "systemParams"
| "isLoading"
| "storageInfo">, Pick<{
siteName: Ref<string, string>;
logoUrl: Ref<string | null, string | null>;
soundMapping: Ref<Record<string, string>, Record<string, string>>;
soundVolumes: Ref<Record<string, number>, Record<string, number>>;
systemParams: Ref<Record<string, unknown>, Record<string, unknown>>;
isLoading: Ref<boolean, boolean>;
fetchConfig: () => Promise<void>;
fetchStorageInfo: () => Promise<void>;
updateConfig: () => Promise<void>;
uploadLogo: (file) => Promise<{
url: string;
}>;
uploadSound: (type, file) => Promise<{
type: string;
url: string;
}>;
resetSound: (type) => Promise<void>;
resetLogo: () => Promise<void>;
factoryReset: () => Promise<void>;
cleanupOrphanedFiles: () => Promise<{
success?: boolean;
deletedCount: number;
spaceFreedBytes: number;
errors?: string[];
}>;
getSoundUrl: (type, defaultPath) => string;
getLogoUrl: ComputedRef<string | null>;
borderEnabled: ComputedRef<boolean>;
alertVolume: WritableComputedRef<number, number>;
setSoundVolume: (type, volume, skipPersist) => Promise<void>;
storageInfo: Ref<
| {
dbSize: number;
uploadsSize: number;
totalSize: number;
}
| null,
| {
dbSize: number;
uploadsSize: number;
totalSize: number;
}
| {
dbSize: number;
uploadsSize: number;
totalSize: number;
}
| null>;
}, "borderEnabled" | "alertVolume" | "getLogoUrl">, Pick<{
siteName: Ref<string, string>;
logoUrl: Ref<string | null, string | null>;
soundMapping: Ref<Record<string, string>, Record<string, string>>;
soundVolumes: Ref<Record<string, number>, Record<string, number>>;
systemParams: Ref<Record<string, unknown>, Record<string, unknown>>;
isLoading: Ref<boolean, boolean>;
fetchConfig: () => Promise<void>;
fetchStorageInfo: () => Promise<void>;
updateConfig: () => Promise<void>;
uploadLogo: (file) => Promise<{
url: string;
}>;
uploadSound: (type, file) => Promise<{
type: string;
url: string;
}>;
resetSound: (type) => Promise<void>;
resetLogo: () => Promise<void>;
factoryReset: () => Promise<void>;
cleanupOrphanedFiles: () => Promise<{
success?: boolean;
deletedCount: number;
spaceFreedBytes: number;
errors?: string[];
}>;
getSoundUrl: (type, defaultPath) => string;
getLogoUrl: ComputedRef<string | null>;
borderEnabled: ComputedRef<boolean>;
alertVolume: WritableComputedRef<number, number>;
setSoundVolume: (type, volume, skipPersist) => Promise<void>;
storageInfo: Ref<
| {
dbSize: number;
uploadsSize: number;
totalSize: number;
}
| null,
| {
dbSize: number;
uploadsSize: number;
totalSize: number;
}
| {
dbSize: number;
uploadsSize: number;
totalSize: number;
}
| null>;
},
| "fetchConfig"
| "fetchStorageInfo"
| "updateConfig"
| "uploadLogo"
| "uploadSound"
| "resetSound"
| "resetLogo"
| "factoryReset"
| "cleanupOrphanedFiles"
| "getSoundUrl"
| "setSoundVolume">>;Défini dans: stores/global-config.store.ts:10
Store Pinia gérant la configuration globale et la personnalisation de l'application (nom du site, logo, volumes sonores, etc.). Permet de charger, mettre à jour, réinitialiser ces paramètres ou d'importer des ressources média.