diff --git a/packages/cli/src/config/settings-validation.test.ts b/packages/cli/src/config/settings-validation.test.ts index baf9b5bbdb..cb4a1514e4 100644 --- a/packages/cli/src/config/settings-validation.test.ts +++ b/packages/cli/src/config/settings-validation.test.ts @@ -273,6 +273,36 @@ describe('settings-validation', () => { }); it('should validate complex nested customThemes configuration', () => { + const validSettings = { + ui: { + customThemes: { + 'my-theme': { + type: 'custom' as const, + name: 'My Theme', + text: { + primary: '#ffffff', + secondary: '#cccccc', + link: '#0000ff', + accent: '#ff00ff', + response: '#00ff00', + }, + ui: { + comment: '#888888', + symbol: '#ffffff', + active: '#0000ff', + focus: '#00ff00', + gradient: ['#000000', '#ffffff'], + }, + }, + }, + }, + }; + + const result = validateSettings(validSettings); + expect(result.success).toBe(true); + }); + + it('should reject invalid customThemes configuration', () => { const invalidSettings = { ui: { customThemes: { diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index 7e7de80132..329adbfe7b 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -3118,6 +3118,7 @@ export const SETTINGS_SCHEMA_DEFINITIONS: Record< secondary: { type: 'string' }, link: { type: 'string' }, accent: { type: 'string' }, + response: { type: 'string' }, }, }, background: { @@ -3149,6 +3150,8 @@ export const SETTINGS_SCHEMA_DEFINITIONS: Record< properties: { comment: { type: 'string' }, symbol: { type: 'string' }, + active: { type: 'string' }, + focus: { type: 'string' }, gradient: { type: 'array', items: { type: 'string' }, diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index e3220eb9ef..a6b48df705 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -309,6 +309,7 @@ export interface CustomTheme { }; border?: { default?: string; + focused?: string; }; ui?: { comment?: string;