2023-10-14 22:28:13 +02:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2023-10-19 19:27:21 +02:00
|
|
|
export interface EmpheralVolumeStore {
|
|
|
|
showVolume: boolean;
|
|
|
|
setShowVolume(v: boolean): void;
|
|
|
|
}
|
|
|
|
|
2023-10-14 22:28:13 +02:00
|
|
|
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-12-23 18:24:43 +13:00
|
|
|
},
|
|
|
|
),
|
2023-10-14 22:22:01 +02:00
|
|
|
);
|
2023-10-19 19:27:21 +02:00
|
|
|
|
|
|
|
export const useEmpheralVolumeStore = create(
|
|
|
|
immer<EmpheralVolumeStore>((set) => ({
|
|
|
|
showVolume: false,
|
|
|
|
setShowVolume(bool: boolean) {
|
|
|
|
set((s) => {
|
|
|
|
s.showVolume = bool;
|
|
|
|
});
|
|
|
|
},
|
2023-12-23 18:24:43 +13:00
|
|
|
})),
|
2023-10-19 19:27:21 +02:00
|
|
|
);
|