Merge
This commit is contained in:
commit
41ed141e13
@ -706,18 +706,18 @@ class _TravelAgentListPlansState extends State<TravelAgentListPlans> {
|
|||||||
isViewMode: true);
|
isViewMode: true);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
IconButton(
|
// IconButton(
|
||||||
icon: Image.asset(
|
// icon: Image.asset(
|
||||||
'assets/images/IconsImg/edit.png',
|
// 'assets/images/IconsImg/edit.png',
|
||||||
width: 20,
|
// width: 20,
|
||||||
height: 15),
|
// height: 15),
|
||||||
onPressed: () {
|
// onPressed: () {
|
||||||
Navigator.pop(context);
|
// Navigator.pop(context);
|
||||||
ApiService.viewPlan(
|
// ApiService.viewPlan(
|
||||||
context, plan.planId,
|
// context, plan.planId,
|
||||||
isViewMode: false);
|
// isViewMode: false);
|
||||||
},
|
// },
|
||||||
),
|
// ),
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.cancel_rounded,
|
Icons.cancel_rounded,
|
||||||
|
|||||||
@ -98,6 +98,41 @@ class StatusDashboardState extends State<StatusDashboard> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Color getStatusColor(String status) {
|
||||||
|
if (status == "Domestic") return Colors.white;
|
||||||
|
if (status == "International") return Colors.white;
|
||||||
|
if (status == "Partially Approved") return Colors.yellow.shade100;
|
||||||
|
if (status == "Pending Approval") return Colors.greenAccent.shade100;
|
||||||
|
if (status == "Approved") return Colors.green.shade100;
|
||||||
|
if (status == "Completed") return Colors.green.shade500;
|
||||||
|
if (status == "Rejected") return Colors.red.shade100;
|
||||||
|
if (status == "Cancelled") return Colors.red.shade200;
|
||||||
|
return Colors.grey.shade100;
|
||||||
|
}
|
||||||
|
|
||||||
|
IconData getStatusIcon(String title) {
|
||||||
|
switch (title) {
|
||||||
|
case "Domestic":
|
||||||
|
return Icons.directions_bus_filled_outlined;
|
||||||
|
case "International":
|
||||||
|
return Icons.airplanemode_active;
|
||||||
|
case "Partially Approved":
|
||||||
|
return Icons.pending;
|
||||||
|
case "Approved":
|
||||||
|
return Icons.check_circle_outline;
|
||||||
|
case "Completed":
|
||||||
|
return Icons.done_all;
|
||||||
|
case "Rejected":
|
||||||
|
return Icons.cancel_outlined;
|
||||||
|
case "Cancelled":
|
||||||
|
return Icons.cancel_schedule_send_outlined;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return Icons.info_outline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final typeBasedCount = List<Map<String, dynamic>>.from(
|
final typeBasedCount = List<Map<String, dynamic>>.from(
|
||||||
@ -111,9 +146,12 @@ class StatusDashboardState extends State<StatusDashboard> {
|
|||||||
print("statusBasedCount - => $statusBasedCount");
|
print("statusBasedCount - => $statusBasedCount");
|
||||||
// 👇 Local function to create the card widget
|
// 👇 Local function to create the card widget
|
||||||
Widget buildInfoCard(String title, int count, double width) {
|
Widget buildInfoCard(String title, int count, double width) {
|
||||||
|
print('title $title');
|
||||||
|
final color = getStatusColor(title);
|
||||||
|
final icon = getStatusIcon(title);
|
||||||
return Card(
|
return Card(
|
||||||
elevation: 3,
|
elevation: 3,
|
||||||
color: Colors.white,
|
color: color,
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
|
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
|
||||||
child: Container(
|
child: Container(
|
||||||
width: width,
|
width: width,
|
||||||
@ -121,10 +159,15 @@ class StatusDashboardState extends State<StatusDashboard> {
|
|||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
|
Icon(icon, size: 32, color: (title == 'Domestic' || title == 'International') ? Colors.green : Colors.black54), // 👈 Add Icon here
|
||||||
|
const SizedBox(height: 8),
|
||||||
Text(
|
Text(
|
||||||
title,
|
title,
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: const TextStyle(fontWeight: FontWeight.w600),
|
style: TextStyle(
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
fontSize: (title == 'Domestic' || title == 'International') ? 16 : 14,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
Text(
|
Text(
|
||||||
@ -132,7 +175,7 @@ class StatusDashboardState extends State<StatusDashboard> {
|
|||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 22,
|
fontSize: 22,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: Colors.blue,
|
// color: Colors.blue,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -154,54 +197,63 @@ class StatusDashboardState extends State<StatusDashboard> {
|
|||||||
body: Padding(
|
body: Padding(
|
||||||
padding: isDesktop
|
padding: isDesktop
|
||||||
? EdgeInsets.symmetric(
|
? EdgeInsets.symmetric(
|
||||||
horizontal: MediaQuery.of(context).size.width * 0.1,
|
horizontal: MediaQuery.of(context).size.width *
|
||||||
vertical: 0,
|
0.1, // 30% of screen width as horizontal padding
|
||||||
|
vertical: 10, // 5% of screen height as vertical padding
|
||||||
)
|
)
|
||||||
: const EdgeInsets.all(0),
|
: EdgeInsets.all(0),
|
||||||
child: Row(
|
child:Container(
|
||||||
children: [
|
// padding: const EdgeInsets.all(10.0),
|
||||||
Expanded(
|
decoration: BoxDecoration(
|
||||||
child: Padding(
|
color: isDesktop ? Colors.white : const Color(0xFFFCFCFC),
|
||||||
padding: const EdgeInsets.all(12.0),
|
borderRadius: BorderRadius.circular(12), // 👈 Set your desired radius
|
||||||
child: Column(
|
),
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// color: isDesktop ? Colors.white : Color(0xFFFCFCFC),
|
||||||
children: [
|
child: Row(
|
||||||
Wrap(
|
children: [
|
||||||
spacing: 10,
|
Expanded(
|
||||||
runSpacing: 10,
|
child: Padding(
|
||||||
children: typeBasedCount.map((item) {
|
padding: const EdgeInsets.all(30.0),
|
||||||
double cardWidth = isDesktop
|
child: Column(
|
||||||
? (MediaQuery.of(context).size.width * 0.75 - 10) / 2 // 80% width padding adjusted
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
: MediaQuery.of(context).size.width - 24; // full width with padding
|
children: [
|
||||||
|
Wrap(
|
||||||
|
spacing: 10,
|
||||||
|
runSpacing: 10,
|
||||||
|
children: typeBasedCount.map((item) {
|
||||||
|
double cardWidth = isDesktop
|
||||||
|
? (MediaQuery.of(context).size.width * 0.75 - 10) / 2 // 80% width padding adjusted
|
||||||
|
: MediaQuery.of(context).size.width - 24; // full width with padding
|
||||||
|
|
||||||
return SizedBox(
|
return SizedBox(
|
||||||
width: cardWidth,
|
width: cardWidth,
|
||||||
child: buildInfoCard(item['value'], item['count'], cardWidth),
|
child: buildInfoCard(item['value'], item['count'], cardWidth),
|
||||||
);
|
);
|
||||||
}).toList(),
|
}).toList(),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
Wrap(
|
Wrap(
|
||||||
spacing: 10,
|
spacing: 10,
|
||||||
runSpacing: 10,
|
runSpacing: 10,
|
||||||
children: statusBasedCount.map((item) {
|
children: statusBasedCount.map((item) {
|
||||||
double cardWidth = isDesktop
|
double cardWidth = isDesktop
|
||||||
? (MediaQuery.of(context).size.width * 0.90 - 50) / 6 // desktop layout: 6 cards per row
|
? (MediaQuery.of(context).size.width * 0.90 - 50) / 6 // desktop layout: 6 cards per row
|
||||||
: MediaQuery.of(context).size.width - 24; // mobile: full width
|
: MediaQuery.of(context).size.width - 24; // mobile: full width
|
||||||
|
|
||||||
return SizedBox(
|
return SizedBox(
|
||||||
width: cardWidth,
|
width: cardWidth,
|
||||||
child: buildInfoCard(item['value'], item['count'], cardWidth),
|
child: buildInfoCard(item['value'], item['count'], cardWidth),
|
||||||
);
|
);
|
||||||
}).toList(),
|
}).toList(),
|
||||||
),
|
),
|
||||||
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
)
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -493,7 +493,7 @@ class ForexDataState extends State<ForexData> {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"Cash",
|
"Cash (%)",
|
||||||
style: GoogleFonts.poppins(
|
style: GoogleFonts.poppins(
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
@ -540,7 +540,7 @@ class ForexDataState extends State<ForexData> {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"Card",
|
"Card (%)",
|
||||||
style: GoogleFonts.poppins(
|
style: GoogleFonts.poppins(
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
|
|||||||
@ -276,7 +276,7 @@ class _GroupListState extends State<GroupList> {
|
|||||||
children: [
|
children: [
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Container(
|
child: Container(
|
||||||
// height: MediaQuery.of(context).size.height * 0.89,
|
height: MediaQuery.of(context).size.height * 0.75,
|
||||||
padding: const EdgeInsets.all(10),
|
padding: const EdgeInsets.all(10),
|
||||||
// margin: const EdgeInsets.only(bottom: 10),
|
// margin: const EdgeInsets.only(bottom: 10),
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
@ -309,125 +309,124 @@ class _GroupListState extends State<GroupList> {
|
|||||||
itemCount: apiAllGroups!.length,
|
itemCount: apiAllGroups!.length,
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
final group = apiAllGroups![index];
|
final group = apiAllGroups![index];
|
||||||
return Card(
|
return Card(
|
||||||
// color: bodyColor,
|
// color: bodyColor,
|
||||||
// color: Color(0xFFF5F5F5),
|
// color: Color(0xFFF5F5F5),
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
margin: EdgeInsets.symmetric(vertical: 6, horizontal: 10),
|
margin: EdgeInsets.symmetric(vertical: 6, horizontal: 10),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(12.0),
|
padding: const EdgeInsets.all(12.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text("Group Name",
|
child: Text("Group Name",
|
||||||
style: GoogleFonts.poppins(
|
|
||||||
fontSize: 11.5, fontWeight: FontWeight.w400)),
|
|
||||||
),
|
|
||||||
Expanded(
|
|
||||||
child: Text("Domestic Policy",
|
|
||||||
style: GoogleFonts.poppins(
|
|
||||||
fontSize: 11.5, fontWeight: FontWeight.w400)),
|
|
||||||
),
|
|
||||||
Expanded(
|
|
||||||
child: Text("International Policy",
|
|
||||||
style: GoogleFonts.poppins(
|
|
||||||
fontSize: 11.5, fontWeight: FontWeight.w400)),
|
|
||||||
),
|
|
||||||
Expanded(
|
|
||||||
child: Text("Description",
|
|
||||||
style: GoogleFonts.poppins(
|
|
||||||
fontSize: 11.5, fontWeight: FontWeight.w400)),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
SizedBox(height: 4),
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Expanded(
|
|
||||||
child: Text("${group['name']}",
|
|
||||||
style: GoogleFonts.poppins(
|
|
||||||
fontSize: 13, fontWeight: FontWeight.w600)),
|
|
||||||
),
|
|
||||||
Expanded(
|
|
||||||
child: Text("${group['domestic_policy_name'] ?? 'N/A'}",
|
|
||||||
style: GoogleFonts.poppins(
|
|
||||||
fontSize: 13, fontWeight: FontWeight.w600)),
|
|
||||||
),
|
|
||||||
Expanded(
|
|
||||||
child: Text("${group['international_policy_name']}",
|
|
||||||
style: GoogleFonts.poppins(
|
style: GoogleFonts.poppins(
|
||||||
fontSize: 13, fontWeight: FontWeight.w600))),
|
fontSize: 11.5, fontWeight: FontWeight.w400)),
|
||||||
Expanded(
|
),
|
||||||
child: Text("${group['description'] ?? 'N/A'}",
|
Expanded(
|
||||||
|
child: Text("Domestic Policy",
|
||||||
style: GoogleFonts.poppins(
|
style: GoogleFonts.poppins(
|
||||||
fontSize: 13, fontWeight: FontWeight.w600))),
|
fontSize: 11.5, fontWeight: FontWeight.w400)),
|
||||||
],
|
),
|
||||||
),
|
Expanded(
|
||||||
Row(
|
child: Text("International Policy",
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
style: GoogleFonts.poppins(
|
||||||
children: [
|
fontSize: 11.5, fontWeight: FontWeight.w400)),
|
||||||
GestureDetector(
|
),
|
||||||
onTap: () async {
|
Expanded(
|
||||||
|
child: Text("Description",
|
||||||
if (group['group_id'] != null) {
|
style: GoogleFonts.poppins(
|
||||||
final newGroupID = int.tryParse(group['group_id'].toString());
|
fontSize: 11.5, fontWeight: FontWeight.w400)),
|
||||||
if (newGroupID != null) {
|
),
|
||||||
final data = await apiService.getGroupDetailsFind(newGroupID); // ✅ Always an int
|
],
|
||||||
showDialog(
|
),
|
||||||
context: context,
|
SizedBox(height: 4),
|
||||||
builder: (context) => GroupData(
|
Row(
|
||||||
isDesktop: isDesktop,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
groupId: newGroupID, // Pass the ID
|
children: [
|
||||||
groupData: data,
|
Expanded(
|
||||||
layoutColor: layoutColor!,
|
child: Text("${group['name']}",
|
||||||
fetchGetGroup: refreshData
|
style: GoogleFonts.poppins(
|
||||||
),
|
fontSize: 13, fontWeight: FontWeight.w600)),
|
||||||
);
|
),
|
||||||
|
Expanded(
|
||||||
|
child: Text("${group['domestic_policy_name'] ?? 'N/A'}",
|
||||||
|
style: GoogleFonts.poppins(
|
||||||
|
fontSize: 13, fontWeight: FontWeight.w600)),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: Text("${group['international_policy_name']}",
|
||||||
|
style: GoogleFonts.poppins(
|
||||||
|
fontSize: 13, fontWeight: FontWeight.w600))),
|
||||||
|
Expanded(
|
||||||
|
child: Text("${group['description'] ?? 'N/A'}",
|
||||||
|
style: GoogleFonts.poppins(
|
||||||
|
fontSize: 13, fontWeight: FontWeight.w600))),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () async {
|
||||||
|
if (group['group_id'] != null) {
|
||||||
|
final newGroupID = int.tryParse(
|
||||||
|
group['group_id'].toString());
|
||||||
|
if (newGroupID != null) {
|
||||||
|
final data = await apiService.getGroupDetailsFind(
|
||||||
|
newGroupID); // ✅ Always an int
|
||||||
|
showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (context) =>
|
||||||
|
GroupData(
|
||||||
|
isDesktop: isDesktop,
|
||||||
|
groupId: newGroupID,
|
||||||
|
// Pass the ID
|
||||||
|
groupData: data,
|
||||||
|
layoutColor: layoutColor!,
|
||||||
|
fetchGetGroup: refreshData
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print("something went wrong check properly");
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
} else {
|
// onTap: () {
|
||||||
print("something went wrong check properly");
|
// context.go("/CreateGroup", extra: group);
|
||||||
}
|
// },
|
||||||
},
|
child: Image.asset('assets/images/IconsImg/edit.png',
|
||||||
|
width: 20, height: 15),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 5,
|
||||||
|
),
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
final idStr = group['group_id'];
|
||||||
|
final id = int.tryParse(idStr.toString());
|
||||||
|
|
||||||
// onTap: () {
|
if (id == null) {
|
||||||
// context.go("/CreateGroup", extra: group);
|
print("group_id is null");
|
||||||
// },
|
return;
|
||||||
child: Image.asset('assets/images/IconsImg/edit.png',
|
}
|
||||||
width: 20, height: 15),
|
final status = group['is_active'];
|
||||||
),
|
// print("GroupId : ${group['group_id']} ");
|
||||||
SizedBox(
|
deleteGroup(group, id, status);
|
||||||
width: 5,
|
},
|
||||||
),
|
child: Image.asset('assets/images/IconsImg/delete.png',
|
||||||
GestureDetector(
|
width: 20, height: 15),
|
||||||
onTap: () {
|
),
|
||||||
final idStr = group['group_id'];
|
],
|
||||||
final id = int.tryParse(idStr.toString());
|
),
|
||||||
|
],
|
||||||
if (id == null) {
|
),
|
||||||
print("group_id is null");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
final status = group['is_active'];
|
|
||||||
// print("GroupId : ${group['group_id']} ");
|
|
||||||
deleteGroup(group, id, status);
|
|
||||||
},
|
|
||||||
child: Image.asset('assets/images/IconsImg/delete.png',
|
|
||||||
width: 20, height: 15),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
);
|
||||||
);
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -214,6 +214,14 @@ class BusListWidget extends StatelessWidget {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
|
Text(
|
||||||
|
"${item["from"]} - ${item["to"]}",
|
||||||
|
style: GoogleFonts.poppins(
|
||||||
|
fontSize: 14,
|
||||||
|
fontWeight: FontWeight.w800,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Spacer(),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () => onOpen(true, item, "Bus"),
|
onTap: () => onOpen(true, item, "Bus"),
|
||||||
child: Image.asset('assets/images/IconsImg/edit.png',
|
child: Image.asset('assets/images/IconsImg/edit.png',
|
||||||
|
|||||||
@ -192,6 +192,14 @@ class InsuranceListWidget extends StatelessWidget {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
|
Text(
|
||||||
|
getRequestForInsuranceType(item["type_of_insurance"]!.toString()),
|
||||||
|
style: GoogleFonts.poppins(
|
||||||
|
fontSize: 14,
|
||||||
|
fontWeight: FontWeight.w800,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Spacer(),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () => onOpen(true, item, "Insurance"),
|
onTap: () => onOpen(true, item, "Insurance"),
|
||||||
child: Image.asset('assets/images/IconsImg/edit.png',
|
child: Image.asset('assets/images/IconsImg/edit.png',
|
||||||
|
|||||||
@ -152,6 +152,14 @@ class MiscellaneousListWidget extends StatelessWidget {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
|
Text(
|
||||||
|
getRequestValue(item["special_request"]?.toString()),
|
||||||
|
style: GoogleFonts.poppins(
|
||||||
|
fontSize: 14,
|
||||||
|
fontWeight: FontWeight.w800,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Spacer(),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () => onOpen(true, item, "Miscellaneous"),
|
onTap: () => onOpen(true, item, "Miscellaneous"),
|
||||||
child: Image.asset('assets/images/IconsImg/edit.png',
|
child: Image.asset('assets/images/IconsImg/edit.png',
|
||||||
|
|||||||
@ -291,6 +291,14 @@ class VisaListWidget extends StatelessWidget {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
|
Text(
|
||||||
|
getRequestForVisa(item["type_of_visa"]!.toString()),
|
||||||
|
style: GoogleFonts.poppins(
|
||||||
|
fontSize: 14,
|
||||||
|
fontWeight: FontWeight.w800,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Spacer(),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () => onOpen(true, item, "Visa"),
|
onTap: () => onOpen(true, item, "Visa"),
|
||||||
child: Image.asset('assets/images/IconsImg/edit.png',
|
child: Image.asset('assets/images/IconsImg/edit.png',
|
||||||
|
|||||||
@ -21,6 +21,7 @@ class PlanPopupMenu extends StatelessWidget {
|
|||||||
required this.layoutColor,
|
required this.layoutColor,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Align(
|
return Align(
|
||||||
@ -51,15 +52,17 @@ class PlanPopupMenu extends StatelessWidget {
|
|||||||
isViewMode: true);
|
isViewMode: true);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
IconButton(
|
|
||||||
icon: Image.asset('assets/images/IconsImg/edit.png',
|
// IconButton(
|
||||||
width: 20, height: 15),
|
// icon: Image.asset('assets/images/IconsImg/edit.png',
|
||||||
onPressed: () {
|
// width: 20, height: 15),
|
||||||
Navigator.pop(context);
|
// onPressed: () {
|
||||||
ApiService.viewPlan(context, plan.planId,
|
// Navigator.pop(context);
|
||||||
isViewMode: false);
|
// ApiService.viewPlan(context, plan.planId,
|
||||||
},
|
// isViewMode: false);
|
||||||
),
|
// },
|
||||||
|
// ),
|
||||||
|
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(Icons.cancel_rounded, size: 18),
|
icon: Icon(Icons.cancel_rounded, size: 18),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user