import 'package:flutter/material.dart'; import 'package:hl_lieferservice/domain/entity/delivery.dart'; import 'package:hl_lieferservice/domain/entity/tour_details.dart'; import 'package:hl_lieferservice/feature/delivery/detail/model/delivery_payment_status.dart'; import 'package:hl_lieferservice/feature/delivery/detail/presentation/widget/delivered_items_card.dart'; import 'package:hl_lieferservice/feature/delivery/detail/presentation/widget/payment_breakdown_card.dart'; import 'package:hl_lieferservice/feature/delivery/detail/presentation/widget/payment_record_card.dart'; /// Step 6 — Übersicht & Abschluss. /// /// Listet alle Artikel mit der **tatsächlich auszuliefernden Menge** auf, /// dazu die Betragsaufstellung und den Stand der Zahlung. Die Zahlungsart /// wird nicht mehr hier gewählt, sondern im Step „Zahlung" abgewickelt und /// protokolliert — die Übersicht zeigt das Ergebnis nur an. /// /// Der „Unterschreiben"-Button lebt in der Bottom-Navigation des /// Page-Wrappers; hier zeigen wir den Resümee-Block, der direkt vor der /// Unterschrift steht. class StepSummary extends StatelessWidget { const StepSummary({super.key, required this.delivery, required this.details}); final Delivery delivery; final TourDetails details; @override Widget build(BuildContext context) { final status = DeliveryPaymentStatus.of(delivery, details); return ListView( padding: const EdgeInsets.fromLTRB(16, 16, 16, 24), children: [ const _SectionHeader(text: 'Ausgelieferte Artikel'), const SizedBox(height: 8), DeliveredItemsCard(delivery: delivery, details: details), const SizedBox(height: 24), const _SectionHeader(text: 'Zahlung'), const SizedBox(height: 8), PaymentBreakdownCard( status: status, credit: details.creditOf(delivery.id), ), const SizedBox(height: 12), PaymentRecordCard(status: status), const SizedBox(height: 16), const _SignHint(), ], ); } } class _SectionHeader extends StatelessWidget { const _SectionHeader({required this.text}); final String text; @override Widget build(BuildContext context) { return Text( text, style: Theme.of( context, ).textTheme.titleMedium?.copyWith(fontWeight: FontWeight.w700), ); } } class _SignHint extends StatelessWidget { const _SignHint(); @override Widget build(BuildContext context) { final theme = Theme.of(context); return Container( padding: const EdgeInsets.all(12), decoration: BoxDecoration( color: theme.colorScheme.primary.withValues(alpha: 0.07), borderRadius: BorderRadius.circular(8), border: Border.all( color: theme.colorScheme.primary.withValues(alpha: 0.3), ), ), child: Row( children: [ Icon(Icons.draw_outlined, color: theme.colorScheme.primary), const SizedBox(width: 10), Expanded( child: Text( 'Mit „Unterschreiben" unten schließt der Kunde den Vorgang ab.', style: TextStyle(fontSize: 13, color: theme.colorScheme.primary), ), ), ], ), ); } }