build method

  1. @override
Widget build(
  1. BuildContext context
)
override

//////////// ////////////

Implementation

// II.C - Build Method
///////////////
@override
Widget build(BuildContext context) {
  if (_lastSpeed != gpsSpeed || _lastSpeedLimit != speedLimit) {
    debugPrint("[DEBUG] SpeedDisplayWidget values changed - Speed: $gpsSpeed km/h (was $_lastSpeed), Limit: $speedLimit (was $_lastSpeedLimit) at ${DateTime.now()}");
    debugPrint("[DEBUG] Units setting: ${useImperialUnits ? 'Imperial' : 'Metric'}");
    _lastSpeed = gpsSpeed;
    _lastSpeedLimit = speedLimit;
  }
  return Container(
    width: RALISpacing.iconButtonSize * 2 + RALISpacing.sm, // Width of two control buttons plus the gap
    height: RALISpacing.iconButtonSize * 2 + RALISpacing.sm, // Height of two control buttons plus the gap
    decoration: BoxDecoration(
      color: RALIColors.surface,
      borderRadius: BorderRadius.circular(RALISpacing.radiusSm),
      boxShadow: [RALIElevations.floatingButton[0]],
    ),
    child: Row(
      mainAxisAlignment: MainAxisAlignment.spaceEvenly,
      children: [
        // GPS Speed
        _buildSpeedDisplay(
          speed: gpsSpeed,
          label: "GPS",
          isSpeedLimit: false,
        ),

        // Speed Limit (if available)
        _buildSpeedDisplay(
          speed: speedLimit,
          label: "LIMIT",
          isSpeedLimit: true,
        ),
      ],
    ),
  );
}