build method
- BuildContext context
override
//////////// ////////////
Implementation
// II.C - Build Method
///////////////
@override
Widget build(BuildContext context) {
return Container(
padding: const EdgeInsets.all(RALISpacing.md),
decoration: BoxDecoration(
color: RALIColors.surface,
borderRadius: BorderRadius.circular(RALISpacing.radiusSm),
boxShadow: [RALIElevations.card[0]],
),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
// Destination name
Text(
'Route to $destinationName',
style: RALITypography.titleMedium,
overflow: TextOverflow.ellipsis,
),
const SizedBox(height: RALISpacing.sm),
// Distance and duration info
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
// Distance with unit toggle
GestureDetector(
onTap: () => onUnitToggle(!useImperialUnits),
child: Row(
children: [
Text(
_formatDistance(),
style: RALITypography.bodyMedium,
),
const SizedBox(width: 4),
const Icon(Icons.swap_horiz, size: 16),
],
),
),
// Duration
Text(
_formatDuration(),
style: RALITypography.bodyMedium,
),
],
),
const SizedBox(height: RALISpacing.md),
// Action buttons
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
TextButton(
onPressed: onCancel,
child: const Text('Cancel'),
),
ElevatedButton.icon(
onPressed: onStartNavigation,
icon: const Icon(Icons.navigation),
label: const Text('Start Navigation'),
),
],
),
],
),
);
}