diff --git a/src/pages/[slug].tsx b/src/pages/[slug].tsx index 0878371c3..98d095a9b 100644 --- a/src/pages/[slug].tsx +++ b/src/pages/[slug].tsx @@ -5,9 +5,11 @@ import { LoadConfigComponent } from '../components/Config/LoadConfig'; import { Dashboard } from '../components/Dashboard/Dashboard'; import Layout from '../components/layout/Layout'; import { useInitConfig } from '../config/init'; +import { getFallbackConfig } from '../tools/config/getFallbackConfig'; import { getFrontendConfig } from '../tools/config/getFrontendConfig'; import { getServerSideTranslations } from '../tools/getServerSideTranslations'; import { dashboardNamespaces } from '../tools/translation-namespaces'; +import { ConfigType } from '../types/config'; import { DashboardServerSideProps } from '../types/dashboardPageType'; export async function getServerSideProps({ @@ -28,38 +30,7 @@ export async function getServerSideProps({ res.end(); return { props: { - config: { - schemaVersion: 1, - configProperties: { - name: 'Default Configuration', - }, - apps: [], - settings: { - common: { - searchEngine: { - type: 'google', - properties: { - enabled: true, - openInNewTab: true, - }, - }, - defaultConfig: 'default', - }, - customization: { - layout: { - enabledLeftSidebar: false, - enabledRightSidebar: false, - enabledSearchbar: true, - enabledDocker: false, - enabledPing: false, - }, - colors: {}, - }, - }, - categories: [], - wrappers: [], - widgets: [], - }, + config: getFallbackConfig() as unknown as ConfigType, configName, ...translations, }, diff --git a/src/tools/config/getConfig.ts b/src/tools/config/getConfig.ts index 73b124352..c17ee3881 100644 --- a/src/tools/config/getConfig.ts +++ b/src/tools/config/getConfig.ts @@ -1,12 +1,12 @@ import Consola from 'consola'; -import { BackendConfigType } from '../../types/config'; +import { BackendConfigType, ConfigType } from '../../types/config'; import { backendMigrateConfig } from './backendMigrateConfig'; import { configExists } from './configExists'; import { getFallbackConfig } from './getFallbackConfig'; import { readConfig } from './readConfig'; export const getConfig = (name: string): BackendConfigType => { - if (!configExists(name)) return getFallbackConfig(); + if (!configExists(name)) return getFallbackConfig() as unknown as ConfigType; // Else if config exists but contains no "schema_version" property // then it is an old config file and we should try to migrate it // to the new format. diff --git a/src/tools/config/getFallbackConfig.ts b/src/tools/config/getFallbackConfig.ts index 4777a8ffe..f6fd248ae 100644 --- a/src/tools/config/getFallbackConfig.ts +++ b/src/tools/config/getFallbackConfig.ts @@ -1,39 +1,8 @@ -import { BackendConfigType } from '../../types/config'; +import defaultConfig from '../../../data/configs/default.json'; -export const getFallbackConfig = (name?: string): BackendConfigType => ({ - schemaVersion: 1, +export const getFallbackConfig = (name?: string) => ({ + ...defaultConfig, configProperties: { name: name ?? 'default', }, - categories: [], - widgets: [], - apps: [], - settings: { - common: { - searchEngine: { - type: 'google', - properties: { - enabled: true, - openInNewTab: true, - }, - }, - defaultConfig: 'default', - }, - customization: { - colors: {}, - layout: { - enabledDocker: false, - enabledLeftSidebar: false, - enabledPing: false, - enabledRightSidebar: false, - enabledSearchbar: true, - }, - }, - }, - wrappers: [ - { - id: 'default', - position: 0, - }, - ], }); diff --git a/src/tools/getConfig.ts b/src/tools/getConfig.ts index d2a4a9c08..2c7526a7b 100644 --- a/src/tools/getConfig.ts +++ b/src/tools/getConfig.ts @@ -1,29 +1,14 @@ import path from 'path'; import fs from 'fs'; +import { getFallbackConfig } from './config/getFallbackConfig'; +import { ConfigType } from '../types/config'; export function getConfig(name: string, props: any = undefined) { // Check if the config file exists const configPath = path.join(process.cwd(), 'data/configs', `${name}.json`); if (!fs.existsSync(configPath)) { - return { - props: { - configName: name, - config: { - name: name.toString(), - services: [], - settings: { - searchUrl: 'https://www.google.com/search?q=', - }, - modules: { - 'Search Bar': { - enabled: true, - }, - }, - }, - }, - }; + return getFallbackConfig() as unknown as ConfigType; } - const config = fs.readFileSync(configPath, 'utf8'); // Print loaded config return {