]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
webui: add custom CSS injection via config (#23904)
authorPascal <redacted>
Sat, 30 May 2026 21:49:31 +0000 (23:49 +0200)
committerGitHub <redacted>
Sat, 30 May 2026 21:49:31 +0000 (23:49 +0200)
commitd749821db3bd587932d1ed57d43626cd552c9909
tree334f3a20d9fc1405c60efbcf21f71c3aaca358f3
parentaa46bda89b9a8378ae76bb15fc2ce2f571f0983c
webui: add custom CSS injection via config (#23904)

* webui: add custom CSS injection via config

register a customCSS setting in the Developer section under Custom JSON,
syncable so it rides the existing ui-config pass through. inject the value
into a single style element in the head, reactive on the setting. lets an
operator theme a prebuilt binary through --ui-config without rebuilding,
and lets a user set it from the settings panel.

* ui: address review from @niutech and @allozaur, rename custom JSON key and CSS field

* ui: address review from @allozaur, move custom CSS injection to a style tag in svelte:head

* ui: inject custom CSS through a svelte action instead of a bound element

move the textContent write into a use: action on the head style node.
the action is the idiomatic way to touch a node, so the no-dom-manipulating
lint rule is satisfied without a disable. value stays text through
textContent, never parsed as HTML.

* Update tools/ui/src/lib/constants/settings-keys.ts

Co-authored-by: Aleksander Grygier <redacted>
* ui: address review from @allozaur, rename custom config key to customJson with migration

rename the custom config key to customJson across the type, the chat
request builder, the settings save check and the custom tools reader,
keeping the custom API param name unchanged. add a non destructive
migration that copies the legacy custom key to customJson at startup.
only render the head style tag when custom CSS is set.

---------

Co-authored-by: Aleksander Grygier <redacted>
tools/ui/src/lib/components/app/settings/SettingsChat/SettingsChat.svelte
tools/ui/src/lib/constants/settings-keys.ts
tools/ui/src/lib/constants/settings-registry.ts
tools/ui/src/lib/services/migration.service.ts
tools/ui/src/lib/stores/chat.svelte.ts
tools/ui/src/lib/stores/tools.svelte.ts
tools/ui/src/lib/types/settings.d.ts
tools/ui/src/routes/+layout.svelte