diff --git a/assets/images/academy_screen/bg1.jpg b/assets/images/academy_screen/bg1.jpg new file mode 100644 index 0000000..55b6e5f Binary files /dev/null and b/assets/images/academy_screen/bg1.jpg differ diff --git a/assets/images/academy_screen/bg2.jpg b/assets/images/academy_screen/bg2.jpg new file mode 100644 index 0000000..65e285c Binary files /dev/null and b/assets/images/academy_screen/bg2.jpg differ diff --git a/assets/images/academy_screen/bg3.jpg b/assets/images/academy_screen/bg3.jpg new file mode 100644 index 0000000..7068ee8 Binary files /dev/null and b/assets/images/academy_screen/bg3.jpg differ diff --git a/assets/images/academy_screen/bg4.jpg b/assets/images/academy_screen/bg4.jpg new file mode 100644 index 0000000..40157a7 Binary files /dev/null and b/assets/images/academy_screen/bg4.jpg differ diff --git a/assets/images/academy_screen/bg5.jpg b/assets/images/academy_screen/bg5.jpg new file mode 100644 index 0000000..f67636f Binary files /dev/null and b/assets/images/academy_screen/bg5.jpg differ diff --git a/assets/images/academy_screen/dark_overlay.png b/assets/images/academy_screen/dark_overlay.png new file mode 100644 index 0000000..64a6aa2 Binary files /dev/null and b/assets/images/academy_screen/dark_overlay.png differ diff --git a/assets/images/academy_screen/video.png b/assets/images/academy_screen/video.png new file mode 100644 index 0000000..289debc Binary files /dev/null and b/assets/images/academy_screen/video.png differ diff --git a/lib/features/MainScreens/Academy/presentation/pages/academyScreen.dart b/lib/features/MainScreens/Academy/presentation/pages/academyScreen.dart index 2c81d9b..af76b1f 100644 --- a/lib/features/MainScreens/Academy/presentation/pages/academyScreen.dart +++ b/lib/features/MainScreens/Academy/presentation/pages/academyScreen.dart @@ -1,4 +1,9 @@ +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:google_fonts/google_fonts.dart'; class AcademyScreen extends StatefulWidget { const AcademyScreen({super.key}); @@ -8,8 +13,223 @@ class AcademyScreen extends StatefulWidget { } class _AcademyScreenState extends State { + List data = [ + { + 'img_path': 'assets/images/academy_screen/bg1.jpg', + 'date': 'July / 10 / 2025', + 'title': 'Article ', + 'videos': '3', + 'desc': + 'Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur tempus urna at turpis condimentum lobortis.' + }, + { + 'img_path': 'assets/images/academy_screen/bg2.jpg', + 'date': 'July / 10 / 2025', + 'title': 'Article ', + 'videos': '3', + 'desc': + 'Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur tempus urna at turpis condimentum lobortis.' + }, + { + 'img_path': 'assets/images/academy_screen/bg3.jpg', + 'date': 'July / 10 / 2025', + 'videos': '3', + 'title': 'Article ', + 'desc': + 'Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur tempus urna at turpis condimentum lobortis.' + }, + { + 'img_path': 'assets/images/academy_screen/bg4.jpg', + 'date': 'July / 10 / 2025', + 'videos': '3', + 'title': 'Article ', + 'desc': + 'Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur tempus urna at turpis condimentum lobortis.', + }, + { + 'img_path': 'assets/images/academy_screen/bg5.jpg', + 'date': 'July / 10 / 2025', + 'videos': '3', + 'title': 'Article ', + 'desc': + 'Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur tempus urna at turpis condimentum lobortis.', + }, + { + 'img_path': 'assets/images/academy_screen/bg4.jpg', + 'date': 'July / 10 / 2025', + 'videos': '3', + 'title': 'Article ', + 'desc': + 'Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur tempus urna at turpis condimentum lobortis.', + }, + { + 'img_path': 'assets/images/academy_screen/bg4.jpg', + 'date': 'July / 10 / 2025', + 'videos': '3', + 'title': 'Article ', + 'desc': + 'Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur tempus urna at turpis condimentum lobortis.', + }, + { + 'img_path': 'assets/images/academy_screen/bg4.jpg', + 'date': 'July / 10 / 2025', + 'videos': '3', + 'title': 'Article ', + 'desc': + 'Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur tempus urna at turpis condimentum lobortis.', + }, + ]; @override Widget build(BuildContext context) { - return Scaffold(body: Text('Academy'),); + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + backgroundColor: Colors.white, + elevation: 0, + scrolledUnderElevation: 0, + automaticallyImplyLeading: false, + title: Text( + 'Academy', + style: GoogleFonts.dmSans( + color: Color(0xFF272727), + fontSize: 22.sp, + fontWeight: FontWeight.w700, + ), + ), + titleSpacing: 16, + ), + body: ListView.builder( + itemCount: data.length, + itemBuilder: (context, index) { + return Padding( + padding: + const EdgeInsets.symmetric(vertical: 10.0, horizontal: 16.0), + child: Container( + height: 140.h, + width: double.infinity, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.all(Radius.circular(20.0)), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.15), + spreadRadius: 2, + blurRadius: 10, + offset: Offset(0, 3), // changes position of shadow + ), + ], + ), + child: Row( + children: [ + Container( + height: 140.h, + width: 164.w, + decoration: const BoxDecoration( + color: Color(0xFFF8F8F8), + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + child: Stack( + children: [ + ClipRRect( + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(20.0), + bottomLeft: Radius.circular(20.0), + ), + child: Image.asset( + data[index]['img_path'], + fit: BoxFit.cover, + height: double.infinity, + alignment: Alignment.topCenter, + ), + ), + Positioned( + bottom: 0.0, + child: ClipRRect( + borderRadius: const BorderRadius.only( + bottomLeft: Radius.circular(20.0), + ), + child: Image.asset( + 'assets/images/academy_screen/dark_overlay.png', + ), + ), + ), + Positioned( + bottom: 8.0, left: 12.0, + // alignment: Alignment.bottomLeft, + child: Row( + children: [ + Image.asset( + 'assets/images/academy_screen/video.png', + height: 15.sp, + ), + SizedBox( + width: 5.w, + ), + Text( + '${data[index]['videos']} videos', + style: GoogleFonts.dmSans( + color: Color(0xFFD8D8D8), + fontSize: 12.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.symmetric( + vertical: 20.0, horizontal: 16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + data[index]['date'], + style: GoogleFonts.dmSans( + color: Color(0xFF8D8D8D), + fontSize: 11.sp, + fontWeight: FontWeight.w500, + ), + ), + SizedBox( + height: 4.h, + ), + Text( + data[index]['title'], + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 17.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox( + height: 12.h, + ), + SizedBox( + width: 158.w, + child: Text( + data[index]['desc'], + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: GoogleFonts.dmSans( + color: Color(0xFF8D8D8D), + fontSize: 11.sp, + fontWeight: FontWeight.w500, + ), + ), + ), + ], + ), + ) + ], + ), + ), + ); + }), + ); } -} \ No newline at end of file +} diff --git a/pubspec.yaml b/pubspec.yaml index 82853ca..03b6b36 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -100,6 +100,7 @@ flutter: - assets/images/bottom_bar/active/ - assets/images/bottom_bar/inactive/ - assets/images/portfolio_screen/ + - assets/images/academy_screen/ - assets/images/biometric_screen/ - assets/images/biometric_screen/png/ - assets/images/biometric_screen/svg/