Move loginEnabled logic to store getter

This commit is contained in:
James Lyne 2021-09-08 15:23:21 +01:00
parent 0e57a50e0c
commit 63a00d0681
3 changed files with 9 additions and 4 deletions

View File

@ -58,7 +58,7 @@ export default defineComponent({
loggedIn = computed(() => store.state.loggedIn), //Whether the user is currently logged in loggedIn = computed(() => store.state.loggedIn), //Whether the user is currently logged in
loginRequired = computed(() => store.state.loginRequired), //Whether logging is required to view the current server loginRequired = computed(() => store.state.loginRequired), //Whether logging is required to view the current server
loginEnabled = computed(() => store.state.components.login || loginRequired.value), //Whether logging in is enabled for the current server loginEnabled = computed(() => store.getters.loginEnabled), //Whether logging in is enabled for the current server
//Hide the login modal if we are logged out on a login-required server, but the server list is open //Hide the login modal if we are logged out on a login-required server, but the server list is open
//Allows switching servers without the modal overlapping //Allows switching servers without the modal overlapping

View File

@ -807,7 +807,7 @@ export default class DynmapMapProvider extends MapProvider {
} }
async login(data: any) { async login(data: any) {
if (!this.store.state.components.login && !this.store.state.loginRequired) { if (!this.store.getters.loginEnabled) {
return Promise.reject(this.store.state.messages.loginErrorDisabled); return Promise.reject(this.store.state.messages.loginErrorDisabled);
} }
@ -844,7 +844,7 @@ export default class DynmapMapProvider extends MapProvider {
} }
async logout() { async logout() {
if (!this.store.state.components.login && !this.store.state.loginRequired) { if (!this.store.getters.loginEnabled) {
return Promise.reject(this.store.state.messages.loginErrorDisabled); return Promise.reject(this.store.state.messages.loginErrorDisabled);
} }
@ -860,7 +860,7 @@ export default class DynmapMapProvider extends MapProvider {
} }
async register(data: any) { async register(data: any) {
if (!this.store.state.components.login && !this.store.state.loginRequired) { if (!this.store.getters.loginEnabled) {
return Promise.reject(this.store.state.messages.loginErrorDisabled); return Promise.reject(this.store.state.messages.loginErrorDisabled);
} }

View File

@ -22,6 +22,7 @@ export type Getters = {
playerMarkersEnabled(state: State): boolean; playerMarkersEnabled(state: State): boolean;
coordinatesControlEnabled(state: State): boolean; coordinatesControlEnabled(state: State): boolean;
clockControlEnabled(state: State): boolean; clockControlEnabled(state: State): boolean;
loginEnabled(state: State): boolean;
night(state: State): boolean; night(state: State): boolean;
mapBackground(state: State, getters: GetterTree<State, State> & Getters): string; mapBackground(state: State, getters: GetterTree<State, State> & Getters): string;
url(state: State, getters: GetterTree<State, State> & Getters): string; url(state: State, getters: GetterTree<State, State> & Getters): string;
@ -42,6 +43,10 @@ export const getters: GetterTree<State, State> & Getters = {
return state.components.clockControl !== undefined; return state.components.clockControl !== undefined;
}, },
loginEnabled(state: State): boolean {
return state.components.login || state.loginRequired;
},
night(state: State): boolean { night(state: State): boolean {
return getMinecraftTime(state.currentWorldState.timeOfDay).night; return getMinecraftTime(state.currentWorldState.timeOfDay).night;
}, },