Add window size to vuex state
This commit is contained in:
parent
6d29a0f195
commit
df1d2ee73b
@ -123,7 +123,7 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
onResize = () => {
|
||||
store.commit(MutationTypes.SET_SMALL_SCREEN, window.innerWidth < 480 || window.innerHeight < 500);
|
||||
store.commit(MutationTypes.SET_SCREEN_SIZE, {width: window.innerWidth, height: window.innerHeight});
|
||||
},
|
||||
|
||||
onKeydown = (e: KeyboardEvent) => {
|
||||
|
@ -49,7 +49,7 @@ export enum MutationTypes {
|
||||
CLEAR_FOLLOW_TARGET = 'clearFollow',
|
||||
CLEAR_PAN_TARGET = 'clearPanTarget',
|
||||
|
||||
SET_SMALL_SCREEN = 'setSmallScreen',
|
||||
SET_SCREEN_SIZE = 'setScreenSize',
|
||||
TOGGLE_UI_ELEMENT_VISIBILITY = 'toggleUIElementVisibility',
|
||||
SET_UI_ELEMENT_VISIBILITY = 'setUIElementVisibility',
|
||||
SHOW_UI_MODAL = 'showUIModal',
|
||||
|
@ -82,7 +82,7 @@ export type Mutations<S = State> = {
|
||||
[MutationTypes.CLEAR_FOLLOW_TARGET](state: S, a?: void): void
|
||||
[MutationTypes.CLEAR_PAN_TARGET](state: S, a?: void): void
|
||||
|
||||
[MutationTypes.SET_SMALL_SCREEN](state: S, payload: boolean): void
|
||||
[MutationTypes.SET_SCREEN_SIZE](state: S, payload: {width: number, height: number}): void
|
||||
[MutationTypes.TOGGLE_UI_ELEMENT_VISIBILITY](state: S, payload: LiveAtlasUIElement): void
|
||||
[MutationTypes.SET_UI_ELEMENT_VISIBILITY](state: S, payload: {element: LiveAtlasUIElement, state: boolean}): void
|
||||
[MutationTypes.SHOW_UI_MODAL](state: S, payload: LiveAtlasUIModal): void
|
||||
@ -564,7 +564,12 @@ export const mutations: MutationTree<State> & Mutations = {
|
||||
state.panTarget = undefined;
|
||||
},
|
||||
|
||||
[MutationTypes.SET_SMALL_SCREEN](state: State, smallScreen: boolean): void {
|
||||
[MutationTypes.SET_SCREEN_SIZE](state: State, payload: {width: number, height: number}): void {
|
||||
state.ui.screenWidth = payload.width;
|
||||
state.ui.screenHeight = payload.height;
|
||||
|
||||
const smallScreen = state.ui.screenWidth < 480 || state.ui.screenHeight < 500;
|
||||
|
||||
if(!state.ui.smallScreen && smallScreen && state.ui.visibleElements.size > 1) {
|
||||
state.ui.visibleElements.clear();
|
||||
}
|
||||
|
@ -78,6 +78,8 @@ export type State = {
|
||||
playersSearch: boolean;
|
||||
compactPlayerMarkers: boolean;
|
||||
|
||||
screenWidth: number;
|
||||
screenHeight: number;
|
||||
smallScreen: boolean;
|
||||
visibleElements: Set<LiveAtlasUIElement>;
|
||||
visibleModal?: LiveAtlasUIModal;
|
||||
@ -255,6 +257,8 @@ export const state: State = {
|
||||
playersSearch: true,
|
||||
compactPlayerMarkers: false,
|
||||
|
||||
screenWidth: window.innerWidth,
|
||||
screenHeight: window.innerHeight,
|
||||
smallScreen: false,
|
||||
visibleElements: new Set(),
|
||||
visibleModal: undefined,
|
||||
|
Loading…
Reference in New Issue
Block a user