// import 'package:cheminova/widgets/my_drawer.dart'; // import 'package:flutter/material.dart'; // import 'package:flutter_svg/svg.dart'; // import 'package:get/get.dart'; // import 'package:intl/intl.dart'; // // import '../../controller/annaucement_controller.dart'; // import '../../widgets/comman_background.dart'; // import '../../widgets/common_appbar.dart'; // // class AnnouncementScreen extends StatefulWidget { // AnnouncementScreen({super.key}); // // @override // State createState() => _AnnouncementScreenState(); // } // // class _AnnouncementScreenState extends State { // // Initialize the controller // final AnnouncementController _announcementController = Get.put(AnnouncementController()); // // // String formatDate(String apiDate) { // // Parse the API date string into a DateTime object // DateTime parsedDate = DateTime.parse(apiDate).toLocal(); // Convert to local time // // // Format the date and time according to your specified format // String formattedDate = DateFormat('EEE MMM dd yyyy').format(parsedDate); // // return formattedDate; // Return the formatted date string // } // // // @override // Widget build(BuildContext context) { // // Fetch announcements when the screen is built // _announcementController.fetchAnnouncements(); // // return CommonBackground( // child: Scaffold( // backgroundColor: Colors.transparent, // appBar: CommonAppBar( // actions: [ // IconButton( // onPressed: () { // Navigator.pop(context); // }, // icon: SvgPicture.asset('assets/svg/back_arrow.svg'), // padding: const EdgeInsets.only(right: 20), // ), // ], // title: const Text( // 'Announcement', // style: TextStyle( // fontSize: 20, // color: Colors.black, // fontWeight: FontWeight.w400, // fontFamily: 'Anek', // ), // ), // backgroundColor: Colors.transparent, // elevation: 0, // ), // drawer: MyDrawer(), // body: Obx(() { // // Show loading indicator while fetching announcements // if (_announcementController.isLoading.value) { // return Center(child: CircularProgressIndicator()); // } // // Show error message if there was an error // if (_announcementController.errorMessage.isNotEmpty) { // return Center( // child: Text('Error: ${_announcementController.errorMessage}'), // ); // } // // Display the list of announcements // return ListView.builder( // itemCount: _announcementController.announcements.length, // itemBuilder: (context, index) { // final announcementList = _announcementController.announcements[index]; // print("asdf,${announcementList}"); // return Column( // children: [ // Card( // child: ListTile( // //leading:Text(_announcementController.announcements[index].id), // title: Row( // // children: [ // Text("Message :",style: TextStyle(fontWeight: FontWeight.bold,fontSize: 14),), // Text(announcementList.message.toString(),style: TextStyle(fontSize: 12),), // // ], // ), // subtitle: Row( // children: [ // Text("UniqueID :" , style: TextStyle(fontWeight: FontWeight.bold),), // Text(announcementList.uniqueId.toString()), // ], // ), // trailing: Text(formatDate(announcementList.createdAt.toString()),style: TextStyle(fontSize: 10),), // ), // // ), // // ], // ); // }, // ); // }), // ), // ); // } // } import 'package:cheminova/widgets/my_drawer.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:get/get.dart'; import 'package:intl/intl.dart'; import '../../controller/annaucement_controller.dart'; import '../../widgets/comman_background.dart'; import '../../widgets/common_appbar.dart'; class AnnouncementScreen extends StatefulWidget { AnnouncementScreen({super.key}); @override State createState() => _AnnouncementScreenState(); } class _AnnouncementScreenState extends State { final AnnouncementController _announcementController = Get.put(AnnouncementController()); String formatDate(String apiDate) { DateTime parsedDate = DateTime.parse(apiDate).toLocal(); return DateFormat('EEE MMM dd yyyy').format(parsedDate); } @override Widget build(BuildContext context) { _announcementController.fetchAnnouncements(); return CommonBackground( child: Scaffold( backgroundColor: Colors.transparent, appBar: CommonAppBar( actions: [ IconButton( onPressed: () { Navigator.pop(context); }, icon: SvgPicture.asset('assets/svg/back_arrow.svg'), padding: const EdgeInsets.only(right: 20), ), ], title: const Text( 'Announcement', style: TextStyle( fontSize: 20, color: Colors.black, fontWeight: FontWeight.w400, fontFamily: 'Anek', ), ), backgroundColor: Colors.transparent, elevation: 0, ), drawer: MyDrawer(), body: Obx(() { if (_announcementController.isLoading.value) { return Center(child: CircularProgressIndicator()); } if (_announcementController.errorMessage.isNotEmpty) { return Center( child: Text('Error: ${_announcementController.errorMessage}'), ); } return ListView.builder( itemCount: _announcementController.announcements.length, itemBuilder: (context, index) { final announcementList = _announcementController.announcements[index]; return Card( margin: const EdgeInsets.symmetric(horizontal: 10, vertical: 5), child: ListTile( // leading: CircleAvatar( // backgroundColor: Colors.blue, // child: Text( // announcementList.uniqueId.toString().toUpperCase(), // style: TextStyle(color: Colors.white), // ), // ), title: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( "Message:", style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14), ), Text( announcementList.message.toString(), style: TextStyle(fontSize: 12), overflow: TextOverflow.ellipsis, ), ], ), subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( "UniqueID:", style: TextStyle(fontWeight: FontWeight.bold), ), Text( announcementList.uniqueId.toString(), style: TextStyle(fontSize: 12), overflow: TextOverflow.ellipsis, ), ], ), trailing: Text( formatDate(announcementList.createdAt.toString()), style: TextStyle(fontSize: 10), ), ), ); }, ); }), ), ); } }