style: render checkbox inputs as toggle switches and optimize aesthetics#1455
Conversation
cubicj
left a comment
There was a problem hiding this comment.
The implementation itself looks fine to me, and I don't see any code-level issue here. This is only my design impression, and I think the final design direction should mostly be up to the maintainers.
One concern: applying this globally to every CheckInput usage feels harder to scan in some places. The old checkbox had clearer visual feedback through the checked mark vs empty box, while the new switch depends more on knob position and theme color. This is especially noticeable in the default theme, where the checked borderc track and unchecked darkbutton track are both muted blue-gray colors.
This also makes some existing separated-label layouts, like the TTS settings, feel less readable because the larger switch appears on its own line. This is not caused by this PR specifically, but the global style change makes it more noticeable.
|
@cubicj Based on your feedback, I have increased the contrast. I also fixed the issues with the TTS option display and labels.
|
cubicj
left a comment
There was a problem hiding this comment.
Verified the updated switch design. The stronger checked-state feedback addresses my main scanability concern, and the TTS option layout is now connected to its label.
Check, tests, and build pass locally. I’ll leave the final design direction and merge decision to the maintainers.
Approving — thanks for the update!


PR Checklist
Summary
Redesigns the
CheckInputcomponent to render as a modern toggle switch (switch pill) instead of a standard checkbox, improving visual aesthetics, contrast, and alignment.Related Issues
None
Changes
src/lib/UI/GUI/CheckInput.svelterounded-full) and a sliding circle knob (bg-white).w-[2.625rem](42px) and the knob transition totranslate-x-4(16px) to achieve a symmetric 2px inner padding on both checked and unchecked states.bg-textcolor.role="switch",aria-checked, and configuringaria-labelfor screen readers.Impact
CheckInputare now rendered as modern toggle switches.Additional Notes
None
Preview
Footnotes
Modifies the behavior of prompting, requesting, or handling responses from AI models. ↩
Over 80% of the code is AI generated. ↩