Skip to content

Commit 98d8514

Browse files
authored
Merge pull request #9 from MasuRii/feature/visual-improvements-v2.4.0
✨ feat(visual): transport icons overhaul and dark mode migration to M3 2025
2 parents 587ec87 + 1f2df70 commit 98d8514

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1505
-238
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.4.0] - 2026-01-01
9+
10+
### Added
11+
- **Transport Icon Service**: Unique icons for all 12 Philippine transport modes with `TransportIconStyle` support.
12+
- **7-Layer Surface Container System**: Implemented Material 3 surface hierarchy for improved visual depth.
13+
- **Security Audit Documentation**: Comprehensive security audit in `docs/security/`.
14+
15+
### Changed
16+
- **Dark Mode Migration**: Updated to 2025 M3 standards with #121212 baseline.
17+
- **Security Hardening**: Removed `.env` from assets and improved null safety in `fare_formula.dart`.
18+
819
## [2.3.0+1] - 2025-01-01
920

1021
### Added

README.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
44
[![Flutter](https://img.shields.io/badge/Built%20with-Flutter-blue.svg)](https://flutter.dev/)
55
[![CI](https://github.com/MasuRii/ph-fare-calculator/actions/workflows/ci.yml/badge.svg)](https://github.com/MasuRii/ph-fare-calculator/actions/workflows/ci.yml)
6-
[![Version](https://img.shields.io/badge/version-2.3.0-blue.svg)](https://github.com/MasuRii/ph-fare-calculator/releases)
6+
[![Version](https://img.shields.io/badge/version-2.4.0-blue.svg)](https://github.com/MasuRii/ph-fare-calculator/releases)
77

88
**PH Fare Calculator** is a cross-platform mobile application designed to help tourists, expats, and locals estimate public transport costs across the Philippines.
99

@@ -26,6 +26,8 @@ Unlike city-centric navigation apps, this tool focuses on **"How much?"** rather
2626
- **Nationwide Coverage:** Works in Metro Manila, Cebu, Davao, and rural provinces.
2727
- **Modular Offline Maps:** Download maps by island group (Luzon, Visayas, Mindanao) to save storage space while ensuring functionality without internet.
2828
- **Material 3 Design:** A completely redesigned UI/UX that follows modern Material Design guidelines for better accessibility and aesthetics.
29+
- **Dark Mode (2025 M3 Standards):** Full dark mode implementation using Material Design 3 #121212 baseline with 7-layer surface container system for optimal eye comfort and accessibility.
30+
- **Transport Icon Service:** Unique icons for all 12 Philippine transport modes (Jeepney, Bus, Taxi, Train, Ferry, Tricycle, UV Express, Van, Motorcycle, EDSA Carousel, Pedicab, Kuliglig) with TransportIconStyle enum supporting 4 variants (filled, rounded, outlined, sharp).
2931
- **Hybrid Calculation Engine:**
3032
- **Dynamic:** Uses **OSRM (Open Source Routing Machine)** to calculate road distance for Jeeps, Taxis, Buses, and Tricycles.
3133
- **Static:** Uses embedded Lookup Tables for fixed-price modes like MRT/LRT (Trains) and Ferries.
@@ -38,6 +40,28 @@ Unlike city-centric navigation apps, this tool focuses on **"How much?"** rather
3840
- **Offline Reference:** View saved routes and static fare matrices (Cheat Sheets) without an internet connection using **Hive** local storage.
3941
- **Discount Support:** Built-in support for Student, Senior Citizen, and PWD discounts (20% off).
4042

43+
## 📋 Recent Changes (v2.4.0)
44+
45+
This release focuses on documentation improvements and security hardening to achieve A+ documentation assessment standards.
46+
47+
### Visual Improvements
48+
- **Dark Mode Migration to 2025 M3 Standards:** Implemented Material Design 3 dark theme with #121212 baseline color, replacing the previous dark cyan theme for better eye comfort and accessibility compliance.
49+
- **7-Layer Surface Container System:** Added comprehensive surface hierarchy with surfaceContainerLowest through surfaceBright roles for improved visual depth and accessibility.
50+
- **Transport Icon Service:** Created centralized `TransportIconService` providing unique icons for all 12 Philippine transport modes:
51+
- Jeepney, Bus (Ordinary/Aircon), Taxi, Train, Ferry, Tricycle, UV Express, Van, Motorcycle, EDSA Carousel, Pedicab, Kuliglig
52+
- `TransportIconStyle` enum with 4 variants: filled, rounded, outlined, sharp
53+
- Accessibility-friendly semantic labels for all icons
54+
55+
### Security Enhancements
56+
- **Environment Configuration:** Removed `.env` file from assets directory to eliminate any potential exposure risk in production builds.
57+
- **Null Safety:** Implemented comprehensive null safety patterns in fare formula parsing to prevent runtime exceptions.
58+
- **Security Audit:** Completed comprehensive security audit documenting findings and remediation steps.
59+
60+
### Documentation Updates
61+
- Created `docs/security/SECURITY_AUDIT_2026-01-01.md` with executive summary, findings, and remediation status
62+
- Updated `docs/architecture/TRANSPORT_ICONS_DESIGN.md` with complete API design for icon service
63+
- Added dark mode research documentation in `docs/research/mobile-dark-mode-standards-2025-01-01.md`
64+
4165
## 🛠 Tech Stack
4266

4367
- **Framework:** Flutter & Dart
38.3 KB
Loading
18.8 KB
Loading
65.3 KB
Loading
140 KB
Loading
240 KB
Loading
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3+
<background android:drawable="@color/ic_launcher_background"/>
4+
<foreground>
5+
<inset
6+
android:drawable="@drawable/ic_launcher_foreground"
7+
android:inset="16%" />
8+
</foreground>
9+
</adaptive-icon>
798 Bytes
Loading
411 Bytes
Loading

0 commit comments

Comments
 (0)