Fortune-PlayLogic/lib/store/betslip-store.ts
“kirukib” c471aa30d4 first
2026-02-18 16:01:12 +03:00

39 lines
796 B
TypeScript

import { create } from "zustand";
export type OddsFormat = "decimal";
export type Bet = {
id: string;
event: string;
market: string;
selection: string;
odds: number;
};
type BetslipState = {
bets: Bet[];
oddsFormat: OddsFormat;
addBet: (bet: Bet) => void;
removeBet: (id: string) => void;
clearBets: () => void;
};
export const useBetslipStore = create<BetslipState>((set) => ({
bets: [],
oddsFormat: "decimal",
addBet: (bet) =>
set((state) => {
const exists = state.bets.some((b) => b.id === bet.id);
if (exists) {
return state;
}
return { bets: [...state.bets, bet] };
}),
removeBet: (id) =>
set((state) => ({
bets: state.bets.filter((bet) => bet.id !== id),
})),
clearBets: () => set({ bets: [] }),
}));