build method

  1. @override
Widget build(
  1. 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'),
            ),
          ],
        ),
      ],
    ),
  );
}