import 'package:flutter/material.dart';
import 'package:kmobile/api/services/branch_service.dart';
import 'package:url_launcher/url_launcher.dart';

class BranchDetailsScreen extends StatelessWidget {
  final Branch branch;

  const BranchDetailsScreen({super.key, required this.branch});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(branch.branch_name),
      ),
      body: Stack(
        children: [
          SingleChildScrollView(
            padding: const EdgeInsets.all(16.0),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                _buildDetailRow(context, "Branch Name", branch.branch_name),
                _buildDetailRow(context, "Branch Code", branch.branch_code),
                _buildDetailRow(context, "Zone", branch.zone),
                _buildDetailRow(context, "Tehsil", branch.tehsil),
                _buildDetailRow(context, "Block", branch.block),
                _buildDetailRow(context, "District", branch.distt_name),
                _buildDetailRow(context, "Pincode", branch.pincode),
                // _buildDetailRow(context, "Post Office", branch.post_office),
                // _buildDetailRow(context, "Date of Opening", branch.date_of_opening),
                // _buildDetailRow(context, "Branch Type", branch.type_of_branch),
                _buildDetailRow(context, "Telephone No.", branch.telephone_no),
                // _buildDetailRow("RTGS Account No.", branch.rtgs_acct_no),
                // _buildDetailRow("RBI Code 1", branch.rbi_code_1),
                // _buildDetailRow("RBI Code 2", branch.rbi_code_2),
                // _buildDetailRow("Latitude", branch.br_lattitude),
                // _buildDetailRow("Longitude", branch.br_longitude),
              ],
            ),
          ),
          IgnorePointer(
            child: Center(
              child: Opacity(
                opacity: 0.07, // Reduced opacity
                child: ClipOval(
                  child: Image.asset(
                    'assets/images/logo.png',
                    width: 200, // Adjust size as needed
                    height: 200, // Adjust size as needed
                  ),
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }

  Widget _buildDetailRow(BuildContext context, String label, String value) {
    final theme = Theme.of(context);
    return Padding(
      padding: const EdgeInsets.symmetric(vertical: 8.0),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Text(
            label,
            style: TextStyle(
              fontSize: 14,
              color: theme.textTheme.bodySmall?.color,
            ),
          ),
          const SizedBox(height: 4),
          label == "Telephone No."
              ? InkWell(
                  onTap: () => _launchUrl('tel:$value'),
                  child: Text(
                    value,
                    style: TextStyle(
                      fontSize: 16,
                      fontWeight: FontWeight.w500,
                      color:
                          theme.colorScheme.primary, // Indicate it's clickable
                      decoration: TextDecoration.underline,
                    ),
                  ),
                )
              : Text(
                  value,
                  style: const TextStyle(
                    fontSize: 16,
                    fontWeight: FontWeight.w500,
                  ),
                ),
          Divider(height: 16, color: theme.dividerColor),
        ],
      ),
    );
  }

  Future<void> _launchUrl(String urlString) async {
    final Uri url = Uri.parse(urlString);
    if (!await launchUrl(url)) {
      throw 'Could not launch $urlString';
    }
  }
}
