File size: 647 Bytes
e7b0a32
 
 
 
15c1c68
e7b0a32
 
 
 
15c1c68
 
e7b0a32
 
 
 
 
15c1c68
 
 
e7b0a32
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { writable } from 'svelte/store';

interface UIState {
  isDetailPageOpen: boolean;
  isInBattle: boolean;
}

function createUIStore() {
  const { subscribe, set, update } = writable<UIState>({
    isDetailPageOpen: false,
    isInBattle: false
  });

  return {
    subscribe,
    openDetailPage: () => update(state => ({ ...state, isDetailPageOpen: true })),
    closeDetailPage: () => update(state => ({ ...state, isDetailPageOpen: false })),
    enterBattle: () => update(state => ({ ...state, isInBattle: true })),
    exitBattle: () => update(state => ({ ...state, isInBattle: false }))
  };
}

export const uiStore = createUIStore();