jakob.scheid
890404a63e
test(settings): add test cases for empty setting value return value
2026-08-05 01:44:03 +02:00
jakob.scheid
d2e6a335a3
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-05 01:33:12 +02:00
jakob.scheid
e71b917c8e
test(settings): add tests for useSettings composable
...
Added some tests for the getSetting function from the useSettings
composable.
2026-08-05 01:05:12 +02:00
jakob.scheid
de5bee2c4a
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-05 00:32:53 +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.scheid and Gitea
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.scheid and Gitea
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.scheid and Gitea
e43784bff0
feat(sidebar): implement sidebar visibility toggling
2026-07-31 20:59:19 +02:00
jakob.scheid and Gitea
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.scheid and Gitea
68a827a113
test(settings): add describe to settingsValidator test
2026-07-28 20:15:58 +02:00
jakob.scheid and Gitea
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
jakob.scheid
241ac889fc
feat(settings): make settings page composable more compatible
...
The composable now uses replace instead of replaceAll which is not
supported by some old browsers.
2026-07-28 20:10:20 +02:00
jakob.scheid
d3f3ef37ed
fix(settings): omit leading/trailing and consecuting dots in noralizePagePath
2026-07-28 20:10:20 +02:00
jakob.scheid
c2402f9360
fix(settings): return router.push promise
...
The settings page composable function to go to a settings page now
returns the promise router.push returns.
2026-07-28 20:10:19 +02:00
jakob.scheid and jakob.scheid
f6fdae6b0c
test(settings): add tests for settings page composable
2026-07-28 20:10:19 +02:00
jakob.scheid and jakob.scheid
c7fe1f2f60
test(settings): add tests for selection setting
...
Added tests for the selection setting component:
- correct display of options
- shows values correctly
- store of values
- correct translation
2026-07-28 20:10:19 +02:00
jakob.scheid and jakob.scheid
c7490d2e48
feat(settings): wrap selection option label
...
Added a wrapper for the settings selection option label to make it
easier to identify (internal).
2026-07-28 20:10:18 +02:00
jakob.scheid and jakob.scheid
e1e5ca7a76
fix(settings): use wrapper only if settings shown
...
The .settings-main-content wrapper in the settings view is now only
used if there are settings shown. It is not used if the settings are
still loading or no section is selected.
2026-07-28 20:10:18 +02:00
jakob.scheid and jakob.scheid
2eafa3c093
feat(settings): wrap selection setting label
...
Added a wrapper for the selection setting label to make it easier to
find (internal).
2026-07-28 20:10:17 +02:00
jakob.scheid and jakob.scheid
07901f9ab2
fix(settings): add section fallback
...
Added a simple message as a fallback that is used if no section is
selected.
2026-07-28 20:10:17 +02:00
jakob.scheid and jakob.scheid
167ddbfb4e
fix(settings): fix handling of non-existent paths
...
Previously, the settings view now does not check whether the settings
content is falsy. But, if the setting does not exist, the setting itself
is undefined. So, if the specified settings path did not exist, an
error was thrown.
Now, the setting is checked for being falsy, not the setting content.
2026-07-28 20:10:17 +02:00
jakob.scheid and jakob.scheid
e808ec9a26
test(settings): add settings input tests
2026-07-28 20:08:53 +02:00
jakob.scheid and jakob.scheid
d7ce212095
fix(settings): prevent setting input done button from animating initially when mounting
2026-07-28 20:08:52 +02:00
jakob.scheid and jakob.scheid
da330db355
feat(settings): make setting input reactive to stored setting
2026-07-28 20:08:52 +02:00
jakob.scheid and jakob.scheid
6fbdc87669
test(settings): add switch component tests
2026-07-28 20:08:51 +02:00