import 'package:flutter/material.dart';
import 'package:furibase/components/navbar_shape_2.dart';

class NavbarContainer extends StatelessWidget {
  const NavbarContainer({super.key});

  @override
  Widget build(BuildContext context) {
    var screen = MediaQuery.of(context).size;
    return Positioned(
      child: Container(
        width: screen.width,
        height: screen.height,
        color: const Color.fromARGB(255, 38, 139, 92),
        child: CustomPaint(child: CustomPaint(painter: MyShape())),
      ),
    );
  }
}

class MyShape extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    // TODO: implement paint
    Paint paint =
        new Paint()
          ..color = const Color.fromARGB(255, 166, 12, 66)
          ..style = PaintingStyle.fill;

    Path path = Path();
    path.moveTo(20, size.height / 2); // Start at bottom-left

    // shape curve kiri
    path.quadraticBezierTo(
      size.width * 0.04,
      size.height * 0.7, // Control point
      size.width * 0.09, // almost half
      size.height * 0.8, // End point
    );

    path.lineTo(size.width * 0.92, size.height - 20);

    // Curve kanan bawah
    path.quadraticBezierTo(
      size.width * 0.96,
      size.height * 0.7, // Control point
      size.width * 0.964,
      size.height / 2, // End point (bottom-right)
    );

    // curve ujung kanan atas
    path.quadraticBezierTo(
      size.width * 0.95,
      size.height * 0.28, // Control point
      size.width * 0.91,
      size.height * 0.23, // End point (bottom-right)
    );

    path.lineTo(size.width / 2 + 80, size.height * 0.23);
    // ==========
    // sebelum curve tengah
    path.quadraticBezierTo(
      size.width / 2 + 30,
      18,
      size.width / 2 + 10,
      5, // End point (bottom-right)
    );

    // ==========================================
    //==========================================
    // curve tengah sebelah kanan
    path.quadraticBezierTo(
      size.width / 2 - 20,
      13,
      size.width / 2 + 2,
      size.height * 0.030,
    );

    // sebelah kiri curve
    path.quadraticBezierTo(
      (size.width / 2) * 0.92,
      size.height * 0.189,
      size.width / 2 - 40,
      18,
    );

    // ===============================================
    // setelah curve tengah
    path.quadraticBezierTo(
      size.width / 2 - 30,
      size.height * 0.188, // Control point
      size.width / 2 - 80,
      20, // End point (bottom-right)
    );
    path.lineTo(size.width * 0.1, 20);

    path.quadraticBezierTo(
      24,
      size.height * 0.2, // Control point
      20,
      size.height / 2, // End point (bottom-right)
    );

    path.close();
    canvas.drawPath(path, paint);
  }

  @override
  bool shouldRepaint(covariant CustomPainter oldDelegate) {
    // TODO: implement shouldRepaint
    throw false;
  }
}
