import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import '../services/apiService.dart'; import 'custom_popup.dart'; class UserActionsMenu extends StatelessWidget { final ApiService apiService = ApiService(); final Map user; final Future> Function(int userId) getUserDetails; UserActionsMenu({ super.key, required this.user, required this.getUserDetails, }); int getUserId(dynamic value) { if (value is String) return int.parse(value); return value; } @override Widget build(BuildContext context) { return PopupMenuButton( color: Colors.white, padding: EdgeInsets.zero, offset: Offset(0, 30), icon: Icon( Icons.more_vert, color: Color(0xFF475569), size: 14, ), itemBuilder: (context) => [ CustomPopupMenuEntry( child: Container( padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8), child: Row( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: [ GestureDetector( child: Tooltip( message: 'View Details', child: Icon(Icons.remove_red_eye, color: Color(0xFF475569), size: 18) ), // child: Icon(Icons.remove_red_eye, // color: Color(0xFF475569), size: 18,), onTap: () async { Navigator.pop(context); // Close the menu final userId = getUserId(user['user_id']); final usersData = await getUserDetails(userId); context.go("/CreateUserDetails", extra: { "selectedUser": usersData, "isViewMode": true, }); }, ), SizedBox(width: 8), GestureDetector( child: Tooltip( message: 'Edit Details', child: Image.asset( 'assets/images/IconsImg/edit.png', width: 20, height: 15, ), ), onTap: () async { Navigator.pop(context); // Close the menu final userId = getUserId(user['user_id']); final usersData = await getUserDetails(userId); context.go("/CreateUserDetails", extra: { "selectedUser": usersData, "isViewMode": false, }); }, ), ], ), ), ), ], ); } }