import 'dart:io';

import 'package:dotted_line/dotted_line.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:nearledaily/view/account/share_app.dart';
import 'package:nearledaily/view/authentication/login_view.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:shimmer/shimmer.dart';

import '../../domain/provider/profile/create_request.dart';

import '../../constants/color_constants.dart';
import '../../constants/font_constants.dart';
import '../../controllers/account_controller/profile.dart';
import '../../controllers/authentication/auth_controller.dart';
import '../../domain/repository/authentication/auth_repository.dart';
import '../../service/bindings.dart';
import '../../widgets/text_widget.dart';
import '../orders/orders_by_tenant.dart';
import 'edit_profile_view.dart';
import 'faq_view.dart';
import 'help/create_request.dart';
import 'notification_settings_view.dart';

class AccountPage extends StatefulWidget {
  const AccountPage({super.key});

  @override
  State<AccountPage> createState() => _AccountPageState();
}

class _AccountPageState extends State<AccountPage> {
  static const Color primaryColor = Color(0xFF662582);

  final controller = Get.put(AccountController());

  String Name = '';
  String Profile = '';
  String Number = '';

  @override
  void initState() {
    super.initState();
    _loadProfile();
  }

  Future<void> _loadProfile() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    int? id = prefs.getInt('customerId');
    if (id == null) return;

    final repo = LoginRepository();
    final fetchedProfile = await repo.fetchProfile(id.toString());

    if (fetchedProfile != null) {
      setState(() {
        Name = fetchedProfile.firstname ?? '';
        Profile = fetchedProfile.profileimage ?? '';
        Number = fetchedProfile.contactno ?? '';
      });
      print(Name);
      print(Profile);
      print(Number);
    }
  }

  Widget _profileShimmer() {
    return Container(
      margin: const EdgeInsets.all(16),
      padding: const EdgeInsets.all(16),
      decoration: BoxDecoration(
        color: Colors.white,
        borderRadius: BorderRadius.circular(16),
      ),
      child: Row(
        children: [
          Shimmer.fromColors(
            baseColor: Colors.grey.shade300,      // shimmer base
            highlightColor: Colors.grey.shade100, // shimmer highlight
            child: CircleAvatar(
              radius: 28,
              backgroundColor: Colors.grey.shade200, // light background
              child: Icon(
                Icons.person,
                size: 28,
                color: Colors.grey.shade500,        // darker icon color
              ),
            ),
          ),
          const SizedBox(width: 12),
          Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Shimmer.fromColors(
                baseColor: Colors.grey[300]!,
                highlightColor: Colors.grey[100]!,
                child: Container(
                  height: 14,
                  width: 120,
                  decoration: BoxDecoration(
                    color: Colors.white, // <-- background color goes here
                    borderRadius: BorderRadius.circular(8), // <-- rounded corners
                  ),
                ),
              ),
              const SizedBox(height: 6),
              Shimmer.fromColors(
                baseColor: Colors.grey[300]!,
                highlightColor: Colors.grey[100]!,
                child: Container(
                  height: 12,
                  width: 90,
                  decoration: BoxDecoration(
                    color: Colors.white,
                    borderRadius: BorderRadius.circular(8), // <-- add radius here too
                  ),
                ),
              ),

            ],
          )
        ],
      ),
    );
  }

  @override
  Widget build(BuildContext context) {

    SystemChrome.setSystemUIOverlayStyle(
      const SystemUiOverlayStyle(
        statusBarColor: Colors.white, // or transparent
        statusBarIconBrightness: Brightness.dark, // Android
        statusBarBrightness: Brightness.light, // iOS
      ),
    );
    return SafeArea(
      child: Scaffold(
        extendBodyBehindAppBar: false,
        backgroundColor: Color(0xFFF6F6F6),

        appBar: AppBar(
          backgroundColor: Colors.white,
          surfaceTintColor: Colors.transparent,

          // 🔥 Prevent color overlay when scrolled
          scrolledUnderElevation: 0,
          animateColor: false,            // ✨ prevent color change on scroll
          elevation: 0,
          title: ReusableTextWidget(
            text: "Profile",
            fontSize: 20,
            fontWeight: FontWeight.w600,
            fontFamily: FontConstants.fontFamily,
            color: Colors.black,
          ),
        ),

        body: Obx(
              () => SingleChildScrollView(
                physics: const ClampingScrollPhysics(),
                child: Column(
              children: [
                const SizedBox(height: 20),

                /// PROFILE CARD (EXACT LIKE IMAGE)
                controller.isLoading.value
                    ? _profileShimmer()
                    : GestureDetector(

                  onTap: () async {
                    final res = await Get.to(
                          () => EditProfilePage(),
                      // transition: Transition.fade,          // Your desired transition
                      // duration: Duration(milliseconds: 400), // Duration of the transition
                    );

                    if (res != null && res['status'] == true) {
                      _loadProfile();
                    }
                  },
                      child: Container(

                                        margin: const EdgeInsets.symmetric(horizontal: 11),
                                        padding: const EdgeInsets.only(
                      left: 16,
                      right: 16,
                      top: 30,
                      bottom: 30,
                                        ),

                                        decoration: BoxDecoration(
                      gradient: LinearGradient(
                        colors: [
                          Color(0xFF1B1333), // Dark background (luxury dark purple/indigo)
                          Color(0xFF662582).withOpacity(0.9), // Primary color accent
                        ],
                        begin: Alignment.topLeft,
                        end: Alignment.bottomRight,
                      ),
                        borderRadius: BorderRadius.circular(16),
                      border: Border.all(
                        color: Colors.black12,
                        width: 0.30
                      ),
                      boxShadow: [
                        BoxShadow(
                          color: Colors.black.withOpacity(0.03),
                          blurRadius: 2,
                          offset: const Offset(0, 3),
                        ),
                      ],

                                        ),
                                        child: Row(
                      children: [
                        CircleAvatar(
                          radius: 28,
                          backgroundColor: Colors.grey.shade300,
                          backgroundImage:
                          Profile.isNotEmpty ? NetworkImage(Profile) : null,
                          child: Profile.isEmpty
                              ? const Icon(Icons.person, size: 26)
                              : null,
                        ),
                        const SizedBox(width: 14),
                        Expanded(
                          child: Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              ReusableTextWidget(
                                text: Name,
                                fontSize: 16,
                                fontWeight: FontWeight.w600,
                                fontFamily: FontConstants.fontFamily,
                                color: Colors.white,
                              ),
                              const SizedBox(height: 4),
                              ReusableTextWidget(
                                text: Number,
                                fontSize: 13,
                                fontWeight: FontWeight.w400,
                                fontFamily: FontConstants.fontFamily,
                                color: Colors.white,
                              ),
                            ],
                          ),
                        ),

                      ],
                                        ),
                                      ),
                    ),

                const SizedBox(height: 24),

                /// ACCOUNT

                controller.isLoading.value
                    ? accountListShimmerSingleBox()
                    :
                _section(
                  title: "Account",
                  children: [
                    _tile(
                      icon: Icons.person,
                      title: "Manage Profile",
                      onTap: () async {
                        final res = await Get.to(
                              () => EditProfilePage(),
                          // transition: Transition.fade,          // Your desired transition
                          // duration: Duration(milliseconds: 400), // Duration of the transition
                        );

                        if (res != null && res['status'] == true) {
                          _loadProfile();
                        }
                      },
                    ),


                    _divider(),
                    _tile(
                      icon: Icons.reorder,
                      title: "Your Orders",
                        onTap: () => Get.to(
                              () => const OrdersByStoreScreen(showBackArrow: true),
                          // transition: Transition.fade, // or any transition you prefer
                          // duration: Duration(milliseconds: 400),
                        ),


                    ),
                    _divider(),
                    _tile(
                      icon: Icons.delete_outline,
                      title: "Delete Account",
                      isLogout: true,
                      onTap: () {
                        showDeleteAccountDialog();
                      },
                    ),

                  ],
                ),

                /// PREFERENCES
                controller.isLoading.value
                    ? Preferences()
                    :
                _section(
                  title: "Preferences",
                  children: [
                    _tile(
                      icon: Icons.star_rate,
                      title: "Rate the app in Playstore",
                      onTap: controller.rateApp,
                    ),
                    _divider(),
                    _tile(
                      icon: Icons.group_add,
                      title: "Refer a Friend",
                        onTap: () => Get.to(
                              () =>  ReferEarnScreen(),
                          // transition: Transition.fade, // or any style you like
                          // duration: Duration(milliseconds: 400),
                        ),
                    ),
                  ],
                ),

                /// SUPPORT

                controller.isLoading.value
                    ? Preferences()
                    :
                _section(
                  title: "Support",
                  children: [
                    _tile(
                      icon: Icons.support_agent,
                      title: "Help & Support",
                        onTap: () => Get.to(
                              () => Help_Support(),
                          // transition: Transition.fade, // simple fade
                          // duration: Duration(milliseconds: 400),
                        ),

                    ),
                    _divider(),
                    _tile(
                      icon: Icons.question_answer,
                      title: "Faq",
                      onTap: () => Get.to(
                            () => FaqView(),
                        // transition: Transition.fade, // or any transition you like
                        // duration: Duration(milliseconds: 400),
                      ),

                    ),
                    _divider(),
                    _tile(
                      icon: Icons.logout,
                      title: "Logout",
                      isLogout: true,
                      onTap: () {
                        showLogoutDialog();
                      },
                    ),

                  ],
                ),

                const SizedBox(height: 20),

                /// LOGOUT
                // GestureDetector(
                //   onTap: showLogoutDialog,
                //   child: Container(
                //     margin: const EdgeInsets.symmetric(horizontal: 16),
                //     padding: const EdgeInsets.symmetric(vertical: 14),
                //     decoration: BoxDecoration(
                //       color: Colors.white,
                //       borderRadius: BorderRadius.circular(16),
                //       border: Border.all(color: Colors.red, width: 0.4),
                //     ),
                //     child: Center(
                //       child: ReusableTextWidget(
                //         text: "Logout",
                //         color: Colors.red,
                //         fontSize: 16,
                //         fontWeight: FontWeight.w600,
                //         fontFamily: FontConstants.fontFamily,
                //       ),
                //     ),
                //   ),
                // ),

                const SizedBox(height: 30),
              ],
            ),
          ),
        ),
      ),
    );
  }

  /// SECTION CARD
  Widget _section({
    required String title,
    required List<Widget> children,
  }) {
    return Padding(
      padding: const EdgeInsets.fromLTRB(11, 0, 11, 11),
      child: Container(
        decoration: BoxDecoration(
          color: Colors.white,
          borderRadius: BorderRadius.circular(16),
          border: Border.all(
              color: Colors.black12,
              width: 0.20
          ),
          boxShadow: [
            BoxShadow(
              color: Colors.grey.withOpacity(0.03),
              blurRadius: 2,
              offset: const Offset(0, 3),
            ),
          ],
        ),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
                Padding(
                  padding: const EdgeInsets.fromLTRB(16, 14, 16, 6),
                  child: ReusableTextWidget(
                    text: title,
                    fontSize: 14,
                    fontWeight: FontWeight.bold,
                    color: Colors.black,
                    fontFamily: FontConstants.fontFamily,
                  ),
                ),

            ...children,
          ],
        ),
      ),
    );
  }

  /// LIST TILE (EXACT STYLE)
  Widget _tile({
    required IconData icon,
    required String title,
    required VoidCallback onTap,
    bool isLogout = false,
  }) {
    final Color mainColor =
    isLogout ? Colors.red : Colors.black45;

    return ListTile(
      dense: true,
      minVerticalPadding: 0,
      contentPadding: const EdgeInsets.symmetric(horizontal: 12),
      visualDensity: const VisualDensity(vertical: 0.10),

      leading: Icon(
        icon,
        size: 22,
        color: mainColor,
        shadows: [
          Shadow(
            color: Colors.grey.withOpacity(0.2),
            offset: const Offset(0.30, 0.30),
            blurRadius: 1,
          ),
        ],
      ),


      title: ReusableTextWidget(
        text: title,
        fontSize: 13,
        fontWeight: FontWeight.w700,
        fontFamily: FontConstants.fontFamily,
        color: isLogout
            ? Colors.red
            : Colors.black.withOpacity(0.7),
      ),

      // 👇 Arrow ALWAYS normal black
      trailing: Icon(
        Icons.arrow_forward_ios,
        size: 14,
        weight: 400,
        color: Colors.black.withOpacity(0.9),
      ),

      onTap: onTap,
    );
  }


  Widget _divider() {
    return Divider(
      color: Color(0xFFF6F6F6),
      thickness: 1.5,
      height: 0.10, //
    );
  }

  /// LOGOUT DIALOG (UNCHANGED LOGIC)
  void showLogoutDialog() {
    Get.dialog(
      Dialog(
        elevation: 0,
        backgroundColor: Colors.transparent,
        child: Container(
          decoration: BoxDecoration(
            color: Colors.white,
            borderRadius: BorderRadius.circular(20),
            boxShadow: [
              BoxShadow(
                color: Colors.black.withOpacity(0.15),
                blurRadius: 20,
                offset: const Offset(0, 10),
              ),
            ],
          ),
          padding: const EdgeInsets.all(22),
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              // 🔴 Icon Container
              Container(
                height: 64,
                width: 64,
                decoration: BoxDecoration(
                  shape: BoxShape.circle,
                  gradient: LinearGradient(
                    colors: [
                      primaryColor.withOpacity(0.9),
                      primaryColor,
                    ],
                    begin: Alignment.topLeft,
                    end: Alignment.bottomRight,
                  ),
                ),
                child: const Icon(
                  Icons.logout_rounded,
                  size: 30,
                  color: Colors.white,
                ),
              ),

              const SizedBox(height: 16),

              // 📝 Title
              ReusableTextWidget(
                text: "Logout",
                fontSize: 18,
                fontWeight: FontWeight.w600,
                fontFamily: FontConstants.fontFamily,
                color: Colors.black,
              ),

              const SizedBox(height: 6),

              // 🧾 Subtitle
              ReusableTextWidget(
                text: "Are you sure you want to logout?",
                fontSize: 14,
                fontWeight: FontWeight.w400,
                fontFamily: FontConstants.fontFamily,
                color: Colors.black54,
                textAlign: TextAlign.center,
              ),

              const SizedBox(height: 24),

              // 🔘 Buttons
              Row(
                children: [
                  Expanded(
                    child: OutlinedButton(
                      onPressed: () => Navigator.pop(context),
                      style: OutlinedButton.styleFrom(
                        foregroundColor: primaryColor,
                        side: BorderSide(color: primaryColor),
                        shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.circular(12),
                        ),
                        padding: const EdgeInsets.symmetric(vertical: 12),
                      ),
                      child: ReusableTextWidget(
                        text: "Cancel",
                        fontFamily: FontConstants.fontFamily,
                        fontWeight: FontWeight.w500,
                      ),
                    ),
                  ),
                  const SizedBox(width: 12),
                  Expanded(
                    child: ElevatedButton(
                      style: ElevatedButton.styleFrom(
                        backgroundColor: primaryColor,
                        shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.circular(12),
                        ),
                        elevation: 4,
                        padding: const EdgeInsets.symmetric(vertical: 12),
                      ),
                      onPressed: () async {
                        final prefs = await SharedPreferences.getInstance();
                        String fcmToken = prefs.getString('fcmToken') ?? '';
                        String deviceId =
                            prefs.getString('currentDeviceId') ?? '';
                        await prefs.clear();
                        await prefs.setString('fcmToken', fcmToken);
                        await prefs.setString('currentDeviceId', deviceId);

                        Get.deleteAll();
                        GlobalBinding().dependencies();
                        Get.offAll(() => Login_view());
                      },
                      child: ReusableTextWidget(
                        text: "Logout",
                        fontFamily: FontConstants.fontFamily,
                        color: Colors.white,
                        fontWeight: FontWeight.w600,
                      ),
                    ),
                  ),
                ],
              ),
            ],
          ),
        ),
      ),
    );
  }


  /// DELETE ACCOUNT DIALOG (mirrors showLogoutDialog)
  void showDeleteAccountDialog() {
    Get.dialog(
      Dialog(
        elevation: 0,
        backgroundColor: Colors.transparent,
        child: Container(
          decoration: BoxDecoration(
            color: Colors.white,
            borderRadius: BorderRadius.circular(20),
            boxShadow: [
              BoxShadow(
                color: Colors.black.withOpacity(0.15),
                blurRadius: 20,
                offset: const Offset(0, 10),
              ),
            ],
          ),
          padding: const EdgeInsets.all(22),
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              Container(
                height: 64,
                width: 64,
                decoration: const BoxDecoration(
                  shape: BoxShape.circle,
                  color: Colors.red,
                ),
                child: const Icon(
                  Icons.delete_outline_rounded,
                  size: 30,
                  color: Colors.white,
                ),
              ),

              const SizedBox(height: 16),

              ReusableTextWidget(
                text: "Delete Account",
                fontSize: 18,
                fontWeight: FontWeight.w600,
                fontFamily: FontConstants.fontFamily,
                color: Colors.black,
              ),

              const SizedBox(height: 6),

              ReusableTextWidget(
                text:
                    "We'll submit a request to permanently delete your account and data. This cannot be undone. Continue?",
                fontSize: 14,
                fontWeight: FontWeight.w400,
                fontFamily: FontConstants.fontFamily,
                color: Colors.black54,
                textAlign: TextAlign.center,
              ),

              const SizedBox(height: 24),

              Row(
                children: [
                  Expanded(
                    child: OutlinedButton(
                      onPressed: () => Navigator.pop(context),
                      style: OutlinedButton.styleFrom(
                        foregroundColor: primaryColor,
                        side: BorderSide(color: primaryColor),
                        shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.circular(12),
                        ),
                        padding: const EdgeInsets.symmetric(vertical: 12),
                      ),
                      child: ReusableTextWidget(
                        text: "Cancel",
                        fontFamily: FontConstants.fontFamily,
                        fontWeight: FontWeight.w500,
                      ),
                    ),
                  ),
                  const SizedBox(width: 12),
                  Expanded(
                    child: ElevatedButton(
                      style: ElevatedButton.styleFrom(
                        backgroundColor: Colors.red,
                        shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.circular(12),
                        ),
                        elevation: 4,
                        padding: const EdgeInsets.symmetric(vertical: 12),
                      ),
                      onPressed: () async {
                        Navigator.pop(context);

                        bool success = false;
                        try {
                          success = await CustomerRequestProvider()
                              .sendAccountDeletionRequest();
                        } catch (e) {
                          success = false;
                        }

                        if (!success) {
                          Get.snackbar(
                            "Error",
                            "Couldn't submit your deletion request. Please try again or contact support.",
                          );
                          return;
                        }

                        Get.snackbar(
                          "Request submitted",
                          "Your account deletion request has been received. Our team will process it shortly.",
                        );

                        final prefs = await SharedPreferences.getInstance();
                        String fcmToken = prefs.getString('fcmToken') ?? '';
                        String deviceId =
                            prefs.getString('currentDeviceId') ?? '';
                        await prefs.clear();
                        await prefs.setString('fcmToken', fcmToken);
                        await prefs.setString('currentDeviceId', deviceId);

                        Get.deleteAll();
                        GlobalBinding().dependencies();
                        Get.offAll(() => Login_view());
                      },
                      child: ReusableTextWidget(
                        text: "Delete",
                        fontFamily: FontConstants.fontFamily,
                        color: Colors.white,
                        fontWeight: FontWeight.w600,
                      ),
                    ),
                  ),
                ],
              ),
            ],
          ),
        ),
      ),
    );
  }


  Widget accountListShimmerSingleBox() {
    return Container(
      margin: const EdgeInsets.all(16),
      padding: const EdgeInsets.symmetric(vertical: 8),
      decoration: BoxDecoration(
        color: Colors.white,
        borderRadius: BorderRadius.circular(16),
      ),
      child: Column(
        children: List.generate(4, (index) {
          return Column(
            children: [
              Padding(
                padding: const EdgeInsets.symmetric(
                  horizontal: 16,
                  vertical: 14,
                ),
                child: Row(
                  children: [
                    // Leading avatar
                    Shimmer.fromColors(
                      baseColor: Colors.grey.shade300,
                      highlightColor: Colors.grey.shade100,
                      child: Container(
                        height: 44,
                        width: 44,
                        decoration: const BoxDecoration(
                          color: Colors.white,

                        ),
                      ),
                    ),

                    const SizedBox(width: 14),

                    // Title + subtitle
                    Expanded(
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          Shimmer.fromColors(
                            baseColor: Colors.grey.shade300,
                            highlightColor: Colors.grey.shade100,
                            child: Padding(
                              padding: const EdgeInsets.only(right: 18.0),
                              child: Container(

                                height: 14,
                                width: double.infinity,
                                decoration: BoxDecoration(
                                  color: Colors.white,
                                  borderRadius: BorderRadius.circular(6),
                                ),
                              ),
                            ),
                          ),
                          const SizedBox(height: 8),
                          Shimmer.fromColors(
                            baseColor: Colors.grey.shade300,
                            highlightColor: Colors.grey.shade100,
                            child: Container(
                              height: 12,
                              width: 120,
                              decoration: BoxDecoration(
                                color: Colors.white,
                                borderRadius: BorderRadius.circular(6),
                              ),
                            ),
                          ),
                        ],
                      ),
                    ),

                    const SizedBox(width: 12),

                    // Trailing arrow shimmer
                    Shimmer.fromColors(
                      baseColor: Colors.grey.shade300,
                      highlightColor: Colors.grey.shade100,
                      child: Container(
                        height: 18,
                        width: 18,
                        decoration: BoxDecoration(
                          color: Colors.white,
                          borderRadius: BorderRadius.circular(4),
                        ),
                      ),
                    ),
                  ],
                ),
              ),

              // Divider (except last)
              if (index != 3)
                Padding(
                  padding: const EdgeInsets.only(left: 74),
                  child: Divider(
                    height: 1,
                    thickness: 0.8,
                    color: Colors.grey.shade200,
                  ),
                ),
            ],
          );
        }),
      ),
    );
  }

  Widget Preferences() {
    return Container(
      margin: const EdgeInsets.all(16),
      padding: const EdgeInsets.symmetric(vertical: 8),
      decoration: BoxDecoration(
        color: Colors.white,
        borderRadius: BorderRadius.circular(16),
      ),
      child: Column(
        children: List.generate(2, (index) {
          return Column(
            children: [
              Padding(
                padding: const EdgeInsets.symmetric(
                  horizontal: 16,
                  vertical: 14,
                ),
                child: Row(
                  children: [
                    // Leading avatar
                    Shimmer.fromColors(
                      baseColor: Colors.grey.shade300,
                      highlightColor: Colors.grey.shade100,
                      child: Container(
                        height: 44,
                        width: 44,
                        decoration: const BoxDecoration(
                          color: Colors.white,

                        ),
                      ),
                    ),

                    const SizedBox(width: 14),

                    // Title + subtitle
                    Expanded(
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          Shimmer.fromColors(
                            baseColor: Colors.grey.shade300,
                            highlightColor: Colors.grey.shade100,
                            child: Padding(
                              padding: const EdgeInsets.only(right: 18.0),
                              child: Container(

                                height: 14,
                                width: double.infinity,
                                decoration: BoxDecoration(
                                  color: Colors.white,
                                  borderRadius: BorderRadius.circular(6),
                                ),
                              ),
                            ),
                          ),
                          const SizedBox(height: 8),
                          Shimmer.fromColors(
                            baseColor: Colors.grey.shade300,
                            highlightColor: Colors.grey.shade100,
                            child: Container(
                              height: 12,
                              width: 120,
                              decoration: BoxDecoration(
                                color: Colors.white,
                                borderRadius: BorderRadius.circular(6),
                              ),
                            ),
                          ),
                        ],
                      ),
                    ),

                    const SizedBox(width: 12),

                    // Trailing arrow shimmer
                    Shimmer.fromColors(
                      baseColor: Colors.grey.shade300,
                      highlightColor: Colors.grey.shade100,
                      child: Container(
                        height: 18,
                        width: 18,
                        decoration: BoxDecoration(
                          color: Colors.white,
                          borderRadius: BorderRadius.circular(4),
                        ),
                      ),
                    ),
                  ],
                ),
              ),

              // Divider (except last)
              if (index != 1)
                Padding(
                  padding: const EdgeInsets.only(left: 74),
                  child: Divider(
                    height: 1,
                    thickness: 0.8,
                    color: Colors.grey.shade200,
                  ),
                ),
            ],
          );
        }),
      ),
    );
  }


}
