diff --git a/assets/images/attendance.png b/assets/images/attendance.png new file mode 100644 index 00000000..ad2cbfc6 Binary files /dev/null and b/assets/images/attendance.png differ diff --git a/lib/new_ui/screens/attendance_screen/attendance_screen.dart b/lib/new_ui/screens/attendance_screen/attendance_screen.dart index 8cee4017..f6624721 100644 --- a/lib/new_ui/screens/attendance_screen/attendance_screen.dart +++ b/lib/new_ui/screens/attendance_screen/attendance_screen.dart @@ -65,27 +65,27 @@ class _AttendanceScreenState extends State { ), Text( '${((attendedLectures/totalLectures) * 100).toStringAsFixed(2)}%', - style: TextStyle(color: Colors.white, fontSize: 17), + style: TextStyle(color: Colors.white, fontSize: 25), ), Text( '${attendedLectures}/${totalLectures}', - style: TextStyle(color: Colors.white, fontSize: 13), + style: TextStyle(color: Colors.white, fontSize: 15), ), ], ), ), ), SizedBox( - width: 100, - height: 100, + width: 150, + height: 150, child: CircularProgressIndicator( value: totalLectures==0?0:(attendedLectures/totalLectures), backgroundColor: Colors.white, valueColor: AlwaysStoppedAnimation(oldDateSelectBlue), - strokeWidth: 3, + strokeWidth: 5, strokeAlign: BorderSide.strokeAlignInside, - strokeCap: StrokeCap.butt, + strokeCap: StrokeCap.round, ), ), ], @@ -107,9 +107,24 @@ class _AttendanceScreenState extends State { return Center(child: CircularProgressIndicator()); } var documentSnapshot = snapshot.data as DocumentSnapshot; - if(documentSnapshot.data()==null ){ - return Center(child: Text("Please add Subject",style: TextStyle(color: Colors.white),)); + if (documentSnapshot.data() == null) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset('assets/images/attendance.png', + width: 250, + ), + SizedBox(height: 20), + Text( + "Please add Subject", + style: TextStyle(color: Colors.white, fontSize: 18), + ), + ], + ), + ); } + var data = documentSnapshot.data() as Map; List attendanceList = data['attendance']; List> attendanceList2 = attendanceList.cast>(); @@ -287,7 +302,7 @@ class _AttendanceScreenState extends State { children: [ Text( attendanceInfo["subject_name"], - style: TextStyle(color: Colors.white, fontSize: 20, fontWeight: FontWeight.bold), + style: TextStyle(color: Colors.white, fontSize: 25, fontWeight: FontWeight.bold), ), SizedBox(width: 5,), ], @@ -302,7 +317,7 @@ class _AttendanceScreenState extends State { ), Text( '${(attendanceInfo['present']/attendanceInfo['total'] *100).toInt()}%', - style: TextStyle(color: Colors.white, fontSize: 14), + style: TextStyle(color: Colors.white, fontSize: 20, fontWeight: FontWeight.bold), ), ], ), @@ -321,7 +336,7 @@ class _AttendanceScreenState extends State { AttendanceService.markPresent(attendanceList, index); _fetchAndSetAttendance(); }, - child: const Text('Present', style: TextStyle(color: Colors.white),), + child: const Text('Present', style: TextStyle(color: Colors.white, fontSize: 12),), style: ElevatedButton.styleFrom( backgroundColor: commonbgL3ightblack, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5)), @@ -333,7 +348,7 @@ class _AttendanceScreenState extends State { AttendanceService.markAbsent(attendanceList, index); _fetchAndSetAttendance(); }, - child: const Text('Absent', style: TextStyle(color: Colors.white),), + child: const Text('Absent', style: TextStyle(color: Colors.white, fontSize: 12),), style: ElevatedButton.styleFrom( backgroundColor: commonbgL3ightblack, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5)), @@ -345,14 +360,15 @@ class _AttendanceScreenState extends State { Center( child: Container( width: size.width * 0.88, - decoration: BoxDecoration( - border: Border.all(color: timePickerBorder, width: 1.0), - borderRadius: BorderRadius.circular(10.0), - color: timePickerBg, - ), + alignment: Alignment.center, + // decoration: BoxDecoration( + // border: Border.all(color: timePickerBorder, width: 1.0), + // borderRadius: BorderRadius.circular(10.0), + // color: timePickerBg, + // ), child: Padding( - padding: const EdgeInsets.all(8.0), - child: Text(getTextForCard(attendanceInfo['present'], attendanceInfo['total']),style: TextStyle(color: Colors.grey),), + padding: const EdgeInsets.all(2.0), + child: Text(getTextForCard(attendanceInfo['present'], attendanceInfo['total']),style: TextStyle(color: Colors.grey, fontSize: 10),), ), ), ), @@ -527,7 +543,7 @@ String getTextForCard(int at,int tt){ if (attended/total==0.75){ - return "You are Just on track, well done Champ"; + return "You are Just on track, keep it up !"; } else if(attended/total>0.75) { while(1==1) { double t=(attended)/(total+1); @@ -553,7 +569,9 @@ String getTextForCard(int at,int tt){ } } + if (toAttend==0) { + return "You are on track, keep it up !"; + } - - return "By attending next ${toAttend} lectures, you will be above 75%"; + return "Your presence in next ${toAttend} classes is crucial"; } diff --git a/lib/new_ui/screens/main_screen/widgets/main_bottom_nav_bar.dart b/lib/new_ui/screens/main_screen/widgets/main_bottom_nav_bar.dart index cd1a9be5..cab023dd 100644 --- a/lib/new_ui/screens/main_screen/widgets/main_bottom_nav_bar.dart +++ b/lib/new_ui/screens/main_screen/widgets/main_bottom_nav_bar.dart @@ -116,8 +116,8 @@ class _HomeScreenState extends ConsumerState { ), BottomNavigationBarItem( backgroundColor: Colors.transparent, - activeIcon: Icon(Icons.pentagon), - icon: Icon(Icons.pentagon_outlined), + activeIcon: Icon(Icons.calendar_month), + icon: Icon(Icons.calendar_month_outlined), label: "Attendance", ), BottomNavigationBarItem( diff --git a/pubspec.lock b/pubspec.lock index 38701d01..3304b005 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -788,26 +788,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" linkify: dependency: transitive description: @@ -860,10 +860,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mime: dependency: transitive description: @@ -1249,10 +1249,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" textfield_search: dependency: "direct main" description: @@ -1377,10 +1377,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" watcher: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 0f25aa9c..28927a92 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -109,6 +109,7 @@ flutter: - assets/images/devs.png - assets/images/tick2.png - assets/images/railway.png + - assets/images/attendance.png - assets/icons/ - assets/animation/ # An image asset can refer to one or more resolution-specific "variants", see