41 lines
788 B
TypeScript
Raw Normal View History

import { create } from "zustand";
2023-10-14 22:22:01 +02:00
import { persist } from "zustand/middleware";
import { immer } from "zustand/middleware/immer";
export interface VolumeStore {
volume: number;
setVolume(v: number): void;
}
export interface EmpheralVolumeStore {
showVolume: boolean;
setShowVolume(v: boolean): void;
}
export const useVolumeStore = create(
2023-10-14 22:22:01 +02:00
persist(
immer<VolumeStore>((set) => ({
volume: 1,
setVolume(v: number) {
set((s) => {
s.volume = v;
});
},
})),
{
name: "__MW::volume",
},
),
2023-10-14 22:22:01 +02:00
);
export const useEmpheralVolumeStore = create(
immer<EmpheralVolumeStore>((set) => ({
showVolume: false,
setShowVolume(bool: boolean) {
set((s) => {
s.showVolume = bool;
});
},
})),
);