device infos
This commit is contained in:
@@ -107,6 +107,44 @@ class ColorConstants {
|
||||
static const Color onWarning = Color(0xFFFFFFFF);
|
||||
static const Color warningContainer = Color(0xFFFEF3C7);
|
||||
|
||||
/// **Waiting on the rider** — the state word on a stop he has not decided yet.
|
||||
///
|
||||
/// ── Why a fourth amber, and not one of the three above ──
|
||||
///
|
||||
/// Pending was neutral grey, on a real argument: on a fresh morning *every*
|
||||
/// stop is pending, so painting them all in the exception hue opens the whole
|
||||
/// screen in warning and leaves nothing to say with when something actually
|
||||
/// goes wrong. That argument is still right about [warning], which is this
|
||||
/// app's word for *something has gone off plan* — a skipped stop, a short
|
||||
/// payment, a bag that never arrived.
|
||||
///
|
||||
/// What it got wrong is that "nobody has done anything about this yet" is
|
||||
/// itself worth a colour. A rider scanning a run had to infer it from the
|
||||
/// *absence* of one, which is the single thing a glance cannot do, and
|
||||
/// undecided work is precisely the work the screen exists to move.
|
||||
///
|
||||
/// So it gets its own: a gold that reads as "waiting" rather than as
|
||||
/// "wrong", far enough round the wheel from the burnt orange of [warning]
|
||||
/// that a pending stop and a skipped one are two different marks — and dark
|
||||
/// enough to be *text*, which no honest yellow on a light ground can be
|
||||
/// without going most of the way to brown. 5.54:1 on white, 4.83:1 on the
|
||||
/// canvas, 4.81:1 on [cardSurface]: AA at the 13.5sp these words are set at,
|
||||
/// on every surface Home draws them on.
|
||||
static const Color pendingAmber = Color(0xFF8A6100);
|
||||
|
||||
/// **In the rider's hands** — collected from the counter, not yet delivered.
|
||||
///
|
||||
/// Green is the wrong end of the story for it. [acceptGreen] now marks the
|
||||
/// moment the rider *takes a stop on*, and green everywhere else in this app
|
||||
/// means finished — so a bag that has been picked up but not delivered would
|
||||
/// have worn either "already decided" or "already done", and it is neither.
|
||||
///
|
||||
/// This is the app's own delivery hue, which is exactly what a picked bag has
|
||||
/// become: work that has left the pickup leg and belongs to the round. Same
|
||||
/// value as [deliveryAccent], named separately so the two can part company if
|
||||
/// the route map ever needs its own.
|
||||
static const Color pickedBlue = deliveryAccent;
|
||||
|
||||
// Extended Color Palette for Professional UI
|
||||
/// Captions, labels and secondary body text — the second most-used colour in
|
||||
/// the app after [slateText], on 89 call sites across every screen.
|
||||
|
||||
@@ -1989,7 +1989,7 @@ class ErrorRetry extends StatelessWidget {
|
||||
/// ─────────────────────────────────────────────────────────────────────────
|
||||
class StopSourceLine extends StatelessWidget {
|
||||
final String source;
|
||||
final String bagLabel;
|
||||
final String printedLabel;
|
||||
|
||||
/// Dims both when the stop is not actionable, matching the card around it.
|
||||
final bool muted;
|
||||
@@ -2001,12 +2001,12 @@ class StopSourceLine extends StatelessWidget {
|
||||
const StopSourceLine({
|
||||
super.key,
|
||||
required this.source,
|
||||
required this.bagLabel,
|
||||
required this.printedLabel,
|
||||
this.muted = false,
|
||||
this.topGap = 6,
|
||||
});
|
||||
|
||||
bool get _isEmpty => source.isEmpty && bagLabel.isEmpty;
|
||||
bool get _isEmpty => source.isEmpty && printedLabel.isEmpty;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -2053,12 +2053,12 @@ class StopSourceLine extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
),
|
||||
if (source.isNotEmpty && bagLabel.isNotEmpty)
|
||||
if (source.isNotEmpty && printedLabel.isNotEmpty)
|
||||
const SizedBox(width: 8),
|
||||
if (bagLabel.isNotEmpty)
|
||||
if (printedLabel.isNotEmpty)
|
||||
Flexible(
|
||||
child: Text(
|
||||
'Bag $bagLabel',
|
||||
printedLabel,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(
|
||||
|
||||
Reference in New Issue
Block a user