Commit Graph
70 Commits
Author SHA1 Message Date
jakob.scheid afd0c47b63 test(legal): add test for the legal notice view
Added tests for the legal notice view (LegalNoticeView.vue).
2026-08-05 15:58:40 +02:00
jakob.scheid fbb8e028fb test(legal): add tests for getLegalNotice 2026-08-05 15:54:21 +02:00
jakob.scheid 6a0c41bb0b feat(legal): add legal notice loading indicator 2026-08-05 15:54:13 +02:00
jakob.scheid 378f19d3b7 feat(legal): add legal notice error handling
The legal notice view now shows an error box if the legal notice could
not be loaded.
2026-08-05 14:38:09 +02:00
jakob.scheid 64f4116820 fix(style): set link color to --dark variable
This change was necessary due to the dynamically loaded legal notice.
Links would have the default color without this fix.
2026-08-05 14:13:42 +02:00
jakob.scheid 8f47a6dde0 feat(legal): load and display legal notice 2026-08-05 14:12:54 +02:00
jakob.scheid 9e0b47b672 feat(legal): add legal notice link in the footer
Added a link to the legal notice in the footer and revised the layout of
the last footer segment: The segment is now a grid container and the
legal links (currently only the legal notice link) are displayed at the
end. The copyright notice remains centered. On small screens, the legal
links are displayed centered below the copyright notice.
2026-08-05 13:33:58 +02:00
jakob.scheid aecd23ddf9 feat(legal): add route for the legal notice 2026-08-05 13:33:52 +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.scheidandGitea 26535cad45 feat(fonts): use Inter 2026-08-04 19:41:08 +02:00
jakob.scheidandGitea 5fdf0490b6 feat(fonts): load all fonts specified in font configuration 2026-08-04 19:41:08 +02:00
jakob.scheidandGitea 61817bf4fc feat(assets): add assets environment variables
Added the environment variables VITE_ASSETS_BUILD_ID for the ID of the
used build and VITE_ASSETS_BASE_URL for the base URL of the assets.
A script for reading this configuration was also added.
2026-08-04 19:41:08 +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 813cc7c7fc feat(sidebar): allow left sidebar layout content to toggle sidebar 2026-08-02 13:57:11 +02:00
jakob.scheid a77bbec3fa refactor(sidebar): rename sidebar toggling function
Renamed the sidebar toggling function in the left sidebar layout to
toggleSidebar.
2026-08-02 13:56:25 +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 48e979ac64 fix(sidebar): fix main content displaying
Do not show main content on small screens when the sidebar is expanded.
2026-07-31 20:59:19 +02:00
jakob.scheidandGitea 0a58944157 feat(sidebar): add sidebar expand button to left sidebar layout
Added a sidebar expand button to the left sidebar layout that is shown
on small screens when the sidebar is not expanded.
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.scheidandGitea c70e285026 feat(icons): add sidebar expanding icon 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 00caf4d692 style(i18n): update Portuguese translations indentation 2026-07-30 10:04:47 +02:00
jakob.scheid f39a69f76d style(i18n): update Italian translations indentation 2026-07-30 10:04:16 +02:00
jakob.scheid 8697557259 style(i18n): update French translations indentation 2026-07-30 10:03:24 +02:00
jakob.scheid cd17486054 style(i18n): update Spanish translations indentation 2026-07-30 10:02:31 +02:00
jakob.scheidandGitea 5a9191e69b chore(licenses): add license headers to setup scripts 2026-07-28 21:44:27 +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.scheidandGitea cd3a288935 test(i18n): add describe to currentLanguage test 2026-07-28 20:15:58 +02:00
jakob.scheidandGitea 7ee9c45339 test(style): add describe to cssDimensions test 2026-07-28 20:15:58 +02:00
jakob.scheid 71b6601360 fix(settings): catch all of /settings route subpath 2026-07-28 20:13:08 +02:00
jakob.scheid eb43e2f49f chore: resolve merge conflicts 2026-07-28 20:10:40 +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 67ffd05566 docs(changelog): add settings renderer 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 55164c3b2f Merge branch 'fix/update-title-on-language-change'
Deploy on dev / Deploy on dev (push) Successful in 38s
2026-07-28 19:55:22 +02:00
jakob.scheid b245aa4a39 feat: update the page title using a watcher
Added a watcher (watchEffect) to App.vue to update the page title
always when a dependency changes. The afterEach hook was removed from
the router.
2026-07-28 19:55:12 +02:00
jakob.scheid 3e30e85354 feat: update the page title using a watcher
Added a watcher (watchEffect) to App.vue to update the page title
always when a dependency changes. The afterEach hook was removed from
the router.
2026-07-28 19:50:19 +02:00
jakob.scheid 2206b9952b feat(color-scheme): set color scheme on body
The color scheme is now set on the document body. The reactivity is
ensured by a watcher on the color scheme ref. The color CSS variables
are now set on the body.
2026-07-28 19:46:18 +02:00
jakob.scheidandGitea 3bcd71d60c chore(licenses): update third-party licenses
Updated the third-party licenses using the new license files script.
2026-07-28 19:36:43 +02:00
jakob.scheidandGitea cc7a562887 docs(readme): add reference to the license script 2026-07-28 19:36:43 +02:00
jakob.scheidandGitea 3f40e2142c chore(licenses): add script to generate the license files
Added a script to generate the license files for the development
dependencies and the production dependencies.
2026-07-28 19:36:43 +02:00
jakob.scheid f1430622dd refactor: merge two rules for #app-wrapper
Merged the two CSS rules for #app-wrapper into one rule.
2026-07-28 18:51:38 +02:00