Skip to content

Commit

Permalink
🥅 Catch errors caused by null config (#682)
Browse files Browse the repository at this point in the history
Fixes #682
  • Loading branch information
Lissy93 committed Jun 4, 2022
1 parent fea51a1 commit 83dcc37
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 4 deletions.
12 changes: 11 additions & 1 deletion src/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,17 @@ import { metaTagData, startingView, routePaths } from '@/utils/defaults';
import ErrorHandler from '@/utils/ErrorHandler';

// Import data from users conf file. Note that rebuild is required for this to update.
import { pages, pageInfo, appConfig } from '../public/conf.yml';
import conf from '../public/conf.yml';

if (!conf) {
ErrorHandler('You\'ve not got any data in your config file yet.');
}

// Assign top-level config fields, check not null
const config = conf || {};
const pages = config.pages || [];
const pageInfo = config.pageInfo || {};
const appConfig = config.appConfig || {};

Vue.use(Router);
const progress = new Progress({ color: 'var(--progress-bar)' });
Expand Down
7 changes: 5 additions & 2 deletions src/store.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,11 @@ const store = new Vuex.Store({
return state.config;
},
pageInfo(state) {
if (!state.config) return {};
return state.config.pageInfo || {};
},
appConfig(state) {
if (!state.config) return {};
return state.config.appConfig || {};
},
sections(state) {
Expand Down Expand Up @@ -140,8 +142,9 @@ const store = new Vuex.Store({
state.config = config;
},
[SET_REMOTE_CONFIG](state, config) {
if (!config.appConfig) config.appConfig = {};
state.remoteConfig = config;
const notNullConfig = config || {};
if (!notNullConfig.appConfig) notNullConfig.appConfig = {};
state.remoteConfig = notNullConfig;
},
[SET_LANGUAGE](state, lang) {
const newConfig = state.config;
Expand Down
6 changes: 5 additions & 1 deletion src/utils/ConfigAccumalator.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,11 @@ export default class ConfigAccumulator {
appConfig() {
let appConfigFile = {};
// Set app config from file
if (this.conf) appConfigFile = this.conf.appConfig || buildConf.appConfig || {};
if (this.conf && this.conf.appConfig) {
appConfigFile = this.conf.appConfig;
} else if (buildConf && buildConf.appConfig) {
appConfigFile = buildConf.appConfig;
}
// Fill in defaults if anything missing
let usersAppConfig = defaultAppConfig;
if (localStorage[localStorageKeys.APP_CONFIG]) {
Expand Down

0 comments on commit 83dcc37

Please sign in to comment.