mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
25 lines
617 B
TypeScript
25 lines
617 B
TypeScript
import { create } from 'zustand';
|
|
import { Challenge } from '@plebbit/plebbit-react-hooks';
|
|
|
|
interface State {
|
|
challenges: Challenge[];
|
|
addChallenge: (challenge: Challenge) => void;
|
|
removeChallenge: () => void;
|
|
}
|
|
|
|
const useChallengesStore = create<State>((set) => ({
|
|
challenges: [],
|
|
addChallenge: (challenge: Challenge) => {
|
|
set((state) => ({ challenges: [...state.challenges, challenge] }));
|
|
},
|
|
removeChallenge: () => {
|
|
set((state) => {
|
|
const challenges = [...state.challenges];
|
|
challenges.shift();
|
|
return { challenges };
|
|
});
|
|
},
|
|
}));
|
|
|
|
export default useChallengesStore;
|