Commit Graph
293 Commits
Author SHA1 Message Date
jakob.scheid 53bd67b7a0 test(settings): add tests for selection reactivity 2026-08-06 23:24:09 +02:00
jakob.scheid 1f51a0b3ae fix(settings): make selection reactive
Selection now uses computed with getter and setter.
2026-08-06 23:23:21 +02:00
jakob.scheid 069b75b3c5 test(color-scheme): add tests for color scheme button 2026-08-06 20:56:46 +02:00
jakob.scheid 589be2a5bc refactor(color-scheme): remove unused composable
Removed the unused composable 'useColorScheme.js'.
2026-08-06 20:26:04 +02:00
jakob.scheid 287f02505e feat(color-scheme): make color scheme a setting
The color scheme now uses settings to store the currect color scheme.
2026-08-06 20:23:57 +02:00
jakob.scheid ad6f59a85c fix(settings): fix useSettings getSetting store path 2026-08-06 20:23:50 +02:00
jakob.scheid f9a53a8911 feat(settings)!: make settings module import static
Migrated the settings to a static settings configuration import.
2026-08-06 19:38:52 +02:00
jakob.scheid f485a2d476 feat(color-scheme): add color scheme settings
Added an appearance settings section containing a color scheme setting
and translations for that.
2026-08-06 17:38:05 +02:00
jakob.scheid 15697144b1 feat(settings): add function to set settings
Added function setSetting, which sets a setting, to useSettings
composable.
2026-08-06 15:33:55 +02:00
jakob.scheidandGitea fab7d7e901 test(settings): add test cases for empty setting value return value 2026-08-06 12:50:33 +02:00
jakob.scheidandGitea 04c148a3b1 feat(settings): make setting value function synchronous
Added a store to cache the settings configuration. The getSetting
function from useSettings is now synchronous and uses this cache.
The settings cache is set when loading the settings initially
(asnychronously).
2026-08-06 12:50:33 +02:00
jakob.scheidandGitea ff6ab7a78c test(settings): add tests for useSettings composable
Added some tests for the getSetting function from the useSettings
composable.
2026-08-06 12:50:33 +02:00
jakob.scheidandGitea 294fdab550 feat(settings): add composable for settings values
Added the composable useSettings that provides the function getSetting.
This function returns the set value of the setting, or otherwise the
default value. If there is no default value, it returns undefined.
2026-08-06 12:50:33 +02:00
jakob.scheidandGitea 2addd779a7 feat(footer): align footer segment items vertically centered 2026-08-06 12:48:18 +02:00
jakob.scheidandGitea dca7f2176b test(settings): add tests for switch
Added test cases for the switch to test the default value functionality.
2026-08-06 12:48:00 +02:00
jakob.scheidandGitea 60d3296816 fix(settings): use switch default value as store value fallback
The switch now uses the default value as a fallback for the stored value
and updates the switch state when stored value changes.
2026-08-06 12:48:00 +02:00
jakob.scheidandGitea 32555d9acb fix(sidebar): hide sidebar instead of removing it
Previously, the sidebar was fully removed from DOM. This could cause
unwanted behavior, such as tests which test its content failing. Now, it
is just hidden. This does not affect tests any more.
2026-08-05 20:46:35 +02:00
jakob.scheid e5f27041d2 fix(sidebar): hide border on small screens 2026-08-05 19:33:34 +02:00
jakob.scheid 4b010d03ac feat(settings): toggle sidebar on small screens when section is selected
The settings view now hides the sidebar on small screens when a settings
section is selected.
2026-08-02 13:58:37 +02:00
jakob.scheidandGitea 0939379c0a feat(sidebar): decrease horizontal padding when sidebar is not expanded
Set the horizontal padding of the unexpanded sidebar to 1em.
2026-07-31 20:59:19 +02:00
jakob.scheidandGitea 63d9e31d29 fix(sidebar): do not show sidebar expanding button on small screens when sidebar is not expanded 2026-07-31 20:59:19 +02:00
jakob.scheidandGitea e43784bff0 feat(sidebar): implement sidebar visibility toggling 2026-07-31 20:59:19 +02:00
jakob.scheidandGitea 5b1f2b57a7 feat(sidebar): add sidebar expand button
Added a button to expand the sidebar to the sidebar and reorganized
sidebar elements accordingly.
2026-07-31 20:59:19 +02:00
jakob.scheid f41c5c407f test(settings): add settings validator test cases
Added test cases to the settings validator unit test to test the
selection setting default value array handling when allowMultiple is
true.
2026-07-30 10:45:58 +02:00
jakob.scheid 35bfedbd6b fix(settings): expect array default values for multiple choice selections 2026-07-30 10:43:47 +02:00
jakob.scheidandGitea 68a827a113 test(settings): add describe to settingsValidator test 2026-07-28 20:15:58 +02:00
jakob.scheidandGitea c047060b7c test(i18n): add describe to LanguageSwitchButton test 2026-07-28 20:15:58 +02:00
jakob.scheid 79267d0059 feat(settings): add selection option ARIA label 2026-07-28 20:10:29 +02:00
jakob.scheid 39f482fc37 feat(settings): add title to selection options 2026-07-28 20:10:28 +02:00
jakob.scheid 70ad0420bb feat(settings): improve label relationship in selection
Added attributes to indicate that div.label is the label for
ul.options-list in the selection component.
2026-07-28 20:10:28 +02:00
jakob.scheid 641cc4956d refactor(settings): remove unused parameter
Removed unused oldValue parameter in the selection component.
2026-07-28 20:10:28 +02:00
jakob.scheid e0e2033fdf refactor(settings)!: pass path to getSettingsRecursively using an array instead of a string
Tests and all files the utility is used in are also updated.

Warning: This change is breaking!
2026-07-28 20:10:27 +02:00
jakob.scheid e18c066629 refactor(settings): use oneline if statement
Use a oneline if statement in the getSetting utility.
2026-07-28 20:10:27 +02:00
jakob.scheid edb63b0316 test(settings): refactor switch component test
Added and used getWrapper function to switch component test to mount the
component and avoid repeating code.
2026-07-28 20:10:27 +02:00
jakob.scheid 9a8e764f53 test(settings): refactor selection component test
Use exampleOptions instead of an own options array, which was equal to
exampleOptions.
2026-07-28 20:10:26 +02:00
jakob.scheid 26a5783d19 test(settings): refactor selection test getWrapper function
Updated the getWrapper function to use object destructuring.
2026-07-28 20:10:26 +02:00
jakob.scheid 880beeee07 style(settings): remove unnecessary commas
Removed unnecessary commas in settings input component and settings page
component.
2026-07-28 20:10:25 +02:00
jakob.scheid 151947b09c style(settings): remove unnecessary comma
Removed unnecessary trailing comma in the selection component.
2026-07-28 20:10:25 +02:00
jakob.scheid 4054d0793f fix(settings): update settings input to use default value
The SettingsInput component now uses the default value if there is a
default value. Tests for this were added.
2026-07-28 20:10:25 +02:00
jakob.scheid 2d61e9f927 test(settings): refactor getWrapper function in settings input test
Updated the getWrapper function to use object destructuring.
2026-07-28 20:10:24 +02:00
jakob.scheid b429074071 test(settings): add tests for settings page
Added tests for the SettingsPage component:
  - correct heading
  - correct settings
2026-07-28 20:10:24 +02:00
jakob.scheid 9dfd16d68d test(settings): add tests for settings page link 2026-07-28 20:10:23 +02:00
jakob.scheid fb0d80d7f6 test(settings): add tests for settings view
Added tests for the settings view (SettingsView.vue):
  - heading translation
  - sidebar top-level sections
  - correct main element
2026-07-28 20:10:23 +02:00
jakob.scheid bd30579923 refactor(settings): move setttings path normalization utility to a separate file
Moved the normalizePagePath utility from the settings page composable to
a separate utility file and restructured tests accordingly.
2026-07-28 20:10:23 +02:00
jakob.scheid d6e7104f82 refactor(settings): remove unused utility
Removed the utility getSectionHeadingLevel and its tests.
2026-07-28 20:10:22 +02:00
jakob.scheid 24b4e45116 feat(settings): add page path normalization type check
Added a type check to the normalizePagePath function. The function now
returns an empty array if the path is not a string.
2026-07-28 20:10:22 +02:00
jakob.scheid 6b347bb845 feat(settings): omit empty settings page segments
The composable useSettingsPage now omits empty segments in the path.
2026-07-28 20:10:21 +02:00
jakob.scheid c5a16d2797 feat(settings): filter characters that would cause a broken URL from settings page path 2026-07-28 20:10:21 +02:00
jakob.scheid f7f4de8341 test(settings): distinguish between unit tests and integration tests
Separated unit tests and integration tests in the test for
useSettingsPage more clearly.
2026-07-28 20:10:21 +02:00
jakob.scheid cd4956fbe6 refactor(settings): push route object instead of raw string
Modified the useSettingsPage composable to use a route object instead
of a raw string in goToSettingsPage and moved settings route child
routes into the settings route itself using 'rest(.*)*'.
2026-07-28 20:10:20 +02:00