miler map

This commit is contained in:
2026-09-09 12:55:23 +05:30
parent 074cc0eccf
commit 127fa062ed
143 changed files with 4315 additions and 2291 deletions

View File

@@ -3,6 +3,7 @@ import 'package:lucide_icons_flutter/lucide_icons.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:miler/views/helpers/constants/Colorconstants.dart';
import 'package:miler/views/helpers/constants/miler_surface.dart';
import 'package:miler/views/helpers/constants/design_constants.dart';
import 'package:miler/views/helpers/constants/Font_constant.dart';
import 'package:miler/views/helpers/widgets/app_widgets.dart';
@@ -192,7 +193,14 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
// Once the order exists, going back would offer to create it twice.
canPop: !_created && !_busy,
child: Scaffold(
backgroundColor: ColorConstants.daylightSurface,
// ── The canvas, not the old slate ──
//
// This was `daylightSurface` — #DEE3EA, the heavy grey the whole app
// used to sit on. The ground moved to a near-white canvas when cards
// took on a hairline and a lift (see [Narrative]); these screens kept
// the old value, so the flow a rider spends the most time in was the
// one place still showing dark bars between its sections.
backgroundColor: MilerSurface.canvas,
appBar: _created ? null : milerPageBar('Review & pay'),
body: SafeArea(child: _created ? _successView() : _reviewView()),
),
@@ -306,7 +314,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
label,
style: TextStyle(
fontSize: 10.5.sp,
fontWeight: FontWeight.w700,
fontWeight: FontWeight.w800,
letterSpacing: 0.6,
color: ColorConstants.secondaryText,
fontFamily: FontConstants.fontFamily,
@@ -317,7 +325,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
address.isEmpty ? 'Not captured' : address,
style: TextStyle(
fontSize: 13.5.sp,
fontWeight: FontWeight.w600,
fontWeight: FontWeight.w700,
height: 1.3,
color: address.isEmpty
? ColorConstants.secondaryText
@@ -332,7 +340,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
tail,
style: TextStyle(
fontSize: 11.5.sp,
fontWeight: FontWeight.w500,
fontWeight: FontWeight.w600,
color: ColorConstants.secondaryText,
fontFamily: FontConstants.fontFamily,
),
@@ -403,7 +411,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
'Amount to collect',
style: TextStyle(
fontSize: 13.sp,
fontWeight: FontWeight.w600,
fontWeight: FontWeight.w700,
color: ColorConstants.slateText,
fontFamily: FontConstants.fontFamily,
),
@@ -413,7 +421,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
_amountLabel,
style: TextStyle(
fontSize: 20.sp,
fontWeight: FontWeight.w800,
fontWeight: FontWeight.w900,
letterSpacing: -0.4,
color: ColorConstants.primary,
fontFamily: FontConstants.fontFamily,
@@ -434,9 +442,15 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
duration: DesignConstants.motionState,
padding: EdgeInsets.symmetric(vertical: 12.h),
decoration: BoxDecoration(
// The unselected tile was `daylightSurface` — the old slate — so on a
// white card the option he has *not* chosen was the heaviest shape in
// the group, and the two read as one filled and one disabled rather
// than as a choice between two. Unselected is the card's own white
// with a hairline, which is how every other pair of options in this
// flow is drawn.
color: selected
? ColorConstants.tint(ColorConstants.primary, 0.08)
: ColorConstants.daylightSurface,
: ColorConstants.pureSurface,
borderRadius: BorderRadius.circular(DesignConstants.radiusLg),
border: Border.all(
color: selected
@@ -459,7 +473,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
m.label,
style: TextStyle(
fontSize: 12.5.sp,
fontWeight: FontWeight.w700,
fontWeight: FontWeight.w800,
color: selected
? ColorConstants.primary
: ColorConstants.slateText,
@@ -509,7 +523,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
label,
style: TextStyle(
fontSize: 12.5.sp,
fontWeight: FontWeight.w500,
fontWeight: FontWeight.w600,
color: ColorConstants.secondaryText,
fontFamily: FontConstants.fontFamily,
),
@@ -519,7 +533,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
value.isEmpty ? '—' : value,
style: TextStyle(
fontSize: 13.sp,
fontWeight: FontWeight.w700,
fontWeight: FontWeight.w800,
color: ColorConstants.slateText,
fontFamily: FontConstants.fontFamily,
),
@@ -533,7 +547,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
note,
style: TextStyle(
fontSize: 10.5.sp,
fontWeight: FontWeight.w500,
fontWeight: FontWeight.w600,
color: ColorConstants.secondaryText,
fontFamily: FontConstants.fontFamily,
),
@@ -624,7 +638,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 19.sp,
fontWeight: FontWeight.w800,
fontWeight: FontWeight.w900,
letterSpacing: -0.4,
color: ColorConstants.slateText,
fontFamily: FontConstants.fontFamily,
@@ -638,7 +652,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 13.sp,
fontWeight: FontWeight.w500,
fontWeight: FontWeight.w600,
color: ColorConstants.secondaryText,
fontFamily: FontConstants.fontFamily,
),
@@ -654,7 +668,9 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
vertical: 10.h,
),
decoration: BoxDecoration(
color: ColorConstants.daylightSurface,
// A well inside a white card, so it takes the canvas
// rather than the old slate the page used to sit on.
color: MilerSurface.canvas,
borderRadius: BorderRadius.circular(
DesignConstants.radiusFull,
),
@@ -673,7 +689,7 @@ class _ShipmentReviewPageState extends State<ShipmentReviewPage>
tracking,
style: TextStyle(
fontSize: 13.sp,
fontWeight: FontWeight.w700,
fontWeight: FontWeight.w800,
letterSpacing: 0.3,
color: ColorConstants.slateText,
fontFamily: FontConstants.fontFamily,