import 'package:flutter/material.dart';
import 'dart:math' as math;

class WavePainter extends CustomPainter {
  final double animation;
  final Color color;

  WavePainter({required this.animation, required this.color});

  @override
  void paint(Canvas canvas, Size size) {
    final paint = Paint()
      ..color = color
      ..strokeWidth = 1.5
      ..style = PaintingStyle.stroke;

    final path = Path();

    // Create simplified wave patterns (reduced from 3 to 2 waves)
    for (int i = 0; i < 2; i++) {
      path.reset();
      final double waveHeight = 15 + (i * 8);
      final double frequency = 0.015 + (i * 0.008);
      final double phase = animation + (i * math.pi / 2);

      path.moveTo(0, size.height * 0.4 + (i * 40));

      for (double x = 0; x <= size.width; x += 8) {
        final y =
            size.height * 0.4 +
            (i * 40) +
            math.sin((x * frequency) + phase) * waveHeight;
        path.lineTo(x, y);
      }

      canvas.drawPath(path, paint..color = color.withOpacity(0.2 - (i * 0.05)));
    }
  }

  @override
  bool shouldRepaint(covariant CustomPainter oldDelegate) => true;
}
