Client - display page error if can not fetch app config

This commit is contained in:
Sam
2021-08-15 16:40:11 +02:00
parent 0b95b93e06
commit 9fc70fcf23
14 changed files with 174 additions and 3 deletions

View File

@ -10,6 +10,7 @@ export const actions: ActionTree<IRootState, IRootState> & IRootActions = {
context: ActionContext<IRootState, IRootState>
): void {
context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)
context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)
authApi
.get('config')
.then((res) => {
@ -23,5 +24,8 @@ export const actions: ActionTree<IRootState, IRootState> & IRootActions = {
}
})
.catch((error) => handleError(context, error))
.finally(() =>
context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)
)
},
}

View File

@ -3,6 +3,8 @@ export enum RootActions {
}
export enum RootGetters {
APP_CONFIG = 'APP_CONFIG',
APP_LOADING = 'APP_LOADING',
ERROR_MESSAGES = 'ERROR_MESSAGES',
LANGUAGE = 'LANGUAGE',
}
@ -11,5 +13,6 @@ export enum RootMutations {
EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',
SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',
UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',
UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',
UPDATE_LANG = 'UPDATE_LANG',
}

View File

@ -4,6 +4,12 @@ import { ROOT_STORE } from '@/store/constants'
import { IRootState, IRootGetters } from '@/store/modules/root/interfaces'
export const getters: GetterTree<IRootState, IRootState> & IRootGetters = {
[ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {
return state.application.config
},
[ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {
return state.appLoading
},
[ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {
return state.errorMessages
},

View File

@ -28,6 +28,7 @@ export interface IRootState {
language: string
errorMessages: string | string[] | null
application: IApplication
appLoading: boolean
}
export interface IRootActions {
@ -37,6 +38,8 @@ export interface IRootActions {
}
export interface IRootGetters {
[ROOT_STORE.GETTERS.APP_CONFIG](state: IRootState): IAppConfig
[ROOT_STORE.GETTERS.APP_LOADING](state: IRootState): boolean
[ROOT_STORE.GETTERS.ERROR_MESSAGES](
state: IRootState
): string | string[] | null

View File

@ -20,6 +20,12 @@ export const mutations: MutationTree<IRootState> & TRootMutations = {
) {
state.application.config = config
},
[ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](
state: IRootState,
loading: boolean
) {
state.appLoading = loading
},
[ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {
state.language = language
},

View File

@ -6,4 +6,5 @@ export const state: IRootState = {
language: 'en',
errorMessages: null,
application: <IApplication>{},
appLoading: false,
}