Files
MyClub/DOCS/DARK_MODE_ENHANCEMENTS.md
Tomáš Dvořák 12cba639b9 upload
2025-10-16 13:32:05 +02:00

7.3 KiB

Dark Mode Enhancements - Summary

Overview

Comprehensive dark mode styling improvements across the entire frontend application to enhance text visibility, contrast, and overall user experience in dark mode.

Changes Made

1. Newsletter Subscribe Component

File: frontend/src/components/newsletter/NewsletterSubscribe.tsx

Changes:

  • Removed white background in dark mode (now transparent)
  • Enhanced text contrast with proper color variables
  • Improved heading visibility: gray.800white in dark mode
  • Enhanced body text: gray.600gray.300 in dark mode
  • Better disclaimer text visibility: gray.500gray.400 in dark mode
  • Added subtle border styling that adapts to dark mode

Result: Newsletter form now blends seamlessly with dark backgrounds while maintaining excellent readability.


File: frontend/src/components/home/GallerySection.tsx

Changes:

  • Added comprehensive dark mode color scheme
  • Card backgrounds: whitegray.800 in dark mode
  • Heading colors: gray.800gray.100 in dark mode
  • Text colors: gray.600gray.300 in dark mode
  • Info banner: Proper blue tones for dark mode (blue.900 background, blue.200 text)
  • Added visible borders to cards in dark mode
  • Enhanced hover states with border color transitions
  • Improved grid layout: Changed from 5 to 6 albums for better responsiveness
  • Updated grid columns from xl: 5 to consistent lg: 3 for better layout

Result: Gallery cards are now clearly visible in dark mode with excellent contrast and improved layout.


3. Navigation Bar

File: frontend/src/components/Navbar.tsx

Changes:

  • Enhanced hover states with better background opacity
    • Light mode: blackAlpha.50blackAlpha.100
    • Dark mode: whiteAlpha.100whiteAlpha.200
  • Improved active link styling
    • Added subtle background color for active links
    • Better color differentiation: uses brand.accent in dark mode
    • Enhanced text contrast: gray.700gray.200 in dark mode
  • Added smooth transitions with translateY hover effect
  • Removed underline animation in favor of background highlighting
  • Applied consistent styling to dropdown menus (HoverMenu component)

Result: Navigation is now much more intuitive with clear visual feedback for active pages and hover states.


4. Videos Page

File: frontend/src/pages/VideosPage.tsx

Changes:

  • Fixed blue text on blue background issue
  • Added heading color variable: gray.800gray.100 in dark mode
  • Improved text contrast: gray.600gray.300 in dark mode
  • Enhanced video card title colors using videoPrimaryColor variable
    • Uses brand.primary in light mode
    • Uses brand.accent in dark mode (prevents blue on blue)
  • Better tertiary text visibility: gray.500gray.400 in dark mode

Result: All text is now clearly readable in dark mode, no more blue-on-blue issues.


5. Matches Page

File: frontend/src/pages/MatchesPage.tsx

Changes:

  • Added comprehensive dark mode color scheme
  • Page background: #f8f9fb#0f1115 in dark mode
  • Card backgrounds: #fff#1a1d29 in dark mode
  • Border colors: #e5e7eb#2a2e3a in dark mode
  • Text colors:
    • Primary: #1a1a1a#e8eaf0 in dark mode
    • Secondary: #666#9ca3af in dark mode
    • Headings: #000#fff in dark mode
  • Applied colors to all match cards, headers, and empty states

Result: Matches page now has excellent visibility and contrast in dark mode.


File: frontend/src/pages/GalleryPage.tsx

Changes:

  • Enhanced color scheme for better dark mode support
  • Background: bg.app#0f1115 in dark mode
  • Card backgrounds: bg.card#1a1d29 in dark mode
  • Border colors: Explicit hex values for consistency
  • Text colors:
    • Primary: gray.800gray.100 in dark mode
    • Secondary: gray.600gray.300 in dark mode
  • Added visible borders to album cards
  • Enhanced hover states with border color transitions

Result: Gallery page albums are clearly visible with excellent contrast.


7. Album Detail Page

File: frontend/src/pages/AlbumDetailPage.tsx

Changes:

  • Added full dark mode color support
  • Page background: #f8f9fb#0f1115 with min-height
  • Card backgrounds: white#1a1d29 in dark mode
  • Border colors: #e5e7eb#2a2e3a in dark mode
  • Text colors:
    • Headings: gray.800gray.100 in dark mode
    • Secondary text: gray.600gray.300 in dark mode
  • Info banner: Proper blue tones for dark mode
  • Added borders to photo thumbnails
  • Enhanced hover states

Result: Album detail page now fully supports dark mode with excellent visibility.


Color Palette Used

Light Mode

  • Background: #f8f9fb, white
  • Cards: white
  • Borders: #e5e7eb, gray.200
  • Text Primary: gray.800, #1a1a1a
  • Text Secondary: gray.600, #666
  • Info Banners: blue.50 background, blue.700/blue.800 text

Dark Mode

  • Background: #0f1115
  • Cards: #1a1d29, gray.800
  • Borders: #2a2e3a, gray.600, gray.700
  • Text Primary: gray.100, white, #e8eaf0
  • Text Secondary: gray.300, gray.400, #9ca3af
  • Info Banners: blue.900 background, blue.200 text

Accent Colors

  • Light mode: brand.primary
  • Dark mode: brand.accent

Best Practices Applied

  1. Semantic Color Variables: Used Chakra UI's useColorModeValue hook throughout
  2. Consistent Contrast Ratios: Ensured WCAG AA compliance for text readability
  3. Border Enhancement: Added subtle borders to cards in dark mode for better definition
  4. Hover States: Enhanced interactive elements with proper feedback
  5. Transparent Backgrounds: Used transparent backgrounds where appropriate to blend with page backgrounds
  6. Info Banners: Properly styled with dark mode variants (blue.900 bg, blue.200 text)

Testing Recommendations

  1. Toggle between light and dark modes on all affected pages
  2. Test navigation hover and active states
  3. Verify newsletter form visibility on dark backgrounds
  4. Check gallery card visibility and hover effects
  5. Ensure video titles are readable (no blue-on-blue)
  6. Test match cards on the matches page
  7. Verify all text is readable with sufficient contrast

Files Modified

  1. frontend/src/components/newsletter/NewsletterSubscribe.tsx
  2. frontend/src/components/home/GallerySection.tsx
  3. frontend/src/components/Navbar.tsx
  4. frontend/src/pages/VideosPage.tsx
  5. frontend/src/pages/MatchesPage.tsx
  6. frontend/src/pages/GalleryPage.tsx
  7. frontend/src/pages/AlbumDetailPage.tsx

Summary

All requested dark mode enhancements have been completed:

Newsletter form - Transparent background in dark mode with enhanced text contrast
Gallery section - 6 albums displayed with better grid layout and dark mode support
Navigation bar - Enhanced hover and active states with clear visual feedback
Videos page - Fixed blue-on-blue text issue
Matches page - Full dark mode styling with excellent contrast
Gallery pages - Complete dark mode support with visible cards and text
Overall consistency - Uniform color palette and styling patterns across all components

The application now provides an excellent user experience in both light and dark modes with proper contrast, visibility, and interactive feedback throughout.