generated from Seekra/repository-template
feature(settings)!: make settings configuration a JavaScript module
The settings configuration is now a JavaScript module because dynamic configuration is only possible in this way and dynamic settings configuration is needed for the language as a setting.
This commit is contained in:
@@ -22,7 +22,7 @@ import { beforeEach, describe, expect, test, vi } from 'vitest';
|
||||
const settingDefaultValue = vi.hoisted(() => 42);
|
||||
const settingPath = ['test', 'number'];
|
||||
|
||||
vi.mock('../../settings.json', () => ({
|
||||
vi.mock('../../config.js', () => ({
|
||||
default: {
|
||||
contents: [
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import settings from '../settings.json';
|
||||
import settings from '../config.js';
|
||||
import { useSettingsStore } from '../stores/settingsStore';
|
||||
import { getSettingRecursively } from '../utils/getSetting';
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
Copyright 2026 Seekra
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
export default {
|
||||
contents: [
|
||||
{
|
||||
name: 'appearance',
|
||||
i18n: 'settings.settings.appearance.title',
|
||||
content: [
|
||||
{
|
||||
name: 'colorScheme',
|
||||
type: 'selection',
|
||||
i18n: 'settings.settings.appearance.contents.colorScheme.title',
|
||||
default: 'auto',
|
||||
options: [
|
||||
{
|
||||
name: 'auto',
|
||||
i18n: 'settings.settings.appearance.contents.colorScheme.options.auto'
|
||||
},
|
||||
{
|
||||
name: 'light',
|
||||
i18n: 'settings.settings.appearance.contents.colorScheme.options.light'
|
||||
},
|
||||
{
|
||||
name: 'dark',
|
||||
i18n: 'settings.settings.appearance.contents.colorScheme.options.dark'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"contents": [
|
||||
{
|
||||
"name": "appearance",
|
||||
"i18n": "settings.settings.appearance.title",
|
||||
"content": [
|
||||
{
|
||||
"name": "colorScheme",
|
||||
"type": "selection",
|
||||
"i18n": "settings.settings.appearance.contents.colorScheme.title",
|
||||
"default": "auto",
|
||||
"options": [
|
||||
{
|
||||
"name": "auto",
|
||||
"i18n": "settings.settings.appearance.contents.colorScheme.options.auto"
|
||||
},
|
||||
{
|
||||
"name": "light",
|
||||
"i18n": "settings.settings.appearance.contents.colorScheme.options.light"
|
||||
},
|
||||
{
|
||||
"name": "dark",
|
||||
"i18n": "settings.settings.appearance.contents.colorScheme.options.dark"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -18,7 +18,7 @@ limitations under the License.
|
||||
import LeftSidebarLayout from '@/layouts/LeftSidebarLayout.vue';
|
||||
import SettingsPage from '../components/SettingsPage.vue';
|
||||
|
||||
import settingsConfiguration from '../settings.json';
|
||||
import settingsConfiguration from '../config.js';
|
||||
import { getSettingRecursively } from '../utils/getSetting.js';
|
||||
import { computed, onMounted, ref, watch } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@@ -197,7 +197,7 @@ const settings = settingsHoisted.values();
|
||||
const originalCurrentSection = 's0';
|
||||
let currentSection = originalCurrentSection;
|
||||
|
||||
vi.mock('../../settings.json', () => ({
|
||||
vi.mock('../../config.js', () => ({
|
||||
default: { contents: settingsHoisted }
|
||||
}));
|
||||
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ import rawFonts from './styles/fonts.json';
|
||||
import './styles/common.css';
|
||||
import './styles/variables/colors.css';
|
||||
|
||||
import settings from './features/settings/settings.json';
|
||||
import settings from './features/settings/config.js';
|
||||
import { validateSettingsConfig } from './features/settings/utils/settingsValidator';
|
||||
|
||||
(async () => {
|
||||
|
||||
Reference in New Issue
Block a user