Files
Dwinzo_dev/app/src/store/usePlayButtonStore.ts

50 lines
1.9 KiB
TypeScript
Raw Normal View History

2025-03-25 17:34:20 +05:30
import { create } from "zustand";
type PlayButtonStore = {
isPlaying: boolean; // Updated state name to reflect the play/pause status more clearly
setIsPlaying: (value: boolean) => void; // Updated setter function name for clarity
};
2025-04-04 18:02:53 +05:30
type PauseButtonStore = {
isPaused: boolean; // Updated state name to reflect the play/pause status more clearly
setIsPaused: (value: boolean) => void; // Updated setter function name for clarity
};
type ResetButtonStore = {
isReset: boolean; // Updated state name to reflect the play/pause status more clearly
setReset: (value: boolean) => void; // Updated setter function name for clarity
};
interface AnimationSpeedState {
speed: number;
setSpeed: (value: number) => void;
}
2025-03-25 17:34:20 +05:30
export const usePlayButtonStore = create<PlayButtonStore>((set) => ({
isPlaying: false, // Default state for play/pause
setIsPlaying: (value) => set({ isPlaying: value }), // Update isPlaying state
}));
2025-04-04 18:02:53 +05:30
export const useResetButtonStore = create<ResetButtonStore>((set) => ({
isReset: false, // Default state for play/pause
setReset: (value) => set({ isReset: value }), // Update isPlaying state
}));
export const usePauseButtonStore = create<PauseButtonStore>((set) => ({
isPaused: false, // Default state for play/pause
setIsPaused: (value) => set({ isPaused: value }), // Update isPlaying state
}));
export const useAnimationPlaySpeed = create<AnimationSpeedState>((set) => ({
speed: 1,
setSpeed: (value) => set({ speed: value }),
}));
interface CameraModeState {
walkMode: boolean;
setWalkMode: (enabled: boolean) => void;
toggleWalkMode: () => void;
}
const useCameraModeStore = create<CameraModeState>((set) => ({
walkMode: false,
setWalkMode: (enabled) => set({ walkMode: enabled }),
toggleWalkMode: () => set((state) => ({ walkMode: !state.walkMode })),
}));
export default useCameraModeStore;