import 'package:flutter/material.dart'; import 'package:hl_lieferservice/domain/entity/delivery_recipient.dart'; /// Kompakter Hinweis in Listen-Kacheln, wenn an eine andere Person oder /// Anschrift geliefert wird als an den Besteller: „Bestellt von: ". /// /// Geteilt zwischen Beladen-, Sortier- und Auslieferungs-Listen, damit der /// Fahrer überall gleich erkennt, dass Empfänger ≠ Kunde ist. class OrdererHint extends StatelessWidget { const OrdererHint({super.key, required this.ordererName}); final String ordererName; @override Widget build(BuildContext context) { final color = Colors.deepOrange.shade800; return Padding( padding: const EdgeInsets.only(top: 4), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.only(top: 1), child: Icon(Icons.alt_route, size: 14, color: color), ), const SizedBox(width: 4), Expanded( child: Text( 'Bestellt von: $ordererName', style: TextStyle( fontSize: 12, fontWeight: FontWeight.w600, color: color, ), ), ), ], ), ); } } /// `ListTile.subtitle` für Lieferungen: Lieferanschrift und, falls der /// Empfänger vom Besteller abweicht, darunter der [OrdererHint]. class RecipientSubtitle extends StatelessWidget { const RecipientSubtitle({ super.key, required this.recipient, required this.ordererName, this.addressStyle, }); final DeliveryRecipient recipient; final String ordererName; final TextStyle? addressStyle; @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ Text(recipient.address.oneLine, style: addressStyle), if (recipient.differsFromOrderer) OrdererHint(ordererName: ordererName), ], ); } }