Files
juwan-frontend/store/player-status.ts
T

24 lines
648 B
TypeScript

import { create } from "zustand"
import type { Player } from "@/lib/types"
type PlayerStatus = Player["status"]
interface PlayerStatusState {
statuses: Record<string, PlayerStatus>
setStatus: (playerId: string, status: PlayerStatus) => void
getStatus: (playerId: string) => PlayerStatus | undefined
}
export const usePlayerStatusStore = create<PlayerStatusState>((set, get) => ({
statuses: {
u2: "available",
u4: "busy",
u5: "available",
},
setStatus: (playerId, status) =>
set((state) => ({
statuses: { ...state.statuses, [playerId]: status },
})),
getStatus: (playerId) => get().statuses[playerId],
}))