108 lines
3.9 KiB
Dart
108 lines
3.9 KiB
Dart
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';
|
|
}
|
|
}
|
|
}
|