import 'package:flutter/material.dart';

/// 电池健康度摘要组件（健康度 + cycles + mAh）
class BatterySummary extends StatelessWidget {
  final double healthPercent;
  final int cycleCount;
  final double currentCap;
  final int designCap;

  const BatterySummary({
    super.key,
    required this.healthPercent,
    required this.cycleCount,
    required this.currentCap,
    required this.designCap,
  });

  @override
  Widget build(BuildContext context) {
    return Row(
      crossAxisAlignment: CrossAxisAlignment.end,
      children: [
        // 健康度大数字
        Row(
          crossAxisAlignment: CrossAxisAlignment.baseline,
          textBaseline: TextBaseline.alphabetic,
          children: [
            Text(
              healthPercent.toStringAsFixed(1),
              style: TextStyle(
                fontSize: 40,
                fontWeight: FontWeight.w500,
                height: 1.0,
                color: healthPercent < 70 ? Colors.red : Colors.black,
              ),
            ),
            const SizedBox(width: 2),
            Text(
              '%',
              style: TextStyle(
                fontSize: 20,
                fontWeight: FontWeight.w300,
                height: 1.0,
                color: healthPercent < 70 ? Colors.red : Colors.grey.shade600,
              ),
            ),
          ],
        ),
        const Spacer(),
        // cycles + mAh
        Column(
          crossAxisAlignment: CrossAxisAlignment.end,
          children: [
            Text(
              '$cycleCount cycles', // ✅ 修正：去掉下划线，使用 cycleCount
              style: const TextStyle(
                fontSize: 16,
                fontWeight: FontWeight.w500,
                height: 1.2,
              ),
            ),
            const SizedBox(height: 4),
            Text.rich(
              TextSpan(
                children: [
                  TextSpan(
                    text: currentCap.toStringAsFixed(0),
                    style: const TextStyle(
                      fontSize: 20,
                      fontWeight: FontWeight.w300,
                    ),
                  ),
                  TextSpan(
                    text: ' / ',
                    style: TextStyle(
                      fontSize: 20,
                      fontWeight: FontWeight.w300,
                      color: Colors.grey.shade500,
                    ),
                  ),
                  TextSpan(
                    text: '${designCap}mAh',
                    style: const TextStyle(
                      fontSize: 20,
                      fontWeight: FontWeight.w300,
                    ),
                  ),
                ],
              ),
              style: const TextStyle(
                fontSize: 20,
                fontWeight: FontWeight.w300,
                height: 1.0,
              ),
            ),
          ],
        ),
      ],
    );
  }
}
