second commit

This commit is contained in:
Anbarasu
2026-05-27 10:35:09 +05:30
parent c53794c04c
commit 1435ac47b0
501 changed files with 52818 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../Controller/More/Notification/Notificationcontroller.dart';
import '../../../Helper/Constants/Assetconstants.dart';
import '../../../Helper/Constants/Colorconstants.dart';
class NotificationView extends StatelessWidget {
NotificationView({super.key});
final NotificationController controller =
Get.put(NotificationController());
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: ColorConstants.lightColor,
appBar: AppBar(
leading: Row(
children: [
IconButton(onPressed: (){
Navigator.pop(context);
}, icon: Icon(Icons.arrow_back,color: Colors.black,)),
Text(
"Notification",
style: TextStyle(color: Colors.black,fontSize: 20),
),
],
),
leadingWidth: 400,
elevation: 0,
backgroundColor:ColorConstants.lightColor,
automaticallyImplyLeading: true,
),
body: Obx(() {
// Loading state
if (controller.isLoading.value) {
return const Center(child: CircularProgressIndicator());
}
// Empty state
if (controller.notifications.isEmpty) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image(
height: 160,
width: 160,
image: AssetImage(AssetConstants.NoRecords),
),
const SizedBox(height: 10),
Text(
"No notification at this moment",
style: TextStyle(color: Colors.grey[600], fontSize: 18),
),
],
),
);
}
// Notification List
return ListView.builder(
padding: const EdgeInsets.all(12),
itemCount: controller.notifications.length,
itemBuilder: (context, index) {
final NotificationModel item =
controller.notifications[index];
return Card(
elevation: 2,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
child: ListTile(
title: Text(
item.title,
style: TextStyle(
fontWeight: FontWeight.bold,
color: Colors.black,
),
),
subtitle: Text(
item.message,
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
trailing: Text(
item.notificationdate.split("T")[0], // YYYY-MM-DD
style: const TextStyle(fontSize: 12, color: Colors.grey),
),
),
);
},
);
}),
);
}
}