[Remove Vuetify from Studio] Sign-in page - #6056
Conversation
Replace VCard with StudioRaisedBox, Banner with StudioBanner, and EmailField / PasswordField with StudioEmailField / StudioPasswordField. Drop VApp, VLayout and VDivider in favour of plain elements and scoped styles, and swap VForm for a native form driven by generateFormMixin. Field errors are surfaced on blur or after a failed submit, preserving the previous validate-on-blur behaviour. Vuetify spacing and colour helpers are replaced with scoped CSS and KDS theme tokens.
Extend the sign-in suite for the behaviour introduced by the move to generateFormMixin: submission is blocked while the form is invalid, field errors stay hidden until a field is blurred or a submit fails, and the password is sent without its surrounding whitespace trimmed. Also assert the offline banner renders.
|
👋 Hi @LightCreator1007, thanks for contributing! For the review process to begin, please verify that the following is satisfied:
Also check that issue requirements are satisfied & you ran Pull requests that don't follow the guidelines will be closed. Reviewer assignment can take up to 2 weeks. |
Summary
Removes Vuetify from the sign-in page.
VCard→StudioRaisedBox,Banner→StudioBanner,EmailField/PasswordField→StudioEmailField/StudioPasswordFieldVForm→ native<form>withgenerateFormMixin;VApp/VLayout/VDivider→ plain elements + scoped styles$themePalette/$themeTokensclean()would otherwise strip leading/trailing spaces<h1>, styled the same, so the page doesn't start at level 2References
Fixes #5930
Reviewer guidance
Screen.Recording.2026-07-31.at.12.56.04.AM.mov
Note
theme--lighton the page root is retained. Vuetify generates a.linkclass that collides with KDS's basic-link class,main.scssonly neutralises it under.theme--light, whichVAppused to supply. Without it, links render as blue blocks after anyVApppage mounts.Alternative is un-nesting that rule in
main.scss, fixes it centrally for all of the pages/components, happy to switch.AI usage
Used Claude Code in a review-and-iterate loop.