mirror of
https://github.com/jeffvli/feishin.git
synced 2026-06-15 07:54:18 +02:00
feat: macOS menu enhancement (#1903)
This commit is contained in:
@@ -92,6 +92,7 @@ interface GroupedQueue {
|
||||
}
|
||||
|
||||
interface State {
|
||||
hydrated: boolean;
|
||||
player: {
|
||||
crossfadeDuration: number;
|
||||
crossfadeStyle: CrossfadeStyle;
|
||||
@@ -297,6 +298,7 @@ function regenerateShuffledIndexesIfNeeded(state: {
|
||||
}
|
||||
|
||||
const initialState: State = {
|
||||
hydrated: false,
|
||||
player: {
|
||||
crossfadeDuration: 5,
|
||||
crossfadeStyle: CrossfadeStyle.EQUAL_POWER,
|
||||
@@ -1564,6 +1566,9 @@ export const usePlayerStoreBase = createWithEqualityFn<PlayerState>()(
|
||||
return persistedState as Partial<PlayerState>;
|
||||
},
|
||||
name: 'player-store',
|
||||
onRehydrateStorage: () => () => {
|
||||
usePlayerStoreBase.setState({ hydrated: true });
|
||||
},
|
||||
partialize: (state) => {
|
||||
const shouldRestorePlayQueue = useSettingsStore.getState().general.resume;
|
||||
|
||||
@@ -2025,6 +2030,10 @@ export const usePlayerStatus = () => {
|
||||
return usePlayerStoreBase((state) => state.player.status);
|
||||
};
|
||||
|
||||
export const usePlayerHydrated = () => {
|
||||
return usePlayerStoreBase((state) => state.hydrated);
|
||||
};
|
||||
|
||||
export const usePlayerVolume = () => {
|
||||
return usePlayerStoreBase((state) => state.player.volume);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user