25 lines
748 B
TypeScript
25 lines
748 B
TypeScript
import type { Player } from "@/lib/types"
|
|
import { create } from "zustand"
|
|
|
|
interface PlayerState {
|
|
players: Player[]
|
|
assignToShop: (playerId: string, shopId: string, shopName: string) => void
|
|
removeFromShop: (playerId: string) => void
|
|
}
|
|
|
|
export const usePlayerStore = create<PlayerState>((set) => ({
|
|
players: [],
|
|
assignToShop: (playerId, shopId, shopName) =>
|
|
set((state) => ({
|
|
players: state.players.map((player) =>
|
|
player.id === playerId ? { ...player, shopId, shopName } : player,
|
|
),
|
|
})),
|
|
removeFromShop: (playerId) =>
|
|
set((state) => ({
|
|
players: state.players.map((player) =>
|
|
player.id === playerId ? { ...player, shopId: undefined, shopName: undefined } : player,
|
|
),
|
|
})),
|
|
}))
|