Skip to content

fix(auth): style buttons/inputs on all auth screens, not just login#170

Merged
unidoc-ahall merged 1 commit into
masterfrom
fix/169-auth-brand-styles
Jul 14, 2026
Merged

fix(auth): style buttons/inputs on all auth screens, not just login#170
unidoc-ahall merged 1 commit into
masterfrom
fix/169-auth-brand-styles

Conversation

@unidoc-ahall

Copy link
Copy Markdown
Contributor

Closes #169 — the reset/forgot-password button looked unstyled ("ugly").

Root cause (not just that one button): the brand-* auth classes — .brand-btn, .brand-text, .brand-text-hover, .brand-focus, .brand-info-box — were defined in Login.vue's <style scoped>. Scoped styles only apply to Login, so ForgotPassword, Signup, VerifyEmail and VerifyEmailChange all use those classes but never received the CSS — their primary buttons rendered with white text and no background, and inputs had no brand focus ring.

Fix: move the shared brand-* rules to global src/style.css (with a var(--brand-color, #3b82f6) fallback so they work even when an org hasn't set a branding color), and remove the scoped block from Login. One change fixes all four screens; Login is unchanged visually.

just build-web green. No logic/API change.

…169)

The brand-* classes (.brand-btn, .brand-text, .brand-focus, .brand-info-box) were
defined in Login.vue's <style scoped>, so only the login screen got them. The
other auth screens — forgot/reset password, signup, email verification — use the
same classes but rendered their primary buttons and inputs unstyled (white text,
no background), which read as broken/ugly.

Moves the shared brand-* rules to global src/style.css with a --brand-color
fallback (blue-500 when no org branding is set), and drops the now-redundant
scoped block from Login. All auth screens now render consistently.

Closes #169.
@unidoc-ahall unidoc-ahall added this to the 0.7.1 milestone Jul 14, 2026
@unidoc-ahall unidoc-ahall requested a review from unidoc-alip July 14, 2026 11:45

@unidoc-alip unidoc-alip left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Closes #169. Root cause confirmed: .brand-btn/.brand-text/.brand-text-hover/.brand-focus/.brand-info-box were scoped to Login.vue, so ForgotPassword, Signup, VerifyEmail and VerifyEmailChange referenced the same classes but never got the CSS — verified via grep that all five views use these classes. Moving the rules to global src/style.css with a var(--brand-color, #3b82f6) fallback fixes all four screens at once; the fallback matches App.vue's existing --brand-color: #3b82f6 root default, so Login renders identically to before. No other view defines conflicting .brand-* classes, so going global introduces no collisions. Pure CSS/markup change — no logic, no user input, no security implications. Straightforward, well-scoped fix.

looks good to me

@unidoc-ahall unidoc-ahall merged commit e33f0f9 into master Jul 14, 2026
2 checks passed
@unidoc-ahall unidoc-ahall deleted the fix/169-auth-brand-styles branch July 14, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Forgot/reset password: make the submit a proper button (styling)

2 participants