mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-12 16:35:49 +01:00
Fix usage of default config
This commit is contained in:
@@ -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,
|
||||
},
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user