[PR #23684] fix: improve dark mode UI consistency in signin page #30352

Closed
opened 2026-02-21 20:47:20 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/23684

State: closed
Merged: Yes


Summary

This PR addresses several dark mode UI inconsistencies in the signin page that impacted user experience and accessibility. The changes ensure all UI elements are properly visible and interactive in dark mode while maintaining existing functionality in light mode.

Fixes #23683

Issues Fixed:

  • Language selector dropdown invisibility: Background color identical to page background in dark mode
  • GitHub icon invisibility: Black icon nearly invisible on dark background
  • Broken OR divider design: Line interrupted rather than spanning continuously
  • Inconsistent file naming: Components not following kebab-case convention

Changes Made:

  1. Created LocaleSigninSelect component with proper dark mode contrast using bg-components-panel-bg-blur
  2. Added GitHub dark mode icon with automatic theme switching via CSS
  3. Redesigned OR divider using flex layout with continuous gradient lines
  4. Renamed files to kebab-case: normalForm.tsxnormal-form.tsx, oneMoreStep.tsxone-more-step.tsx
  5. Updated import paths accordingly

Technical Details:

  • Uses existing design system colors for consistency
  • Maintains Google icon (colorful, good contrast in both modes)
  • Isolates changes to signin page components only
  • Follows project naming conventions

Screenshots

Before After
Language dropdown invisible in dark mode Language dropdown clearly visible with proper contrast
GitHub icon barely visible on dark background GitHub icon switches to white variant in dark mode
OR divider broken by text background OR divider spans continuously with elegant gradients

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/23684 **State:** closed **Merged:** Yes --- ## Summary This PR addresses several dark mode UI inconsistencies in the signin page that impacted user experience and accessibility. The changes ensure all UI elements are properly visible and interactive in dark mode while maintaining existing functionality in light mode. Fixes #23683 ### Issues Fixed: - **Language selector dropdown invisibility**: Background color identical to page background in dark mode - **GitHub icon invisibility**: Black icon nearly invisible on dark background - **Broken OR divider design**: Line interrupted rather than spanning continuously - **Inconsistent file naming**: Components not following kebab-case convention ### Changes Made: 1. **Created LocaleSigninSelect component** with proper dark mode contrast using `bg-components-panel-bg-blur` 2. **Added GitHub dark mode icon** with automatic theme switching via CSS 3. **Redesigned OR divider** using flex layout with continuous gradient lines 4. **Renamed files to kebab-case**: `normalForm.tsx` → `normal-form.tsx`, `oneMoreStep.tsx` → `one-more-step.tsx` 5. **Updated import paths** accordingly ### Technical Details: - Uses existing design system colors for consistency - Maintains Google icon (colorful, good contrast in both modes) - Isolates changes to signin page components only - Follows project naming conventions ## Screenshots | Before | After | |--------|-------| | Language dropdown invisible in dark mode | Language dropdown clearly visible with proper contrast | | GitHub icon barely visible on dark background | GitHub icon switches to white variant in dark mode | | OR divider broken by text background | OR divider spans continuously with elegant gradients | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos\!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:47:20 -05:00
yindo closed this issue 2026-02-21 20:47:20 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#30352