You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Dart
		
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Dart
		
	
| 
											2 months ago
										 | import 'package:flutter/material.dart'; | ||
|  | 
 | ||
|  | class ProfileSelector extends StatelessWidget { | ||
|  |   final List<Map<String, dynamic>> profiles; | ||
|  |   final Function(Map<String, dynamic>) onSelect; | ||
|  | 
 | ||
|  |   const ProfileSelector({ | ||
|  |     Key? key, | ||
|  |     required this.profiles, | ||
|  |     required this.onSelect, | ||
|  |   }) : super(key: key); | ||
|  | 
 | ||
|  |   @override | ||
|  |   Widget build(BuildContext context) { | ||
|  |     return Column( | ||
|  |       mainAxisSize: MainAxisSize.min, | ||
|  |       children: profiles.map((profile) { | ||
|  |         return ListTile( | ||
|  |           leading: CircleAvatar( | ||
|  |             radius: 22, | ||
|  |             backgroundImage: profile["GenderImage"] != null && | ||
|  |                 profile["GenderImage"].toString().isNotEmpty | ||
|  |                 ? NetworkImage(profile["GenderImage"]) | ||
|  |                 : AssetImage( | ||
|  |                 profile["Gender"] == 1 | ||
|  |                     ? "assets/images/male.png" | ||
|  |                     : "assets/images/female.png") | ||
|  |             as ImageProvider, | ||
|  |           ), | ||
|  |           title: Text( | ||
|  |             profile["PatientName"] ?? "Unknown", | ||
|  |             style: const TextStyle(fontWeight: FontWeight.w600), | ||
|  |           ), | ||
|  |           subtitle: Text( | ||
|  |             profile["Relationship"] ?? "Self", | ||
|  |             style: const TextStyle(color: Colors.grey), | ||
|  |           ), | ||
|  |           trailing: const Icon(Icons.arrow_forward_ios, size: 16), | ||
|  |           onTap: () => onSelect(profile), | ||
|  |         ); | ||
|  |       }).toList(), | ||
|  |     ); | ||
|  |   } | ||
|  | } |