Conversation
📝 Summary: Complete visual overhaul with consistent branding, proper theming, and UX fixes. 🔧 Changes: - ✨ Create reusable AppLogoWidget (small/medium/large sizes) - 🎨 Add bus logo to main screen app bar and onboarding - 🌓 Replace high contrast mode with Light/Dark/System theme toggle - 🔄 Add dynamic versioning via package_info_plus - 🔗 Add GitHub repository link in Settings > About - 🧭 Fix Reference Guide navigation (back button + scrollable tabs) - 📐 Fix origin-destination route indicator alignment - 📦 Add flutter_launcher_icons configuration - 🚦 Add 28 new widget tests for AppLogoWidget (total: 289 tests) 📁 New Files: - lib/src/presentation/widgets/app_logo_widget.dart - test/widgets/app_logo_widget_test.dart - assets/icons/README.md
📝 Summary: Complete overhaul of visual improvements including 5 bug fixes, Material Design 3 standard dark theme, and 100% WCAG AA accessibility. 🔧 Changes: - Fix Discount Guide navigation with initialTabIndex parameter - Fix route indicator alignment using explicit dimensions (48px fields) - Fix swap button centering between origin/destination - Implement M3 standard dark theme (#141218 background, pastel accents) - Fix layout shifting between themes by matching structural properties - Add TransitColors ThemeExtension for theme-aware transit line colors - Create WCAG contrast checker tool and achieve 100% compliance 📁 New Files: - lib/src/core/theme/transit_colors.dart (theme extension) - tool/wcag_contrast_checker.dart (accessibility audit tool) - docs/accessibility_audit.md (WCAG compliance report) - docs/analysis_ui_fixes.md (issue analysis) - docs/research/m3_standard_colors.md (M3 color specs) - docs/research/theme_research.md (theme guidelines) ✅ Verification: - All 289 tests pass - No analyzer issues - 49/49 WCAG contrast checks pass
📝 Summary: Complete dark mode compatibility overhaul across all presentation screens. Fixed 38 initial + 3 additional dark mode color issues where hardcoded colors caused invisible text in dark mode. Resolved all 54 analyzer problems. WCAG 2.1 accessibility compliance verified at 100% (49/49 checks passed). 🔧 Changes: - Extended TransitColors theme extension with 10 new semantic colors - Fixed Discount Guide badge text visibility with theme-aware pastel colors - Fixed Train line header text contrast using luminance-based calculation - Fixed Settings screen toggle buttons and traffic factor icon colors - Replaced hardcoded Colors.green, Color(0xFF...) with theme colors - Added ignore_for_file directives to resolve 54 avoid_print warnings 📁 Files Modified: - lib/src/core/theme/transit_colors.dart (theme extension) - lib/src/presentation/screens/reference_screen.dart - lib/src/presentation/screens/settings_screen.dart - lib/src/presentation/screens/offline_menu_screen.dart - lib/src/presentation/screens/onboarding_screen.dart - lib/src/presentation/screens/region_download_screen.dart - lib/src/presentation/screens/map_picker_screen.dart - lib/src/presentation/screens/splash_screen.dart - lib/src/presentation/widgets/fare_result_card.dart - lib/src/presentation/widgets/map_selection_widget.dart - lib/src/presentation/widgets/app_logo_widget.dart - tool/wcag_contrast_checker.dart - docs/research/tool_extract_m3_colors.dart ✅ Verification: - All 289 tests pass - No analyzer issues - WCAG contrast checker: 49/49 passed
📝 Summary: Major visual improvements including unique theme colors, fixed icons, custom launcher icons, in-app logo integration, and improved map UX. All 289 tests pass with full WCAG AA+ accessibility compliance. 🔧 Changes: - 🎨 Implement "Archipelago Blue" theme (teal #006064 + orange #FF6F00) - 🐛 Fix onboarding icons by adding explicit container colors - 🖼️ Replace Android launcher icons with custom PH Fare Calculator logo - 🏠 Add app logo to Settings screen About section - 🗺️ Increase initial map preview size by 40% (200px → 280px) - 📚 Add comprehensive color theme research documentation - 📋 Create theme specification design document 📁 Files Changed: - lib/src/core/theme/app_theme.dart (theme colors) - lib/src/presentation/screens/main_screen.dart (map sizing) - lib/src/presentation/screens/settings_screen.dart (logo integration) - android/app/src/main/res/mipmap-*/ic_launcher.png (5 density sizes) - assets/icons/PHFareCalculatorLogo/ (logo assets) - docs/design/theme_specification.md (design spec) - docs/research/color_theme_research_2024_2025.md (research) ✅ Verification: - All 289 tests pass - No analyzer issues - WCAG AA+ accessibility compliant
📝 Summary: Changes default theme from "System" to "Light Mode" for first-time users. Implements theme-aware map tiles that automatically switch appearance based on the current app theme using CartoDB Voyager with color inversion for dark mode. 🔧 Changes: - 🌞 Set default theme to Light Mode (was System) - 🗺️ Add theme-aware map tiles with inverted Voyager for dark mode - 🎨 Implement ColorFiltered widget to invert light tiles in dark theme - 📚 Add comprehensive CartoDB basemap research documentation - ✅ Update tests for new default theme setting 📁 Files Changed: - lib/main.dart (default theme fallback) - lib/src/services/settings_service.dart (default theme value) - lib/src/services/offline/offline_map_service.dart (inverted Voyager tiles) - lib/src/presentation/widgets/map_selection_widget.dart (dark mode filter) - lib/src/presentation/screens/map_picker_screen.dart (dark mode filter) - test/services/settings_service_test.dart (test expectations) - docs/research/cartodb_basemap_dark_mode_visibility.md (new research doc) ✅ Verification: All 289 tests pass, no analyzer issues
📝 Summary: Version bump reflecting 5 new feature commits since v2.0.0: 🔧 Changes: - Updated version from 2.0.0+2 to 2.1.0+3 in pubspec.yaml - Updated version badge in README.md ✨ Features included in 2.1.0: - Default Light theme instead of System - Theme-aware map tiles (CartoDB Voyager with inverted colors for dark mode) - Complete UI overhaul with Archipelago Blue theme - Dark mode color fixes with WCAG compliance - M3 theme fixes and visual improvements - Custom app branding and launcher icons
8 tasks
MasuRii
added a commit
that referenced
this pull request
Mar 16, 2026
…-and-map-theming Theme System Overhaul with Light/Dark/System toggle and Theme-Aware Map Tiles (v2.1.0)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Summary
Complete theme system overhaul introducing Light/Dark/System mode toggle, theme-aware map tiles that adapt to the current theme using CartoDB Voyager with smart color inversion, and a comprehensive UI refresh with the new "Archipelago Blue" design language. This release also achieves 100% WCAG AA+ accessibility compliance across all screens.
✨ Changes
🎨 Theme System
#006064+ orange#FF6F00)#141218background)🗺️ Theme-Aware Map Tiles
ColorFilter.matrixto invert light tiles for dark mode♿ Accessibility (WCAG 2.1 AA+)
TransitColorsextension🖼️ Branding & UI
AppLogoWidget(small/medium/large sizes)📦 Version Bump
2.0.0+2→2.1.0+3📁 Files Changed
app_theme.dart,transit_colors.dartoffline_map_service.dart,map_selection_widget.dart,map_picker_screen.dartsettings_service.dart,settings_screen.dartmipmap-**/ic_launcher.png,PHFareCalculatorLogo/theme_specification.md, research docssettings_service_test.dart🧪 Testing Instructions
flutter clean && flutter pub getflutter pub run build_runner build --delete-conflicting-outputsflutter test- All 289 tests should pass✅ Verification Status
📋 Checklist
flutter test)dart analyze --fatal-infos --fatal-warnings)dart format .)