|
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(); |