// lib/app/widgets/notification_patient_card.dart import 'package:flutter/material.dart'; class NotificationPatientCard extends StatelessWidget { final String title; final String message; final String room; final String deviceId; final String timeAgo; final VoidCallback? onTap; const NotificationPatientCard({ super.key, required this.title, required this.message, required this.room, required this.deviceId, required this.timeAgo, this.onTap, }); @override Widget build(BuildContext context) { return InkWell( onTap: onTap, child: Container( margin: const EdgeInsets.only(bottom: 12), padding: const EdgeInsets.all(16), decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(12), border: Border.all(color: Colors.grey[200]!), boxShadow: [ BoxShadow( color: Colors.grey.withOpacity(0.1), spreadRadius: 0, blurRadius: 10, offset: const Offset(0, 2), ), ], ), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( width: 40, height: 40, decoration: BoxDecoration( color: const Color(0xFFFFEBEE), borderRadius: BorderRadius.circular(10), ), child: const Icon( Icons.warning_rounded, color: Color(0xFFE57373), size: 24, ), ), const SizedBox(width: 12), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( title, style: const TextStyle( fontSize: 15, fontWeight: FontWeight.bold, ), ), Text( timeAgo, style: TextStyle( fontSize: 11, color: Colors.grey[500], ), ), ], ), const SizedBox(height: 6), Text( message, style: TextStyle( fontSize: 13, color: Colors.grey[700], height: 1.4, ), ), const SizedBox(height: 8), Row( children: [ Container( padding: const EdgeInsets.symmetric( horizontal: 10, vertical: 4, ), decoration: BoxDecoration( color: const Color(0xFFE3F2FD), borderRadius: BorderRadius.circular(6), ), child: Text( room, style: const TextStyle( fontSize: 11, color: Color(0xFF2196F3), fontWeight: FontWeight.w600, ), ), ), const SizedBox(width: 8), Container( padding: const EdgeInsets.symmetric( horizontal: 10, vertical: 4, ), decoration: BoxDecoration( color: Colors.grey[100], borderRadius: BorderRadius.circular(6), ), child: Row( mainAxisSize: MainAxisSize.min, children: [ Container( width: 6, height: 6, decoration: const BoxDecoration( color: Color(0xFF4CAF50), shape: BoxShape.circle, ), ), const SizedBox(width: 6), Text( deviceId, style: TextStyle( fontSize: 11, color: Colors.grey[700], fontWeight: FontWeight.w600, ), ), ], ), ), ], ), ], ), ), ], ), ), ); } }