production

This commit is contained in:
2026-08-28 11:13:15 +05:30
parent d7348e253f
commit 5723d373b2
162 changed files with 17924 additions and 7026 deletions

View File

@@ -322,9 +322,10 @@ class _CollectPaymentPageState extends State<CollectPaymentPage> {
if (_due <= 0) return _nothingToCollect();
return Scaffold(
// White page, tinted panels — the same inversion the verification screens
// it follows now use. See the note there.
backgroundColor: ColorConstants.pureSurface,
// Grey page, white bands — the same shape the verification screens this
// follows now take, so the money step reads as the next page of one flow
// rather than a different screen. See [MilerBand].
backgroundColor: ColorConstants.daylightSurface,
// Same bar as the verification screens this follows: taller, clear of
// the notch, title at a size that survives sunlight and arm's length.
appBar: milerPageBar(
@@ -336,18 +337,19 @@ class _CollectPaymentPageState extends State<CollectPaymentPage> {
Expanded(
child: SingleChildScrollView(
physics: const BouncingScrollPhysics(),
padding: EdgeInsets.fromLTRB(14.w, 14.h, 14.w, 24.h),
// The bands carry the gutter. See [MilerBand].
padding: EdgeInsets.only(bottom: 24.h),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_amountCard(),
SizedBox(height: 14.h),
SizedBox(height: MilerBand.gap),
_orderCard(),
SizedBox(height: 14.h),
SizedBox(height: MilerBand.gap),
_methodCard(),
SizedBox(height: 14.h),
SizedBox(height: MilerBand.gap),
_shortCard(),
SizedBox(height: 14.h),
SizedBox(height: MilerBand.gap),
_custodyNote(),
],
),
@@ -366,13 +368,8 @@ class _CollectPaymentPageState extends State<CollectPaymentPage> {
// door, and a number he can edit is a number he will be argued into
// changing.
Widget _amountCard() {
return Container(
width: double.infinity,
padding: EdgeInsets.fromLTRB(18.w, 20.h, 18.w, 18.h),
decoration: BoxDecoration(
color: ColorConstants.cardSurface,
borderRadius: BorderRadius.circular(DesignConstants.radiusXl),
),
return MilerBand(
padding: EdgeInsets.fromLTRB(MilerBand.pad, 20.h, MilerBand.pad, 18.h),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -822,13 +819,10 @@ class _CollectPaymentPageState extends State<CollectPaymentPage> {
// once, plainly, at the moment he takes it.
Widget _custodyNote() {
final onBehalf = _shipper.isNotEmpty ? _shipper : 'the shipper';
return Container(
width: double.infinity,
padding: EdgeInsets.all(13.r),
decoration: BoxDecoration(
color: ColorConstants.tertiary.withValues(alpha: 0.08),
borderRadius: BorderRadius.circular(DesignConstants.radiusXl),
),
return MilerBand(
color: ColorConstants.tint(ColorConstants.tertiary, 0.08),
rail: ColorConstants.tertiary,
padding: EdgeInsets.fromLTRB(MilerBand.pad, 13.h, MilerBand.pad, 13.h),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -837,7 +831,7 @@ class _CollectPaymentPageState extends State<CollectPaymentPage> {
Expanded(
child: Text(
'This money belongs to $onBehalf, not to you and not to Miler. '
'Deposit it at the hub at the end of your shift.',
'Hand it in at the end of your shift.',
style: TextStyle(
fontSize: 12.sp,
height: 1.4,
@@ -1049,13 +1043,7 @@ class _CollectPaymentPageState extends State<CollectPaymentPage> {
// ── Shared pieces ──────────────────────────────────────────────────────
Widget _card({required String title, required Widget child}) {
return Container(
width: double.infinity,
padding: EdgeInsets.all(16.r),
decoration: BoxDecoration(
color: ColorConstants.cardSurface,
borderRadius: BorderRadius.circular(DesignConstants.radiusXl),
),
return MilerBand(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [