production
This commit is contained in:
@@ -23,6 +23,7 @@ import 'package:miler/views/Dashboard/profile/informations/order_alert_sound.dar
|
||||
import 'package:miler/views/Dashboard/summary/summary.dart';
|
||||
import 'package:miler/views/helpers/constants/miler_type.dart';
|
||||
import 'package:miler/views/helpers/constants/Colorconstants.dart';
|
||||
import 'package:miler/views/helpers/constants/narrative.dart';
|
||||
import 'package:miler/views/helpers/constants/design_constants.dart';
|
||||
import 'package:miler/views/helpers/widgets/miler_app_bar.dart';
|
||||
import 'package:miler/views/helpers/widgets/app_widgets.dart';
|
||||
@@ -163,13 +164,26 @@ class _ProfilePageState extends State<ProfilePage> {
|
||||
// rows on the bare background, so the whole tab read a shade dirtier than
|
||||
// the three either side of it. Four tabs of one app should not disagree
|
||||
// about what colour the paper is.
|
||||
// The brand shows through the sheet's two top corners — see [MilerSheet].
|
||||
// ── The corner has to have something behind it ──
|
||||
//
|
||||
// Account had the sheet but not the shape: its two top corners clipped
|
||||
// onto a white ground, so the curve revealed white and read as a
|
||||
// rounding artefact rather than as the brand coming through. The brand
|
||||
// goes behind the sheet, the same as the other three tabs; the page's
|
||||
// own colour is the sheet's [MilerSurface.canvas].
|
||||
backgroundColor: ColorConstants.primary,
|
||||
// Account was the odd tab out: no top bar at all, just a 28sp inline
|
||||
// heading scrolling away with the content, while the other three sat
|
||||
// under a fixed branded bar. Four tabs of one app should not disagree
|
||||
// about where the page title lives.
|
||||
appBar: MilerAppBar(title: 'Account', trailing: _bell()),
|
||||
appBar: MilerAppBar(
|
||||
title: 'Account',
|
||||
trailing: _bell(),
|
||||
// The bar's curve opens onto whatever is directly under it, and under
|
||||
// this bar is the sheet's canvas rather than the app's paper. See
|
||||
// [milerBrandSurface].
|
||||
pageColor: Narrative.canvas,
|
||||
),
|
||||
// ── Pull to refresh ──
|
||||
//
|
||||
// A pull here used to drag the page off the bottom of the screen and
|
||||
@@ -187,7 +201,7 @@ class _ProfilePageState extends State<ProfilePage> {
|
||||
// layered pages and one flat one. Same recipe here: canvas ground, one
|
||||
// panel per section, the labels on the canvas between them.
|
||||
body: MilerSheet(
|
||||
color: MilerSurface.canvas,
|
||||
color: Narrative.canvas,
|
||||
child: SettingsBody(
|
||||
onRefresh: _refresh,
|
||||
// The page's single left edge — the same gutter Activity uses, so a
|
||||
@@ -233,8 +247,8 @@ class _ProfilePageState extends State<ProfilePage> {
|
||||
// he has finished today, which is the glance he actually makes
|
||||
// between stops.
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.only(
|
||||
start: MilerSurface.panelGutter + MilerSurface.panelPad,
|
||||
padding: const EdgeInsetsDirectional.only(
|
||||
start: MilerSurface.panelGutter,
|
||||
),
|
||||
child: const SettingsLabel('Money'),
|
||||
),
|
||||
@@ -257,8 +271,8 @@ class _ProfilePageState extends State<ProfilePage> {
|
||||
SizedBox(height: 20.h),
|
||||
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.only(
|
||||
start: MilerSurface.panelGutter + MilerSurface.panelPad,
|
||||
padding: const EdgeInsetsDirectional.only(
|
||||
start: MilerSurface.panelGutter,
|
||||
),
|
||||
child: const SettingsLabel('Account'),
|
||||
),
|
||||
@@ -305,8 +319,8 @@ class _ProfilePageState extends State<ProfilePage> {
|
||||
SizedBox(height: 20.h),
|
||||
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.only(
|
||||
start: MilerSurface.panelGutter + MilerSurface.panelPad,
|
||||
padding: const EdgeInsetsDirectional.only(
|
||||
start: MilerSurface.panelGutter,
|
||||
),
|
||||
child: const SettingsLabel('Support'),
|
||||
),
|
||||
|
||||
@@ -52,20 +52,21 @@ class _FaqPageState extends State<FaqPage> {
|
||||
static const List<_Faq> _faqs = [
|
||||
_Faq(
|
||||
'What is a trip, and why can I only work one stop at a time?',
|
||||
'Your hub assigns a whole slot as one trip: pick up from every customer '
|
||||
'on it, then return to the hub. The stops are ordered for you, so the '
|
||||
'Your office assigns a whole slot as one trip: pick up from every '
|
||||
'customer on it, then return to base. The stops are ordered for you, '
|
||||
'so the '
|
||||
'app opens them one at a time — finish the active stop before the '
|
||||
'next one unlocks.',
|
||||
),
|
||||
_Faq(
|
||||
'A customer is not answering. Can I move them to the end?',
|
||||
'No — a trip keeps its order. Skip the stop with a reason instead. It '
|
||||
'comes out of your queue, your hub sees why, and the rest of the trip '
|
||||
'comes out of your queue, your office sees why, and the rest of the trip '
|
||||
'carries on unchanged.',
|
||||
),
|
||||
_Faq(
|
||||
'I am running late because of traffic. What should I do?',
|
||||
'Keep the app open so your location keeps reporting — the hub can see '
|
||||
'Keep the app open so your location keeps reporting — your office can see '
|
||||
'the delay without you calling. If a customer needs to know, use the '
|
||||
'call button on the stop.',
|
||||
),
|
||||
@@ -79,12 +80,12 @@ class _FaqPageState extends State<FaqPage> {
|
||||
_Faq(
|
||||
'I collected cash. Whose money is it?',
|
||||
'It is the customer\'s payment to the business you are picking up from, '
|
||||
'held by you until you hand it in at the hub. Record it in the app at '
|
||||
'held by you until you hand it in at the end of your shift. Record it in the app at '
|
||||
'the stop so the amount you carry and the amount expected match.',
|
||||
),
|
||||
_Faq(
|
||||
'When do I get paid, and what are points?',
|
||||
'Earnings are settled by your hub on its regular cycle — Earnings shows '
|
||||
'Earnings are settled by your office on its regular cycle — Earnings shows '
|
||||
'what has been counted so far. Points are separate: they are earned '
|
||||
'on completed trips and shown under Rewards.',
|
||||
),
|
||||
@@ -98,7 +99,7 @@ class _FaqPageState extends State<FaqPage> {
|
||||
'How do I change my name, photo or address?',
|
||||
'Account > Edit Profile for your name, photo and email; Account > Saved '
|
||||
'Address for your address. Your mobile number is fixed to the one '
|
||||
'your hub registered — contact support to change it.',
|
||||
'your office registered — contact support to change it.',
|
||||
),
|
||||
];
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ class HelpCenter extends StatelessWidget {
|
||||
),
|
||||
SettingsRow(
|
||||
icon: LucideIcons.phone,
|
||||
title: 'Call the hub',
|
||||
title: 'Call the office',
|
||||
subtitle: 'For anything that cannot wait',
|
||||
onTap: () => _dial(context, _supportPhone),
|
||||
),
|
||||
|
||||
@@ -489,7 +489,7 @@ class _RiderRewardsPageState extends State<RiderRewardsPage> {
|
||||
_ruleDivider(),
|
||||
_rule(
|
||||
icon: LucideIcons.route,
|
||||
title: 'Ride the route your hub assigned',
|
||||
title: 'Ride the route your office assigned',
|
||||
body:
|
||||
'Wandering well past the planned distance breaks the '
|
||||
'route check for that stop.',
|
||||
@@ -534,8 +534,8 @@ class _RiderRewardsPageState extends State<RiderRewardsPage> {
|
||||
SizedBox(width: 7.w),
|
||||
Expanded(
|
||||
child: Text(
|
||||
'Your hub sets what each status is worth and can change the '
|
||||
'thresholds. Ask your hub manager what your level earns you.',
|
||||
'Your office sets what each status is worth and can change the '
|
||||
'thresholds. Ask your manager what your level earns you.',
|
||||
style: TextStyle(
|
||||
fontSize: 11.5.sp,
|
||||
height: 1.45,
|
||||
|
||||
@@ -132,7 +132,7 @@ class _SavedAddressPageState extends State<SavedAddressPage> {
|
||||
children: [
|
||||
_editing ? _editor() : _addressCard(),
|
||||
const SettingsHint(
|
||||
'Your hub uses this to work out which slots start near you, '
|
||||
'Your office uses this to work out which slots start near you, '
|
||||
'and it is where your shift is assumed to end.',
|
||||
),
|
||||
SizedBox(height: 24.h),
|
||||
|
||||
Reference in New Issue
Block a user