diff --git a/src/features/colorScheme/components/__tests__/ColorSchemeButton.test.js b/src/features/colorScheme/components/__tests__/ColorSchemeButton.test.js index c8d68dc..3273133 100644 --- a/src/features/colorScheme/components/__tests__/ColorSchemeButton.test.js +++ b/src/features/colorScheme/components/__tests__/ColorSchemeButton.test.js @@ -32,7 +32,7 @@ describe('ColorSchemeButton', () => { const wrapper = getWrapper(); expect(getSetting(colorSchemeSettingPath)).toBe('auto'); - + const colorSchemeButton = wrapper.find('button'); await colorSchemeButton.trigger('click'); diff --git a/src/features/i18n/components/__tests__/LanguageSwitchButton.test.js b/src/features/i18n/components/__tests__/LanguageSwitchButton.test.js index 899e7a8..17f0753 100644 --- a/src/features/i18n/components/__tests__/LanguageSwitchButton.test.js +++ b/src/features/i18n/components/__tests__/LanguageSwitchButton.test.js @@ -27,7 +27,7 @@ const getWrapper = function getWrapper () { describe('LanguageSwitchButton', () => { test('renders correctly with initial state closed', () => { const wrapper = getWrapper(); - + expect(wrapper.find('.language-button').exists()).toBe(true); expect(wrapper.find('.language-dropdown').exists()).toBe(false); expect(wrapper.find('.language-button').attributes('aria-expanded')).toBe('false'); @@ -36,9 +36,9 @@ describe('LanguageSwitchButton', () => { test('opens the dropdown when language button is clicked', async () => { const wrapper = getWrapper(); const button = wrapper.find('.language-button'); - + await button.trigger('click'); - + expect(wrapper.find('.language-dropdown').exists()).toBe(true); expect(button.attributes('aria-expanded')).toBe('true'); }); @@ -47,9 +47,9 @@ describe('LanguageSwitchButton', () => { const { getSetting } = useSettings(); const wrapper = getWrapper(); - + await wrapper.find('.language-button').trigger('click'); - + const options = wrapper.findAll('.language-dropdown li'); const enOption = options.find(opt => opt.text().includes('en')); @@ -73,10 +73,10 @@ describe('LanguageSwitchButton', () => { const externalDiv = document.createElement('div'); document.body.appendChild(externalDiv); - + const clickEvent = new MouseEvent('click', { bubbles: true }); externalDiv.dispatchEvent(clickEvent); - + await wrapper.vm.$nextTick(); expect(wrapper.find('.language-dropdown').exists()).toBe(false); diff --git a/src/features/settings/components/SettingsInput.vue b/src/features/settings/components/SettingsInput.vue index 31bac2a..958e648 100644 --- a/src/features/settings/components/SettingsInput.vue +++ b/src/features/settings/components/SettingsInput.vue @@ -200,7 +200,7 @@ const apply = function apply () { opacity: 1; } } - + @keyframes done-button-disappear { 0% { opacity: 1; diff --git a/src/features/settings/components/__tests__/SettingsInput.test.js b/src/features/settings/components/__tests__/SettingsInput.test.js index 4222401..9adaabf 100644 --- a/src/features/settings/components/__tests__/SettingsInput.test.js +++ b/src/features/settings/components/__tests__/SettingsInput.test.js @@ -173,15 +173,15 @@ describe('SettingsInput', () => { await form.trigger('submit'); expect(form.classes('done-button-shown')).toBeFalsy(); - + await inputElement.setValue('a'); expect(form.classes('done-button-shown')).toBeTruthy(); - + const store = useSettingsStore(); store.set('input', 'a'); await nextTick(); expect(form.classes('done-button-shown')).toBeFalsy(); - + await inputElement.setValue(''); store.set('input', ''); await nextTick(); diff --git a/src/features/settings/components/__tests__/Switch.test.js b/src/features/settings/components/__tests__/Switch.test.js index 6ad4cac..ba6e607 100644 --- a/src/features/settings/components/__tests__/Switch.test.js +++ b/src/features/settings/components/__tests__/Switch.test.js @@ -89,7 +89,7 @@ describe('Switch', () => { const switchElement = wrapper.find('.switch-wrapper'); expect(switchElement.classes('enabled')).toBeFalsy(); - + store.set('switch', true); await nextTick(); expect(switchElement.classes('enabled')).toBeTruthy(); @@ -97,21 +97,21 @@ describe('Switch', () => { test('toggles value in store', async () => { const wrapper = getWrapper(); - + const switchElement = wrapper.find('.switch-wrapper'); - + const store = useSettingsStore(); expect(store.get('switch')).toBeUndefined(); - + switchElement.trigger('click'); await nextTick(); expect(store.get('switch')).toBe(true); - + switchElement.trigger('click'); await nextTick(); expect(store.get('switch')).toBe(false); }); - + test('shows correct translation', () => { const translation = 'Switch'; diff --git a/src/features/settings/utils/__tests__/settingsValidator.test.js b/src/features/settings/utils/__tests__/settingsValidator.test.js index a250c1d..ad8b019 100644 --- a/src/features/settings/utils/__tests__/settingsValidator.test.js +++ b/src/features/settings/utils/__tests__/settingsValidator.test.js @@ -536,12 +536,12 @@ describe('settingsValidator', () => { [{ name: 'enableFeature42', type: 'bool', i18n: 'feature.42.enable' }], [{ name: 'enableFeature42', type: 'bool', i18n: 'feature.42.enable', default: true }], [{ name: 'enableFeature42', type: 'bool', i18n: 'feature.42.enable', default: false }], - + [{ name: 'aNumber', type: 'number', i18n: 'aNumber.label' }], [{ name: 'aNumber', type: 'number', i18n: 'aNumber.label', default: 42 }], [{ name: 'aNumber', type: 'number', i18n: 'aNumber.label', default: 0 }], [{ name: 'aNumber', type: 'number', i18n: 'aNumber.label', default: -42.7 }], - + [{ name: 'aString', type: 'string', i18n: 'aString.label' }], [{ name: 'aString', type: 'string', i18n: 'aString.label', default: '' }], [{ name: 'aString', type: 'string', i18n: 'aString.label', default: 'Seekra is great!' }], @@ -618,7 +618,7 @@ describe('settingsValidator', () => { [{ name: 'enableFeature42', type: 'bool', i18n: 'feature.42.enable', default: [] }], [{ name: 'enableFeature42', type: 'bool', i18n: 'feature.42.enable', default: {} }], [{ name: 'enableFeature42', type: '', i18n: 'feature.42.enable', default: {} }], - + [{ name: '', type: 'number', i18n: 'aNumber.label' }], [{ name: 'aNumber', type: 'number', i18n: 'aNumber.label', default: '42' }], [{ name: 'aNumber', type: 'number', i18n: 'aNumber.label', default: 'zero' }], @@ -630,7 +630,7 @@ describe('settingsValidator', () => { [{ name: 'aNumber', type: 'number', i18n: 'aNumber.label', default: {} }], [{ name: 'aNumber', type: '', i18n: 'aNumber.label', default: {} }], [{ name: 'aNumber', type: '', i18n: 'aNumber.label', default: 42 }], - + [{ name: 'aString', type: 'string', i18n: '' }], [{ name: 'aString', type: 'string', i18n: 'aString.label', default: 42 }], [{ name: 'aString', type: 'string', i18n: 'aString.label', default: true }], diff --git a/src/features/settings/utils/settingsValidator.js b/src/features/settings/utils/settingsValidator.js index 61e3d6d..159de5a 100644 --- a/src/features/settings/utils/settingsValidator.js +++ b/src/features/settings/utils/settingsValidator.js @@ -42,7 +42,7 @@ export const validateSelectionOptions = function validateSelectionOptions (optio export const validateEntry = function validateEntry (entry, path) { assertType(entry.type, `${path}.type`); - + assertString(entry.name, `${path}.name`); assertString(entry.i18n, `${path}.i18n`); @@ -55,7 +55,7 @@ export const validateEntry = function validateEntry (entry, path) { ); return; } - + if (entry.type === 'selection') { validateSelectionOptions(entry.options, path); if (typeof entry.allowMultiple !== 'boolean' && entry.allowMultiple) { diff --git a/src/layouts/LeftSidebarLayout.vue b/src/layouts/LeftSidebarLayout.vue index 5dcc9c8..0471174 100644 --- a/src/layouts/LeftSidebarLayout.vue +++ b/src/layouts/LeftSidebarLayout.vue @@ -80,7 +80,7 @@ const toggleSidebar = function toggleSidebar () { .layout-container.expanded { grid-template-columns: 1fr 0; } - + .layout-container:not(.expanded) .sidebar-expand-button-container { justify-content: end; display: block; diff --git a/src/main.js b/src/main.js index 7475817..dee5934 100644 --- a/src/main.js +++ b/src/main.js @@ -57,7 +57,7 @@ import { validateSettingsConfig } from './features/settings/utils/settingsValida pinia.use(piniaPluginPersistedstate); validateSettingsConfig(settings); - + createApp(App) .use(router) .use(i18n) diff --git a/src/views/SearchView.vue b/src/views/SearchView.vue index baae55d..7a35aa5 100644 --- a/src/views/SearchView.vue +++ b/src/views/SearchView.vue @@ -39,7 +39,7 @@ const submitSearch = function () { {{ t('slogan') }} - +