diff --git a/assets/images/png/BottomBar/groupBottomBarIcon.svg b/assets/images/png/BottomBar/groupBottomBarIcon.svg new file mode 100644 index 0000000..0c8f561 --- /dev/null +++ b/assets/images/png/BottomBar/groupBottomBarIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/images/png/HomeScreenBackground.png b/assets/images/png/HomeScreenBackground.png new file mode 100644 index 0000000..0058369 Binary files /dev/null and b/assets/images/png/HomeScreenBackground.png differ diff --git a/assets/images/png/unactiveHomeBottomBar.svg b/assets/images/png/unactiveHomeBottomBar.svg new file mode 100644 index 0000000..a0507a0 --- /dev/null +++ b/assets/images/png/unactiveHomeBottomBar.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/Common/CommonBottomNavigationBar.dart b/lib/Common/CommonBottomNavigationBar.dart index 2be08c2..77e29d7 100644 --- a/lib/Common/CommonBottomNavigationBar.dart +++ b/lib/Common/CommonBottomNavigationBar.dart @@ -7,7 +7,7 @@ import 'package:regroup/Common/controller/MainController.dart'; GlassmorphicContainer bottomnavigationbar(MainController _mainController) { return GlassmorphicContainer( width: double.infinity, - height: 83.h, + height: 100.h, borderRadius: 2, blur: 6, alignment: Alignment.center, @@ -38,6 +38,7 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { selectedItemColor: Colors.white, unselectedItemColor: const Color(0xFF676767), unselectedLabelStyle: TextStyle( + height: 3, fontSize: 10.sp, color: const Color(0xFF676767), fontWeight: FontWeight.w400, @@ -54,26 +55,21 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { items: [ BottomNavigationBarItem( icon: SvgPicture.asset( - 'assets/images/svg/fluent_home-20-regular.svg', + 'assets/images/png/unactiveHomeBottomBar.svg', height: 25.h, - width: 25.w, + // width: 25.w, ), - // Icon( - // Icons.home, - // color: Color(0xFF676767), - // ), activeIcon: Stack( clipBehavior: Clip.none, children: [ if (_mainController.selectedIndex.value == 0) Container( - height: 39.h, - // width: 40.w, + height: 25.h, decoration: BoxDecoration( shape: BoxShape.circle, boxShadow: [ BoxShadow( - color: Colors.amber, + color: const Color(0xFFD90B2E).withOpacity(0.5), spreadRadius: 15, blurRadius: 25, offset: const Offset(0, 10), @@ -98,37 +94,34 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { right: 0, left: 0, child: Center( - child: SvgPicture.asset( - 'assets/images/svg/fluent_home-20-regular.svg', - // height: 25.h, - // width: 25.w, + child: Image.asset( + "assets/images/png/BottomBar/ActiveHome.png", + height: 30.h, + width: 30.w, ), ), ) ], ), - - // activeIcon: SvgPicture.asset('assets/image/svg/active_home.svg'), label: 'Community', ), BottomNavigationBarItem( - icon: Image.asset( - 'assets/images/png/BottomBar/inactiveGroup.png', - height: 26.h, - width: 26.w, + icon: SvgPicture.asset( + 'assets/images/png/BottomBar/groupBottomBarIcon.svg', + height: 25.h, + // width: 25.w, ), activeIcon: Stack( clipBehavior: Clip.none, children: [ if (_mainController.selectedIndex.value == 1) Container( - height: 40.h, - width: 40.w, + height: 25.h, decoration: BoxDecoration( shape: BoxShape.circle, boxShadow: [ BoxShadow( - color: const Color(0xFFD90B2E).withOpacity(0.16), + color: const Color(0xFFD90B2E).withOpacity(0.5), spreadRadius: 15, blurRadius: 25, offset: const Offset(0, 10), @@ -136,17 +129,17 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { ], ), ), - Positioned( - left: 0, - right: 0, - top: -15, - child: Container( - height: 2.h, - width: 20.w, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10.r), - color: const Color(0xFFD90B2E)), - )), + // Positioned( + // left: 0, + // right: 0, + // //top: -20, + // child: Container( + // height: 2.h, + // // width: 10.w, + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(10.r), + // color: const Color(0xFFD90B2E)), + // )), Positioned( left: 0, right: 0, @@ -168,21 +161,20 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { BottomNavigationBarItem( icon: Image.asset( 'assets/images/png/BottomBar/inactiveCal.png', - height: 24.h, - width: 24.w, + height: 22.h, + width: 22.w, ), activeIcon: Stack( clipBehavior: Clip.none, children: [ if (_mainController.selectedIndex.value == 2) Container( - height: 40.h, - width: 40.w, + height: 25.h, decoration: BoxDecoration( shape: BoxShape.circle, boxShadow: [ BoxShadow( - color: const Color(0xFFD90B2E).withOpacity(0.16), + color: const Color(0xFFD90B2E).withOpacity(0.5), spreadRadius: 15, blurRadius: 25, offset: const Offset(0, 10), @@ -190,17 +182,17 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { ], ), ), - Positioned( - left: 0, - right: 0, - top: -15, - child: Container( - height: 2.h, - width: 20.w, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10.r), - color: const Color(0xFFD90B2E)), - )), + // Positioned( + // left: 0, + // right: 0, + // top: -15, + // child: Container( + // height: 2.h, + // width: 20.w, + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(10.r), + // color: const Color(0xFFD90B2E)), + // )), Positioned( left: 0, right: 0, @@ -209,34 +201,30 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { child: Center( child: Image.asset( 'assets/images/png/BottomBar/ActiveCal.png', - height: 28.h, - width: 28.w, + height: 30.h, + width: 30.w, ), )) ], ), - - // SvgPicture.asset('assets/image/svg/active_shortTrade.svg'), label: 'Calender', ), BottomNavigationBarItem( icon: Image.asset( 'assets/images/png/BottomBar/inactiveChat.png', - height: 24.h, - width: 24.w, + height: 25.h, ), activeIcon: Stack( clipBehavior: Clip.none, children: [ if (_mainController.selectedIndex.value == 3) Container( - height: 40.h, - width: 40.w, + height: 25.h, decoration: BoxDecoration( shape: BoxShape.circle, boxShadow: [ BoxShadow( - color: const Color(0xFFD90B2E).withOpacity(0.16), + color: const Color(0xFFD90B2E).withOpacity(0.5), spreadRadius: 15, blurRadius: 25, offset: const Offset(0, 10), @@ -244,17 +232,17 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { ], ), ), - Positioned( - left: 0, - right: 0, - top: -15, - child: Container( - height: 2.h, - width: 20.w, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10.r), - color: const Color(0xFFD90B2E)), - )), + // Positioned( + // left: 0, + // right: 0, + // top: -15, + // child: Container( + // height: 2.h, + // width: 20.w, + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(10.r), + // color: const Color(0xFFD90B2E)), + // )), Positioned( left: 0, right: 0, @@ -263,8 +251,8 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { child: Center( child: Image.asset( 'assets/images/png/BottomBar/ActiveChat.png', - height: 28.h, - width: 28.w, + height: 30.h, + width: 30.w, ), )) ], @@ -276,21 +264,20 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { BottomNavigationBarItem( icon: Image.asset( 'assets/images/png/BottomBar/inactivePeople.png', - height: 26.h, - width: 26.w, + height: 22.h, + width: 22.w, ), activeIcon: Stack( clipBehavior: Clip.none, children: [ if (_mainController.selectedIndex.value == 4) Container( - height: 40.h, - width: 40.w, + height: 25.h, decoration: BoxDecoration( shape: BoxShape.circle, boxShadow: [ BoxShadow( - color: const Color(0xFFD90B2E).withOpacity(0.16), + color: const Color(0xFFD90B2E).withOpacity(0.5), spreadRadius: 15, blurRadius: 25, offset: const Offset(0, 10), @@ -298,17 +285,17 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) { ], ), ), - Positioned( - left: 0, - right: 0, - top: -15, - child: Container( - height: 2.h, - width: 20.w, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10.r), - color: const Color(0xFFD90B2E)), - )), + // Positioned( + // left: 0, + // right: 0, + // top: -15, + // child: Container( + // height: 2.h, + // width: 20.w, + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(10.r), + // color: const Color(0xFFD90B2E)), + // )), Positioned( left: 0, right: 0, diff --git a/lib/Common/CommonGlassmorphism.dart b/lib/Common/CommonGlassmorphism.dart index 14cce85..f779dd3 100644 --- a/lib/Common/CommonGlassmorphism.dart +++ b/lib/Common/CommonGlassmorphism.dart @@ -61,7 +61,7 @@ Widget commonGlassContainerblue({ end: Alignment.bottomRight, colors: [ Color(0xFF009DAB).withOpacity(0.48), - Color(0xFF009DAB).withOpacity(0.30), + Color(0xFF009DAB).withOpacity(0.12), ], stops: const [ 0.1, diff --git a/lib/Feed Module/Main_Screens/CalenderTab/Availabillity.dart b/lib/Feed Module/Main_Screens/CalenderTab/Availabillity.dart new file mode 100644 index 0000000..183930a --- /dev/null +++ b/lib/Feed Module/Main_Screens/CalenderTab/Availabillity.dart @@ -0,0 +1,277 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:regroup/Common/CommonGlassmorphism.dart'; +import 'package:regroup/Utils/Common/CommonAppbar.dart'; +import 'package:regroup/Utils/Common/sized_box.dart'; +import 'package:syncfusion_flutter_calendar/calendar.dart'; + +class Availability extends StatefulWidget { + const Availability({super.key}); + + @override + State createState() => _AvailabilityState(); +} + +CalendarController? _calendarController; +List? _appointments; +List _employeeCollection = []; +// final List _nameCollection = []; +// final List _userImages = []; + +class _AvailabilityState extends State { + @override + void initState() { + super.initState(); + _calendarController = CalendarController(); + _appointments = [ + Appointment( + startTime: DateTime(2024, 6, 26, 9, 0), + endTime: DateTime(2024, 6, 26, 10, 30), + subject: 'Development Meeting', + resourceIds: [4], + color: Color(0XFFFC571D)), + Appointment( + startTime: DateTime(2024, 6, 26, 18, 0), + endTime: DateTime(2024, 6, 26, 18, 30), + subject: 'GeneralMeeting', + resourceIds: [2], + color: Color(0xFF8B1FA9)), + Appointment( + startTime: DateTime(2024, 6, 28, 9, 0), + endTime: DateTime(2024, 6, 28, 10, 30), + subject: 'Lunch', + resourceIds: [1], + ), + Appointment( + startTime: DateTime(2024, 6, 25, 10, 0), + endTime: DateTime(2024, 6, 25, 10, 30), + subject: 'Meeting', + resourceIds: [2], + ), + Appointment( + startTime: DateTime.now(), + endTime: DateTime.now().add(Duration(hours: 3)), + subject: 'Match day', + resourceIds: [3], + ), + Appointment( + startTime: DateTime.now(), + endTime: DateTime.now().add(Duration(hours: 3)), + subject: 'Muharram/Ashura', + resourceIds: [3], + ), + ]; + _employeeCollection = [ + CalendarResource( + id: 1, + image: AssetImage("assets/images/png/cimg1.png"), + displayName: 'Kaylly Vaccaro', + color: Colors.transparent, + ), + CalendarResource( + id: 2, + image: AssetImage("assets/images/png/cimg2.png"), + displayName: 'Ryan Dorwart', + color: Colors.transparent, + ), + CalendarResource( + id: 3, + image: AssetImage("assets/images/png/cimg3.png"), + displayName: 'Ahmad Rhiel', + color: Colors.transparent, + ), + CalendarResource( + id: 4, + image: AssetImage("assets/images/png/cimg3.png"), + displayName: 'Ahmad Rhiel', + color: Colors.transparent, + ), + CalendarResource( + id: 5, + image: AssetImage("assets/images/png/Ellipse 52.png"), + displayName: 'Ahmad Rhiel', + color: Colors.transparent, + ), + CalendarResource( + id: 6, + image: AssetImage("assets/images/png/Ellipse 48.png"), + displayName: 'Ahmad Rhiel', + color: Colors.transparent, + ), + ]; + } + + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + resizeToAvoidBottomInset: false, + appBar: CommonAppbar( + titleTxt: "Availability", + ), + body: Stack(children: [ + Container( + decoration: const BoxDecoration( + image: DecorationImage( + image: AssetImage("assets/images/png/Ellipse 1496.png"), + fit: BoxFit.fill)), + ), + SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + commonGlassContainer( + width: double.infinity, + height: 670.h, + borderradius: 1, + border: 0, + customWidget: SfCalendar( + view: CalendarView.timelineMonth, + appointmentTextStyle: TextStyle(color: Colors.white), + headerStyle: CalendarHeaderStyle( + textStyle: TextStyle( + color: Colors.blue, + )), + // blackoutDatesTextStyle: TextStyle(color: Colors.white), + + weekNumberStyle: WeekNumberStyle( + textStyle: TextStyle(color: Colors.white)), + viewHeaderStyle: ViewHeaderStyle( + // backgroundColor: Colors.amber, + dateTextStyle: TextStyle(color: Colors.white), + dayTextStyle: TextStyle( + color: Color(0xFFD90B2E), + ), + ), + // blackoutDatesTextStyle: TextStyle(color: Colors.white), + // selectionDecoration: BoxDecoration(color: Colors.amber), + backgroundColor: Colors.transparent, + // firstDayOfWeek: 3, + cellBorderColor: Colors.white, + todayHighlightColor: Color(0xFFD90B2E), + todayTextStyle: const TextStyle(color: Colors.white), + controller: _calendarController, + showNavigationArrow: true, + allowViewNavigation: true, + // showDatePickerButton: true, + monthViewSettings: MonthViewSettings( + navigationDirection: + MonthNavigationDirection.horizontal, + ), + allowDragAndDrop: true, + allowedViews: [ + // CalendarView.month, + // CalendarView.day, + // CalendarView.schedule, + CalendarView.timelineMonth, + CalendarView.timelineDay + ], + viewNavigationMode: ViewNavigationMode.snap, + showCurrentTimeIndicator: true, + dataSource: MeetingDataSource( + _appointments!, _employeeCollection), + onTap: calendarTapped, + timeSlotViewSettings: TimeSlotViewSettings( + // minimumAppointmentDuration: Duration(hours: 5), + timeTextStyle: TextStyle( + color: Colors.white, + ), + timelineAppointmentHeight: 60.h, + // timeIntervalWidth: 100, + + // timeIntervalHeight: 50, + timeIntervalWidth: 70, + ), + monthCellBuilder: (context, details) { + return Container( + decoration: BoxDecoration( + color: Colors.transparent, + ), + child: Center( + child: Text( + details.date.day.toString(), + style: TextStyle( + color: + Colors.white), // Set text color to white + ), + ), + ); + }, + resourceViewSettings: ResourceViewSettings( + displayNameTextStyle: + TextStyle(color: Colors.white, fontSize: 10), + showAvatar: true, + ), + + // selectionDecoration: BoxDecoration( + // borderRadius: BorderRadius.circular(20.r)), + appointmentBuilder: (context, details) { + final Appointment appointment = + details.appointments.first; + + return Container( + decoration: BoxDecoration( + color: + details.appointments.first.color ?? Colors.blue, + borderRadius: BorderRadius.circular(4), + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + appointment.subject, + style: TextStyle( + color: Colors.white, fontSize: 8.sp), + ), + ], + ), + ), + ); + }), + ), + ])) + ])); + } + + void calendarTapped(CalendarTapDetails details) { + if (details.targetElement == CalendarElement.appointment) { + Appointment appointment = details.appointments![0]; + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: Text('Event Details'), + content: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text('Event: ${appointment.subject}'), + Text('From: ${appointment.startTime}'), + Text('To: ${appointment.endTime}'), + ], + ), + actions: [ + ElevatedButton( + child: Text('Close'), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + ); + }, + ); + } + } +} + +class MeetingDataSource extends CalendarDataSource { + MeetingDataSource( + List source, List resourceColl) { + appointments = source; + resources = resourceColl; + } +} diff --git a/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart b/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart index 220dad4..4c23e19 100644 --- a/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart +++ b/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart @@ -53,80 +53,53 @@ class _CalenderTabState extends State { }, ]; - CalendarController? _calendarController; + CalendarController? _sessionCalController; + CalendarController? _comCalController; List? _appointments; - List _employeeCollection = []; // final List _nameCollection = []; // final List _userImages = []; - + DateTime? _startDate; + DateTime? _endDate; + bool _isRangeSelection = false; @override void initState() { super.initState(); - _calendarController = CalendarController(); + _sessionCalController = CalendarController(); + _comCalController = CalendarController(); + _appointments = [ Appointment( startTime: DateTime(2024, 6, 26, 9, 0), endTime: DateTime(2024, 6, 26, 10, 30), subject: 'Development Meeting', - resourceIds: [4], color: Color(0XFFFC571D)), Appointment( startTime: DateTime(2024, 6, 26, 18, 0), endTime: DateTime(2024, 6, 26, 18, 30), subject: 'GeneralMeeting', - resourceIds: [2], color: Color(0xFF8B1FA9)), Appointment( startTime: DateTime(2024, 6, 28, 9, 0), endTime: DateTime(2024, 6, 28, 10, 30), subject: 'Lunch', - resourceIds: [1], ), Appointment( startTime: DateTime(2024, 6, 25, 10, 0), endTime: DateTime(2024, 6, 25, 10, 30), subject: 'Meeting', - resourceIds: [2], ), Appointment( startTime: DateTime.now(), endTime: DateTime.now().add(Duration(hours: 3)), subject: 'Match day', - resourceIds: [3], ), Appointment( startTime: DateTime.now(), endTime: DateTime.now().add(Duration(hours: 3)), subject: 'Muharram/Ashura', - resourceIds: [3], - ), - ]; - _employeeCollection = [ - CalendarResource( - id: 1, - image: AssetImage("assets/images/png/cimg1.png"), - displayName: 'Kaylly Vaccaro', - color: Colors.transparent, - ), - CalendarResource( - id: 2, - image: AssetImage("assets/images/png/cimg2.png"), - displayName: 'Ryan Dorwart', - color: Colors.transparent, - ), - CalendarResource( - id: 3, - image: AssetImage("assets/images/png/cimg3.png"), - displayName: 'Ahmad Rhiel', - color: Colors.transparent, - ), - CalendarResource( - id: 4, - image: AssetImage("assets/images/png/cimg3.png"), - displayName: 'Ahmad Rhiel', - color: Colors.transparent, ), ]; + } DateTime selectedDate = DateTime.now(); @@ -195,7 +168,8 @@ class _CalenderTabState extends State { Container( decoration: const BoxDecoration( image: DecorationImage( - image: AssetImage("assets/images/png/Ellipse 1496.png"), fit: BoxFit.fill)), + image: AssetImage("assets/images/png/Ellipse 1496.png"), + fit: BoxFit.fill)), ), Padding( padding: const EdgeInsets.symmetric(vertical: 16), @@ -273,109 +247,139 @@ class _CalenderTabState extends State { border: 1), ), sizedBoxHeight(25.h), - commonGlassContainer( - width: double.infinity, - height: 350.h, - borderradius: 1, - border: 0, - customWidget: SfCalendar( - view: CalendarView.month, - appointmentTextStyle: TextStyle(color: Colors.white), - headerStyle: CalendarHeaderStyle( - textStyle: TextStyle( - color: Colors.blue, - )), - // blackoutDatesTextStyle: TextStyle(color: Colors.white), + Stack(children: [ + commonGlassContainer( + width: double.infinity, + height: 500.h, + borderradius: 1, + border: 0, + customWidget: SfCalendar( + view: CalendarView.month, + appointmentTextStyle: TextStyle(color: Colors.white), + headerStyle: CalendarHeaderStyle( + textStyle: TextStyle( + color: Colors.blue, + )), + // blackoutDatesTextStyle: TextStyle(color: Colors.white), - weekNumberStyle: - WeekNumberStyle(textStyle: TextStyle(color: Colors.white)), - viewHeaderStyle: ViewHeaderStyle( - // backgroundColor: Colors.amber, - dateTextStyle: TextStyle(color: Colors.white), - dayTextStyle: TextStyle( - color: Color(0xFFD90B2E), + weekNumberStyle: WeekNumberStyle( + textStyle: TextStyle(color: Colors.white)), + viewHeaderStyle: ViewHeaderStyle( + // backgroundColor: Colors.amber, + dateTextStyle: TextStyle(color: Colors.white), + dayTextStyle: TextStyle( + color: Color(0xFFD90B2E), + ), ), - ), - // blackoutDatesTextStyle: TextStyle(color: Colors.white), - // selectionDecoration: BoxDecoration(color: Colors.amber), - backgroundColor: Colors.transparent, - // firstDayOfWeek: 3, - cellBorderColor: Colors.white, - todayHighlightColor: Color(0xFFD90B2E), - todayTextStyle: const TextStyle(color: Colors.white), - controller: _calendarController, - showNavigationArrow: true, - allowViewNavigation: true, - showDatePickerButton: true, - monthViewSettings: MonthViewSettings( - navigationDirection: MonthNavigationDirection.horizontal, - ), - allowedViews: [ - CalendarView.month, - CalendarView.day, - CalendarView.schedule, - CalendarView.timelineMonth, - CalendarView.timelineDay - ], - viewNavigationMode: ViewNavigationMode.snap, - showCurrentTimeIndicator: true, - dataSource: - MeetingDataSource(_appointments!, _employeeCollection), - onTap: calendarTapped, - timeSlotViewSettings: TimeSlotViewSettings( - // minimumAppointmentDuration: Duration(hours: 5), - timeTextStyle: TextStyle( - color: Colors.white, + // blackoutDatesTextStyle: TextStyle(color: Colors.white), + // selectionDecoration: BoxDecoration(color: Colors.amber), + backgroundColor: Colors.transparent, + // firstDayOfWeek: 3, + cellBorderColor: Colors.white, + todayHighlightColor: Color(0xFFD90B2E), + todayTextStyle: const TextStyle(color: Colors.white), + controller: _sessionCalController, + showNavigationArrow: true, + // allowViewNavigation: true, + allowDragAndDrop: true, + // showDatePickerButton: true, + monthViewSettings: MonthViewSettings( + navigationDirection: MonthNavigationDirection.horizontal, ), - timelineAppointmentHeight: 60.h, - // timeIntervalWidth: 100, + allowedViews: [ + CalendarView.month, + // CalendarView.day, + CalendarView.schedule, + ], + viewNavigationMode: ViewNavigationMode.snap, + showCurrentTimeIndicator: true, + dataSource: MeetingDataSource(_appointments!), + onTap: calendarTapped, + timeSlotViewSettings: TimeSlotViewSettings( + // minimumAppointmentDuration: Duration(hours: 5), + timeTextStyle: TextStyle( + color: Colors.white, + ), + timelineAppointmentHeight: 60.h, + // timeIntervalWidth: 100, - // timeIntervalHeight: 50, - timeIntervalWidth: 70, - ), - monthCellBuilder: (context, details) { - return Container( - decoration: BoxDecoration( - color: Colors.transparent, - ), - child: Center( - child: Text( - details.date.day.toString(), - style: TextStyle( - color: Colors.white), // Set text color to white + // timeIntervalHeight: 50, + timeIntervalWidth: 70, + ), + monthCellBuilder: (context, details) { + return Container( + decoration: BoxDecoration( + color: Colors.transparent, ), - ), - ); - }, - resourceViewSettings: ResourceViewSettings( - displayNameTextStyle: - TextStyle(color: Colors.white, fontSize: 10), - showAvatar: true, - ), - appointmentBuilder: (context, details) { - final Appointment appointment = details.appointments.first; + child: Center( + child: Text( + details.date.day.toString(), + style: TextStyle( + color: Colors.white), // Set text color to white + ), + ), + ); + }, + resourceViewSettings: ResourceViewSettings( + displayNameTextStyle: + TextStyle(color: Colors.white, fontSize: 10), + showAvatar: true, + ), + // scheduleViewSettings: ScheduleViewSettings( + // appointmentTextStyle: TextStyle(color: Colors.red)), - return Container( - decoration: BoxDecoration( - color: details.appointments.first.color ?? Colors.blue, - borderRadius: BorderRadius.circular(4), - ), - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - appointment.subject, - style: - TextStyle(color: Colors.white, fontSize: 8.sp), - ), - ], + scheduleViewSettings: ScheduleViewSettings( + placeholderTextStyle: TextStyle(color: Colors.white), + dayHeaderSettings: DayHeaderSettings( + dateTextStyle: TextStyle(color: Colors.white), + dayTextStyle: TextStyle(color: Colors.white), + )), + // scheduleViewMonthHeaderBuilder: (context, details) { + // return Container( + // height: 30, + // width: 30, + // color: Colors.amber, + // ); + // }, + appointmentBuilder: (context, details) { + final Appointment appointment = details.appointments.first; + + return Container( + decoration: BoxDecoration( + color: details.appointments.first.color ?? Colors.blue, + borderRadius: BorderRadius.circular(4), ), - ), - ); - }), - ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + appointment.subject, + style: TextStyle( + color: Colors.white, fontSize: 8.sp), + ), + ], + ), + ), + ); + }), + ), + Positioned( + top: 8.h, + right: 110.w, + child: InkWell( + onTap: () { + Get.toNamed(RouteName.availability); + }, + child: Image.asset( + "assets/images/png/calender.png", + color: Colors.blue, + height: 18.h, + width: 18.w, + ), + )) + ]), // commonGlassContainer( // width: double.infinity, @@ -413,14 +417,14 @@ class _CalenderTabState extends State { // ), // border: 0.9), sizedBoxHeight(25.h), - Column( - children: List.generate(3, (index) { - return sessionCard( - imagePath: sessionData[index]["imagePath"], - names: sessionData[index]["names"], - title: sessionData[index]["title"]); - }), - ) + // Column( + // children: List.generate(3, (index) { + // return sessionCard( + // imagePath: sessionData[index]["imagePath"], + // names: sessionData[index]["names"], + // title: sessionData[index]["title"]); + // }), + // ) ], ), ); @@ -534,60 +538,126 @@ class _CalenderTabState extends State { return SingleChildScrollView( child: Column( children: [ - sizedBoxHeight(20.h), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: CustomTextFormField( - leadingIcon: SizedBox( - height: 23, - width: 23, - child: Center( - child: Image.asset( - "assets/images/png/ion_search-outline.png", - height: 23, - width: 23, - ), - ), - ), - hintText: "Search community sessions", - ), - ), sizedBoxHeight(25.h), - Padding( - padding: EdgeInsets.symmetric(horizontal: 16.w), - child: commonGlassContainer( - width: double.infinity, - height: 136.h, - borderradius: 10.r, - customWidget: Row( - children: [ - Padding( - padding: EdgeInsets.only(left: 16.w), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - SizedBox( - width: 171.w, - child: text14w400_FCFCFC( - "Are you looking for resources ? We might have a solution"), - ), - sizedBoxHeight(12.h), - GestureDetector( - onTap: () { - Get.toNamed(RouteName.resourcepool); - }, - child: text16w700_FCFCFCline("View resources")) - ], - ), + + Stack(children: [ + commonGlassContainer( + width: double.infinity, + height: 530.h, + borderradius: 1, + border: 0, + customWidget: SfCalendar( + view: CalendarView.month, + appointmentTextStyle: TextStyle(color: Colors.white), + headerStyle: CalendarHeaderStyle( + textStyle: TextStyle( + color: Colors.blue, + )), + // blackoutDatesTextStyle: TextStyle(color: Colors.white), + + weekNumberStyle: WeekNumberStyle( + textStyle: TextStyle(color: Colors.white)), + viewHeaderStyle: ViewHeaderStyle( + // backgroundColor: Colors.amber, + dateTextStyle: TextStyle(color: Colors.white), + dayTextStyle: TextStyle( + color: Color(0xFFD90B2E), ), - Spacer(), - Image.asset("assets/images/png/Rectangle 45.png") + ), + // blackoutDatesTextStyle: TextStyle(color: Colors.white), + // selectionDecoration: BoxDecoration(color: Colors.amber), + backgroundColor: Colors.transparent, + // firstDayOfWeek: 3, + cellBorderColor: Colors.white, + todayHighlightColor: Color(0xFFD90B2E), + todayTextStyle: const TextStyle(color: Colors.white), + controller: _comCalController, + showNavigationArrow: true, + allowViewNavigation: true, + allowDragAndDrop: true, + // showDatePickerButton: true, + monthViewSettings: MonthViewSettings( + navigationDirection: MonthNavigationDirection.horizontal, + ), + allowedViews: [ + CalendarView.month, + // CalendarView.day, + CalendarView.schedule, ], - ), - border: 1), - ), - sizedBoxHeight(25.h), + viewNavigationMode: ViewNavigationMode.snap, + showCurrentTimeIndicator: true, + dataSource: MeetingDataSource(_appointments!), + onTap: calendarTapped, + timeSlotViewSettings: TimeSlotViewSettings( + // minimumAppointmentDuration: Duration(hours: 5), + timeTextStyle: TextStyle( + color: Colors.white, + ), + timelineAppointmentHeight: 60.h, + // timeIntervalWidth: 100, + + // timeIntervalHeight: 50, + timeIntervalWidth: 70, + ), + monthCellBuilder: (context, details) { + return Container( + decoration: BoxDecoration( + color: Colors.transparent, + ), + child: Center( + child: Text( + details.date.day.toString(), + style: TextStyle( + color: Colors.white), // Set text color to white + ), + ), + ); + }, + resourceViewSettings: ResourceViewSettings( + displayNameTextStyle: + TextStyle(color: Colors.white, fontSize: 10), + showAvatar: true, + ), + appointmentBuilder: (context, details) { + final Appointment appointment = details.appointments.first; + + return Container( + decoration: BoxDecoration( + color: details.appointments.first.color ?? Colors.blue, + borderRadius: BorderRadius.circular(4), + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + appointment.subject, + style: TextStyle( + color: Colors.white, fontSize: 8.sp), + ), + ], + ), + ), + ); + }), + ), + Positioned( + top: 8.h, + right: 110.w, + child: InkWell( + onTap: () { + Get.toNamed(RouteName.availability); + }, + child: Image.asset( + "assets/images/png/calender.png", + color: Colors.blue, + height: 18.h, + width: 18.w, + ), + )) + ]), + // SfCalendar( // view: CalendarView.month, // controller: _calendarController, @@ -639,14 +709,14 @@ class _CalenderTabState extends State { // ), // border: 0.9), sizedBoxHeight(25.h), - Column( - children: List.generate(communityData.length, (index) { - return communitysessionCard( - imagePath: communityData[index]["imagePath"], - names: communityData[index]["names"], - title: communityData[index]["title"]); - }), - ) + // Column( + // children: List.generate(communityData.length, (index) { + // return communitysessionCard( + // imagePath: communityData[index]["imagePath"], + // names: communityData[index]["names"], + // title: communityData[index]["title"]); + // }), + // ) ], ), ); @@ -780,59 +850,12 @@ class _CalenderTabState extends State { } } - // void _addResources() { - // final Random random = Random(); - // for (int i = 0; i < _nameCollection.length; i++) { - // _employeeCollection.add(CalendarResource( - // displayName: _nameCollection[i], - // id: '000' + i.toString(), - // color: Color.fromRGBO( - // random.nextInt(255), random.nextInt(255), random.nextInt(255), 1), - // image: - // i < _userImages.length ? ExactAssetImage(_userImages[i]) : null)); - // } - // } } -// void _addResourceDetails() { -// _nameCollection.add('John'); -// _nameCollection.add('Bryan'); -// _nameCollection.add('Robert'); -// _nameCollection.add('Kenny'); -// _nameCollection.add('Tia'); -// _nameCollection.add('Theresa'); -// _nameCollection.add('Edith'); -// _nameCollection.add('Brooklyn'); -// _nameCollection.add('James William'); -// _nameCollection.add('Sophia'); -// _nameCollection.add('Elena'); -// _nameCollection.add('Stephen'); -// _nameCollection.add('Zoey Addison'); -// _nameCollection.add('Daniel'); -// _nameCollection.add('Emilia'); -// _nameCollection.add('Kinsley Elena'); -// _nameCollection.add('Daniel'); -// _nameCollection.add('William'); -// _nameCollection.add('Addison'); -// _nameCollection.add('Ruby'); - -// _userImages.add('images/People_Circle5.png'); -// _userImages.add('images/People_Circle8.png'); -// _userImages.add('images/People_Circle18.png'); -// _userImages.add('images/People_Circle23.png'); -// _userImages.add('images/People_Circle25.png'); -// _userImages.add('images/People_Circle20.png'); -// _userImages.add('images/People_Circle13.png'); -// _userImages.add('images/People_Circle11.png'); -// _userImages.add('images/People_Circle27.png'); -// _userImages.add('images/People_Circle26.png'); -// _userImages.add('images/People_Circle24.png'); -// _userImages.add('images/People_Circle15.png'); -// } class MeetingDataSource extends CalendarDataSource { MeetingDataSource( - List source, List resourceColl) { + List source, + ) { appointments = source; - resources = resourceColl; } } diff --git a/lib/Feed Module/Main_Screens/CalenderTab/ManageMenmbers/ManageMembersCal.dart b/lib/Feed Module/Main_Screens/CalenderTab/ManageMenmbers/ManageMembersCal.dart index d19eb59..34cb9b8 100644 --- a/lib/Feed Module/Main_Screens/CalenderTab/ManageMenmbers/ManageMembersCal.dart +++ b/lib/Feed Module/Main_Screens/CalenderTab/ManageMenmbers/ManageMembersCal.dart @@ -94,10 +94,11 @@ class _ManageMembersCalState extends State { image: DecorationImage( image: AssetImage("assets/images/png/Ellipse 1496.png"), fit: BoxFit.fill)), - ), SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ + ), + SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ sizedBoxHeight(10.h), Padding( padding: EdgeInsets.symmetric(horizontal: 16.w), @@ -359,7 +360,7 @@ class _ManageMembersCalState extends State { Color(0xFFD90B2E), ], ), - blur: 10, + blur: 6, child: Center(child: text16w400_FCFCFC("Su")), ), sizedBoxWidth(8.w), diff --git a/lib/Feed Module/Main_Screens/Chats/View/chatsmainscreen.dart b/lib/Feed Module/Main_Screens/Chats/View/chatsmainscreen.dart index b927181..4a6530b 100644 --- a/lib/Feed Module/Main_Screens/Chats/View/chatsmainscreen.dart +++ b/lib/Feed Module/Main_Screens/Chats/View/chatsmainscreen.dart @@ -162,59 +162,51 @@ class _ChatsMainScreenState extends State { image: AssetImage("assets/images/png/Ellipse 1496.png"), fit: BoxFit.fill)), ), - SingleChildScrollView( - child: Padding( - padding: const EdgeInsets.symmetric( - vertical: 0, - ), - child: Column(children: [ - Column( - children: [ - sizedBoxHeight(25.h), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16.0), - child: CustomTextFormField( - textEditingController: searchcontroller, - texttype: TextInputType.text, - hintText: "Search chats", - leadingIcon: Padding( - padding: EdgeInsets.symmetric(horizontal: 16.w), - child: Icon( - Icons.search, - size: 35, - color: Colors.white, - ), - ), - // validatorText: "Enter your full name", - inputFormatters: [ - // LengthLimitingTextInputFormatter(20), - RemoveEmojiInputFormatter(), - ], - ), + Column(children: [ + Column( + children: [ + sizedBoxHeight(25.h), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0), + child: CustomTextFormField( + textEditingController: searchcontroller, + texttype: TextInputType.text, + hintText: "Search chats", + leadingIcon: Padding( + padding: EdgeInsets.symmetric(horizontal: 16.w), + child: Icon( + Icons.search, + size: 35, + color: Colors.white, ), - sizedBoxHeight(25.h) + ), + // validatorText: "Enter your full name", + inputFormatters: [ + // LengthLimitingTextInputFormatter(20), + RemoveEmojiInputFormatter(), ], ), - DefaultTabController( - length: 3, - // initialIndex: selectedIndex.value, - child: Column( - children: [ - Padding( - padding: EdgeInsets.symmetric(horizontal: 16.w), - child: MyTabBar(), - ), - SizedBox( - height: 600.h, - child: TabBarView( - children: [feedTab(), clubsTab(), teamsTab()], - ), - ), - ], + ), + sizedBoxHeight(25.h) + ], + ), + Expanded( + child: DefaultTabController( + length: 3, + // initialIndex: selectedIndex.value, + child: Column( + children: [ + MyTabBar(), + Expanded( + child: TabBarView( + children: [feedTab(), clubsTab(), teamsTab()], + ), ), - ), - ])), - ) + ], + ), + ), + ), + ]) ], ), bottomNavigationBar: bottomnavigationbar(mainController), @@ -226,7 +218,7 @@ class _ChatsMainScreenState extends State { return SingleChildScrollView( child: Column( children: [ - sizedBoxHeight(30.h), + sizedBoxHeight(25.h), ListView.separated( separatorBuilder: (context, index) { return Divider( @@ -266,6 +258,7 @@ class _ChatsMainScreenState extends State { return SingleChildScrollView( child: Column( children: [ + sizedBoxHeight(25.h), ListView.separated( separatorBuilder: (context, index) { return Divider( @@ -300,6 +293,7 @@ class _ChatsMainScreenState extends State { return SingleChildScrollView( child: Column( children: [ + sizedBoxHeight(25.h), ListView.separated( separatorBuilder: (context, index) { return Divider( @@ -490,12 +484,11 @@ class _ChatListState extends State { padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 5.h), child: Row( crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Stack(children: [ Container( - width: 55, - height: 55, + width: 55.w, + height: 55.h, decoration: BoxDecoration( image: DecorationImage( image: AssetImage(widget.imageurl), @@ -504,99 +497,93 @@ class _ChatListState extends State { ), ), Positioned( - top: 40, - left: 45, + top: 40.h, + left: 45.w, child: widget.activestatus == true ? Container( - width: 10, - height: 10, + width: 10.w, + height: 10.h, decoration: ShapeDecoration( color: Color(0xFF32D74B), shape: OvalBorder(), ), ) : Container( - width: 10, - height: 10, + width: 10.w, + height: 10.h, decoration: ShapeDecoration( color: Color(0xFFFF453A), shape: OvalBorder(), )), ) ]), - Padding( - padding: EdgeInsets.only(top: 5), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - text16400white(widget.name), - sizedBoxHeight(3.h), - Row( - children: [ - widget.isMessageRead == true - ? Image.asset( - 'assets/images/png/messagereadcheckmark.png') - : Image.asset( - 'assets/images/png/messagedelivered.png'), - sizedBoxWidth(5.w), - SizedBox( - width: 250, - child: Text( - widget.message, - style: TextStyle( - color: Color(0xCCFCFCFC), - fontSize: 12.sp, - fontFamily: 'Helvetica', - fontWeight: FontWeight.w400, - ), + sizedBoxWidth(8.w), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16400white(widget.name), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + widget.isMessageRead == true + ? Image.asset( + 'assets/images/png/messagereadcheckmark.png') + : Image.asset('assets/images/png/messagedelivered.png'), + sizedBoxWidth(5.w), + SizedBox( + width: 170.w, + child: Text( + widget.message, + style: TextStyle( + color: Color(0xCCFCFCFC), + fontSize: 12.sp, + fontFamily: 'Helvetica', + fontWeight: FontWeight.w400, ), ), - ], - ), - ], - ), + ), + ], + ), + ], ), - Padding( - padding: const EdgeInsets.only(top: 5), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - text12400white('Yesterday'), - sizedBoxHeight(5.h), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - widget.ispinned == true - ? Image.asset('assets/images/png/pin.png') - : SizedBox( - width: 25, + Spacer(), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + text12400white('Yesterday'), + sizedBoxHeight(5.h), + Row( + children: [ + widget.ispinned == true + ? Image.asset('assets/images/png/pin.png') + : SizedBox( + width: 25, + ), + sizedBoxWidth(3.w), + widget.count == true + ? Container( + width: 18, + height: 18, + decoration: ShapeDecoration( + color: Color(0xFFD90B2E), + shape: OvalBorder(), ), - sizedBoxWidth(3.w), - widget.count == true - ? Container( - width: 18, - height: 18, - decoration: ShapeDecoration( - color: Color(0xFFD90B2E), - shape: OvalBorder(), + child: Text( + '1', + textAlign: TextAlign.center, + style: TextStyle( + color: Color(0xFFFCFCFC), + fontSize: 12.sp, + fontFamily: 'Helvetica', + fontWeight: FontWeight.w400, ), - child: Text( - '1', - textAlign: TextAlign.center, - style: TextStyle( - color: Color(0xFFFCFCFC), - fontSize: 12.sp, - fontFamily: 'Helvetica', - fontWeight: FontWeight.w400, - ), - ), - ) - : SizedBox() - ], - ) - ], - ), + ), + ) + : SizedBox() + ], + ) + ], ) ], ), @@ -726,8 +713,8 @@ class _SecondChatListState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( - width: 55, - height: 55, + width: 55.w, + height: 55.h, decoration: BoxDecoration( image: DecorationImage( image: AssetImage(widget.imageurl), diff --git a/lib/Feed Module/Main_Screens/Chats/View/groupchat.dart b/lib/Feed Module/Main_Screens/Chats/View/groupchat.dart index 660f9c9..14b240c 100644 --- a/lib/Feed Module/Main_Screens/Chats/View/groupchat.dart +++ b/lib/Feed Module/Main_Screens/Chats/View/groupchat.dart @@ -269,6 +269,8 @@ class _GroupChatPageState extends State { border: 0.9, width: 40.w, height: 40.h, + opacity1: 0.24, + opacity2: 0.24, borderradius: 100, customWidget: Center( child: Image.asset( @@ -564,7 +566,7 @@ class _GroupChatPageState extends State { Expanded( child: GlassmorphicContainer( width: double.infinity, - height: 48.h, + height: 50.h, borderRadius: 30.r, blur: 6, alignment: Alignment.bottomCenter, @@ -573,8 +575,8 @@ class _GroupChatPageState extends State { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - const Color(0xFFffffff).withOpacity(0.50), - const Color(0xFFFFFFFF).withOpacity(0.50), + const Color(0xFFffffff).withOpacity(0.24), + const Color(0xFFFFFFFF).withOpacity(0.24), ], stops: [ 0.1, @@ -588,101 +590,107 @@ class _GroupChatPageState extends State { Color(0xFF434A53), ], ), - child: TextFormField( - controller: messageController, - inputFormatters: [ - RemoveEmojiInputFormatter(), - ], - style: TextStyle( - fontSize: 16.sp, - color: Colors.white, - ), - autovalidateMode: - AutovalidateMode.onUserInteraction, - decoration: InputDecoration( - contentPadding: const EdgeInsets.all(10.0), - filled: true, - fillColor: Color(0XFF434A53), - border: InputBorder.none, - hintStyle: TextStyle( - fontSize: 14.sp, - color: - Color(0XFFFCFCFC).withOpacity(0.80), - fontWeight: FontWeight.w400, - fontFamily: 'Helvetica'), - hintText: "Type your message", - suffixIcon: messageController - .text.isNotEmpty || - isImageAdded == true - ? GestureDetector( - // onTap: () => _chatItemsAdd(), - onTap: _sendMessage, - // () { - // setState(() { - // // UploadData(); - // messageController.clear(); - // }); - // }, - // => UploadData(), + child: Center( + child: TextFormField( + controller: messageController, + inputFormatters: [ + RemoveEmojiInputFormatter(), + ], + obscureText: false, + style: TextStyle( + fontSize: 16.sp, + color: Colors.white, + ), + autovalidateMode: + AutovalidateMode.onUserInteraction, + decoration: InputDecoration( + contentPadding: + const EdgeInsets.all(10.0), + // filled: true, + // fillColor: Color(0XFF434A53), + border: InputBorder.none, + hintStyle: TextStyle( + fontSize: 14.sp, + color: Color(0XFFFCFCFC) + .withOpacity(0.80), + fontWeight: FontWeight.w400, + fontFamily: 'Helvetica'), + hintText: "Type your message", + suffixIcon: messageController + .text.isNotEmpty || + isImageAdded == true + ? GestureDetector( + // onTap: () => _chatItemsAdd(), + onTap: _sendMessage, + // () { + // setState(() { + // // UploadData(); + // messageController.clear(); + // }); + // }, + // => UploadData(), - child: Padding( - padding: EdgeInsets.only( - right: 8.w, - top: 2.h, - bottom: 2.h), - child: Container( - width: 45.w, - height: 30.h, - decoration: BoxDecoration( - color: Color(0xFFD90B2E), - borderRadius: - BorderRadius.circular( - 30.r)), - child: Center( - child: Icon( - Icons.send_outlined, - color: Colors.white, - ) - // Text( - // 'Send', - // style: TextStyle( - // color: Colors.white, - // fontSize: 16.sp), - // ) - )), - ), - ) - : IconButton( - onPressed: () { - ImageUploadBottomSheet() - .showModal( - context, - true, - (result) { - attachimage = result; - var filenameresult = - extractFileName(result); + child: Padding( + padding: EdgeInsets.only( + right: 8.w, + top: 2.h, + bottom: 2.h), + child: Container( + width: 45.w, + height: 30.h, + decoration: BoxDecoration( + color: + Color(0xFFD90B2E), + borderRadius: + BorderRadius + .circular( + 30.r)), + child: Center( + child: Icon( + Icons.send_outlined, + color: Colors.white, + ) + // Text( + // 'Send', + // style: TextStyle( + // color: Colors.white, + // fontSize: 16.sp), + // ) + )), + ), + ) + : IconButton( + onPressed: () { + ImageUploadBottomSheet() + .showModal( + context, + true, + (result) { + attachimage = result; + var filenameresult = + extractFileName(result); - messageController.text = - filenameresult; - setState(() { - isImageAdded = true; - }); - }, - ); - }, - icon: Icon( - Icons.attach_file, - color: Colors.white, - size: 23.h, + messageController.text = + filenameresult; + setState(() { + isImageAdded = true; + }); + }, + ); + }, + icon: Icon( + Icons.attach_file, + color: Colors.white, + size: 23.h, + ), ), - ), + ), + minLines: 1, + maxLines: 1, + onChanged: (text) { + setState(() {}); + }, ), - minLines: 1, - maxLines: 1, - onChanged: (text) { - setState(() {}); - }, ), ), ), diff --git a/lib/Feed Module/Main_Screens/Chats/View/newgroup.dart b/lib/Feed Module/Main_Screens/Chats/View/newgroup.dart index ce261c7..a6b2d95 100644 --- a/lib/Feed Module/Main_Screens/Chats/View/newgroup.dart +++ b/lib/Feed Module/Main_Screens/Chats/View/newgroup.dart @@ -226,15 +226,18 @@ class _NewGroupPageState extends State { }, ), sizedBoxHeight(20.h), - CustomButton( - text: 'Create group', - onPressed: () { - // Get.toNamed(RouteName.mainscreen); - Get.offUntil( - MaterialPageRoute( - builder: (context) => MainScreen()), - (Route route) => false); - }), + Padding( + padding: EdgeInsets.symmetric(horizontal: 16.w), + child: CustomButton( + text: 'Create group', + onPressed: () { + // Get.toNamed(RouteName.mainscreen); + Get.offUntil( + MaterialPageRoute( + builder: (context) => MainScreen()), + (Route route) => false); + }), + ), sizedBoxHeight(20.h) ], ), diff --git a/lib/Feed Module/Main_Screens/Chats/View/userchat.dart b/lib/Feed Module/Main_Screens/Chats/View/userchat.dart index b024421..15c0059 100644 --- a/lib/Feed Module/Main_Screens/Chats/View/userchat.dart +++ b/lib/Feed Module/Main_Screens/Chats/View/userchat.dart @@ -492,8 +492,8 @@ class _UserChatPageState extends State { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - const Color(0xFFffffff).withOpacity(0.50), - const Color(0xFFFFFFFF).withOpacity(0.50), + const Color(0xFFffffff).withOpacity(0.24), + const Color(0xFFFFFFFF).withOpacity(0.24), ], stops: [ 0.1, @@ -519,8 +519,8 @@ class _UserChatPageState extends State { autovalidateMode: AutovalidateMode.onUserInteraction, decoration: InputDecoration( contentPadding: const EdgeInsets.all(10.0), - filled: true, - fillColor: Color(0XFF434A53), + // filled: true, + // fillColor: Color(0XFF434A53), border: InputBorder.none, hintStyle: TextStyle( fontSize: 14.sp, diff --git a/lib/Feed Module/Main_Screens/Community/Community.dart b/lib/Feed Module/Main_Screens/Community/Community.dart index b613e85..b2d3add 100644 --- a/lib/Feed Module/Main_Screens/Community/Community.dart +++ b/lib/Feed Module/Main_Screens/Community/Community.dart @@ -33,6 +33,7 @@ class _CommunityScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( + resizeToAvoidBottomInset: false, key: _scaffoldKey1, backgroundColor: const Color(0xFF222935), // drawerEnableOpenDragGesture: false, @@ -86,12 +87,15 @@ class _CommunityScreenState extends State { sizedBoxWidth(16.w), ], ), - body: - // const CommonBlurLeftRed(), - // const CommonBlurRightRed(), - // const CommonBlurLeft(), - // const CommonBlurRight(), - Stack(children: [ + body: Stack(clipBehavior: Clip.none, children: [ + Container( + decoration: const BoxDecoration( + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage( + 'assets/images/png/HomeScreenBackground.png', + ))), + ), Padding( padding: const EdgeInsets.symmetric(vertical: 16), child: Column(children: [ diff --git a/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart b/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart index ea71e04..4233d18 100644 --- a/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart +++ b/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart @@ -32,7 +32,8 @@ class _PostDetailsScreenState extends State { Container( decoration: const BoxDecoration( image: DecorationImage( - image: AssetImage("assets/images/png/Ellipse 1496.png"), fit: BoxFit.fill)), + image: AssetImage("assets/images/png/Ellipse 1496.png"), + fit: BoxFit.fill)), ), SingleChildScrollView( child: Column( @@ -51,9 +52,8 @@ class _PostDetailsScreenState extends State { ]), sizedBoxHeight(35.h), Padding( - padding: EdgeInsets.symmetric(horizontal: 16.w), - child: Column( - children: [ + padding: EdgeInsets.symmetric(horizontal: 16.w), + child: Column(children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -78,24 +78,33 @@ class _PostDetailsScreenState extends State { ], ), sizedBoxHeight(50.h), - CustomTextFormField( - hintText: "Add comment", - suffixIcon: Container( - height: 20.h, - width: 25.w, - child: Center( - child: Image.asset( - "assets/images/png/iconoir_send.png", - height: 20.h, - width: 25.w, + Align( + alignment: Alignment.bottomCenter, + child: Padding( + padding: EdgeInsets.only(top: 15, bottom: 15), + child: Row( + children: [ + Expanded( + child: CustomTextFormField( + hintText: "Add comment", + suffixIcon: Container( + height: 20.h, + width: 25.w, + child: Center( + child: Image.asset( + "assets/images/png/iconoir_send.png", + height: 20.h, + width: 25.w, + ), + ), + ), + ), + ) + ], ), - ), - ), - ) - ], - ), - ), - sizedBoxHeight(85.h) + )), + sizedBoxHeight(85.h) + ])) ])) ])); } diff --git a/lib/Feed Module/Main_Screens/Community/PostScreen.dart b/lib/Feed Module/Main_Screens/Community/PostScreen.dart index 4333b5b..9d047f7 100644 --- a/lib/Feed Module/Main_Screens/Community/PostScreen.dart +++ b/lib/Feed Module/Main_Screens/Community/PostScreen.dart @@ -62,6 +62,7 @@ class _PostScreenState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ sizedBoxHeight(20.h), + text16w400_FCFCFC("Caption"), sizedBoxHeight(18.h), @@ -223,7 +224,7 @@ class _PostScreenState extends State { CustomDropDownRadio( header: "", title: "", - listData: ['Individual'], + listData: ['Individual', 'Anonymous'], onItemSelected: (p0) {}, leadingImage: SizedBox()), // CommonDropdownradioBtn( diff --git a/lib/Feed Module/Main_Screens/ExploreDesign/SearchGroup.dart b/lib/Feed Module/Main_Screens/ExploreDesign/SearchGroup.dart index df42dc6..5a17d8e 100644 --- a/lib/Feed Module/Main_Screens/ExploreDesign/SearchGroup.dart +++ b/lib/Feed Module/Main_Screens/ExploreDesign/SearchGroup.dart @@ -25,98 +25,99 @@ class _SearchGroupState extends State { extendBody: true, body: SafeArea( child: Stack(children: [ - const CommonBlurLeftRed(), - const CommonBlurRightRed(), - const CommonBlurLeft(), - const CommonBlurRight(), - Positioned.fill( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: Column(children: [ - sizedBoxHeight(20.h), - commonDivider(), - sizedBoxHeight(20.h), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - SizedBox( - width: 300.w, - child: CustomTextFormField( - leadingIcon: SizedBox( + Container( + decoration: const BoxDecoration( + image: DecorationImage( + image: AssetImage("assets/images/png/Ellipse 1496.png"), + fit: BoxFit.fill)), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column(children: [ + sizedBoxHeight(20.h), + commonDivider(), + sizedBoxHeight(20.h), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + SizedBox( + width: 300.w, + child: CustomTextFormField( + leadingIcon: SizedBox( + height: 23, + width: 23, + child: Center( + child: Image.asset( + "assets/images/png/ion_search-outline.png", height: 23, width: 23, - child: Center( - child: Image.asset( - "assets/images/png/ion_search-outline.png", - height: 23, - width: 23, - ), - ), ), - hintText: "Search groups", ), ), - text14400white("Cancel"), - ], + hintText: "Search groups", + ), ), - sizedBoxHeight(25.h), - Row( - children: [ - text18w700white("Recent"), - Spacer(), - text16w400_FCFCFCblur("See all"), - ], + text14400white("Cancel"), + ], + ), + sizedBoxHeight(25.h), + Row( + children: [ + text18w700white("Recent"), + Spacer(), + text16w400_FCFCFCblur("See all"), + ], + ), + sizedBoxHeight(30.h), + GestureDetector( + onTap: () { + Get.toNamed(RouteName.detailexplore); + }, + child: rowTile( + imagePath: "assets/images/png/ion_search-outline.png", + title: "Athletes"), + ), + sizedBoxHeight(12.h), + commonDivider(), + sizedBoxHeight(16.h), + Row( + children: [ + CircleAvatar( + radius: 15.r, + backgroundImage: + AssetImage("assets/images/png/cimg3.png"), ), - sizedBoxHeight(30.h), - GestureDetector( - onTap: () { - Get.toNamed(RouteName.detailexplore); - }, - child: rowTile( - imagePath: "assets/images/png/ion_search-outline.png", - title: "Athletes"), - ), - sizedBoxHeight(12.h), - commonDivider(), - sizedBoxHeight(16.h), - Row( - children: [ - CircleAvatar( - radius: 15.r, - backgroundImage: - AssetImage("assets/images/png/cimg3.png"), - ), - sizedBoxWidth(12.w), - text16400white("Kartikey gautam"), - Spacer(), - Icon( - Icons.clear, - color: Colors.white, - ) - ], - ), - sizedBoxHeight(12.h), - commonDivider(), - sizedBoxHeight(16.h), - rowTile( - imagePath: "assets/images/png/Black.png", - title: "Athletes"), - sizedBoxHeight(12.h), - commonDivider(), - sizedBoxHeight(16.h), - rowTile( - imagePath: "assets/images/png/Vector (5)aa.png", - title: "Athletes"), - sizedBoxHeight(12.h), - commonDivider(), - sizedBoxHeight(16.h), - rowTile( - imagePath: "assets/images/png/calender.png", - title: "Athletes"), - sizedBoxHeight(12.h), - commonDivider(), - sizedBoxHeight(16.h), - ]))) + sizedBoxWidth(12.w), + text16400white("Kartikey gautam"), + Spacer(), + Icon( + Icons.clear, + color: Colors.white, + ) + ], + ), + sizedBoxHeight(12.h), + commonDivider(), + sizedBoxHeight(16.h), + rowTile( + imagePath: "assets/images/png/Black.png", + title: "Athletes"), + sizedBoxHeight(12.h), + commonDivider(), + sizedBoxHeight(16.h), + rowTile( + imagePath: "assets/images/png/Vector (5)aa.png", + title: "Athletes"), + sizedBoxHeight(12.h), + commonDivider(), + sizedBoxHeight(16.h), + rowTile( + imagePath: "assets/images/png/calender.png", + title: "Athletes"), + sizedBoxHeight(12.h), + commonDivider(), + sizedBoxHeight(16.h), + ])) ]), )); } diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/GroupManage.dart b/lib/Feed Module/Main_Screens/GroupTab/View/GroupManage.dart index acd66fe..69e5612 100644 --- a/lib/Feed Module/Main_Screens/GroupTab/View/GroupManage.dart +++ b/lib/Feed Module/Main_Screens/GroupTab/View/GroupManage.dart @@ -58,47 +58,46 @@ class _GroupManageState extends State { ), ), body: Stack(children: [ - Container( + Container( decoration: const BoxDecoration( image: DecorationImage( image: AssetImage("assets/images/png/Ellipse 1496.png"), fit: BoxFit.fill)), - ), Column( - crossAxisAlignment: CrossAxisAlignment.start, + ), + Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + sizedBoxHeight(20.h), + DefaultTabController( + length: 4, + child: Column( children: [ - sizedBoxHeight(20.h), - DefaultTabController( - length: 4, - child: Column( - children: [ - CommonTabBar(tabs: const [ - Tab( - text: 'Members', - ), - Tab( - text: 'Admins', - ), - Tab( - text: 'Requests', - ), - Tab( - text: 'Invites', - ), - ]), - SizedBox( - height: 655.h, - child: TabBarView( - children: [ - membersTab(), - AdminsTab(), - RequestsTab(), - InvitesTab(), - ], - ), - ), - ], - )) - ]) + CommonTabBar(tabs: const [ + Tab( + text: 'Members', + ), + Tab( + text: 'Admins', + ), + Tab( + text: 'Requests', + ), + Tab( + text: 'Invites', + ), + ]), + SizedBox( + height: 655.h, + child: TabBarView( + children: [ + membersTab(), + AdminsTab(), + RequestsTab(), + InvitesTab(), + ], + ), + ), + ], + )) + ]) ])); } diff --git a/lib/Utils/Common/CustomTextformfield.dart b/lib/Utils/Common/CustomTextformfield.dart index a6caef8..24b617e 100644 --- a/lib/Utils/Common/CustomTextformfield.dart +++ b/lib/Utils/Common/CustomTextformfield.dart @@ -116,6 +116,7 @@ class _CustomTextFormFieldState extends State { enableInteractiveSelection: false, maxLines: widget.maxlines, obscureText: obscureText, + controller: widget.textEditingController, decoration: InputDecoration( hintText: widget.hintText, diff --git a/lib/main.dart b/lib/main.dart index 41732c0..988e5da 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -18,9 +18,11 @@ Future main() async { SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, - ]).then((value) => runApp(StatsFl( - align: Alignment.center, width: 200, height: 100, child: const MyApp()))); + ]).then((value) => runApp(const MyApp())); } +// runApp( +// StatsFl( +// align: Alignment.center, width: 200, height: 100, child: const MyApp()))); class MyApp extends StatefulWidget { const MyApp({super.key}); diff --git a/lib/onboarding/Signup/View/signupscreen.dart b/lib/onboarding/Signup/View/signupscreen.dart index db7f6c6..e160bb7 100644 --- a/lib/onboarding/Signup/View/signupscreen.dart +++ b/lib/onboarding/Signup/View/signupscreen.dart @@ -23,7 +23,7 @@ class _SignupScreenState extends State { TextEditingController _password = TextEditingController(); TextEditingController confirmpasscontroller = TextEditingController(); - final List _dropdownProductItems = [ + List _dropdownProductItems = [ 'Individual', 'Business', ]; @@ -52,343 +52,326 @@ class _SignupScreenState extends State { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - SizedBox( - width: double.infinity, - height: 221.h, - child: Column( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - Padding( - padding: EdgeInsets.only(top: 150.h), - child: - Center(child: text22400white('Create account')), - ), - ], - )), + Padding( + padding: EdgeInsets.only(top: 150.h), + child: Center(child: text22400white('Create account')), + ), Expanded( child: SingleChildScrollView( - child: Column( - children: [ - Padding( - padding: EdgeInsets.symmetric(horizontal: 16.w), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, + child: Padding( + padding: EdgeInsets.symmetric( + horizontal: 16.w, vertical: 30.h), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16400white('Email address'), + sizedBoxHeight(10.h), + CustomTextFormField( + textEditingController: emailidcontroller, + hintText: "Enter your email address", + leadingIcon: + // const Icon(Icons.mail_outline), + SizedBox( + width: 22.w, + height: 17.h, + child: Image.asset( + 'assets/images/png/mail.png', + width: 22.w, + height: 17.h, + ), + ), + // validatorText: "Email Id", + validator: (value) { + if (value!.isEmpty) { + return 'Enter your e-mail address'; + } + if (!RegExp( + r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$') + .hasMatch(value)) { + return 'Enter a valid e-mail address'; + } + return null; + }, + inputFormatters: [ + LengthLimitingTextInputFormatter(20), + RemoveEmojiInputFormatter() + ], + ), + sizedBoxHeight(10.h), + text16400white('Password'), + sizedBoxHeight(10.h), + CustomTextFormField( + isInputPassword: true, + textEditingController: _password, + hintText: 'Enter your password', + leadingIcon: Image.asset( + 'assets/images/png/lock.png', + width: 22.w, + height: 17.h, + ), + // const Icon(Icons.lock_outline), + // validationMessage: "Enter your password", + validator: (val) { + if (val == null || val.isEmpty) { + return 'Please enter your password'; + } + return null; + }, + inputFormatters: [ + LengthLimitingTextInputFormatter(20), + RemoveEmojiInputFormatter() + ], + ), + sizedBoxHeight(10.h), + text16400white('Confirm password'), + sizedBoxHeight(10.h), + CustomTextFormField( + isInputPassword: true, + textEditingController: confirmpasscontroller, + hintText: "Enter your password", + leadingIcon: Image.asset( + 'assets/images/png/lock.png', + width: 22.w, + height: 17.h, + ), + // const Icon(Icons.lock_outline), + // validatorText: "Enter your password", + validator: (val) { + if (val == null || val.isEmpty) { + return 'Please enter your password'; + } + if (val != _password.text) { + return 'Password does not match'; + } + return null; + }, + inputFormatters: [ + LengthLimitingTextInputFormatter(20), + RemoveEmojiInputFormatter() + ], + ), + sizedBoxHeight(10.h), + Row( children: [ - text16400white('Email address'), - sizedBoxHeight(10.h), - CustomTextFormField( - textEditingController: emailidcontroller, - hintText: "Enter your email address", - leadingIcon: - // const Icon(Icons.mail_outline), - SizedBox( - width: 22.w, - height: 17.h, - child: Image.asset( - 'assets/images/png/mail.png', - width: 22.w, - height: 17.h, - ), - ), - // validatorText: "Email Id", - validator: (value) { - if (value!.isEmpty) { - return 'Enter your e-mail address'; - } - if (!RegExp( - r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$') - .hasMatch(value)) { - return 'Enter a valid e-mail address'; - } - return null; - }, - inputFormatters: [ - LengthLimitingTextInputFormatter(20), - RemoveEmojiInputFormatter() - ], - ), - sizedBoxHeight(10.h), - text16400white('Password'), - sizedBoxHeight(10.h), - CustomTextFormField( - isInputPassword: true, - textEditingController: _password, - hintText: 'Enter your password', - leadingIcon: Image.asset( - 'assets/images/png/lock.png', - width: 22.w, - height: 17.h, - ), - // const Icon(Icons.lock_outline), - // validationMessage: "Enter your password", - validator: (val) { - if (val == null || val.isEmpty) { - return 'Please enter your password'; - } - return null; - }, - inputFormatters: [ - LengthLimitingTextInputFormatter(20), - RemoveEmojiInputFormatter() - ], - ), - sizedBoxHeight(10.h), - text16400white('Confirm password'), - sizedBoxHeight(10.h), - CustomTextFormField( - isInputPassword: true, - textEditingController: confirmpasscontroller, - hintText: "Enter your password", - leadingIcon: Image.asset( - 'assets/images/png/lock.png', - width: 22.w, - height: 17.h, - ), - // const Icon(Icons.lock_outline), - // validatorText: "Enter your password", - validator: (val) { - if (val == null || val.isEmpty) { - return 'Please enter your password'; - } - if (val != _password.text) { - return 'Password does not match'; - } - return null; - }, - inputFormatters: [ - LengthLimitingTextInputFormatter(20), - RemoveEmojiInputFormatter() - ], - ), - sizedBoxHeight(10.h), - Row( - children: [ - text16400white('Account type'), - sizedBoxWidth(5.w), - Image.asset( - 'assets/images/png/informationicon.png') - ], - ), - sizedBoxHeight(10.h), - CustomDropDownRadio( - header: 'Select account type', - title: '', - listData: _dropdownProductItems, - onItemSelected: _onItemSelected, - leadingImage: Image.asset( - 'assets/images/png/user.png', - ), - ), - sizedBoxHeight(30.h), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - SizedBox( - width: 320.w, - height: 42.h, - child: Text.rich( - TextSpan( - children: [ - TextSpan( - text: - 'By signing up to ReGroup you agree to our ', - style: TextStyle( - color: const Color(0xCCFCFCFC), - fontSize: 14.sp, - fontFamily: 'Helvetica', - fontWeight: FontWeight.w400, - ), - ), - TextSpan( - text: 'Terms and Conditions', - style: TextStyle( - color: const Color(0xCCFCFCFC), - fontSize: 14.sp, - fontFamily: 'Helvetica', - fontWeight: FontWeight.w700, - decoration: - TextDecoration.underline, - decorationColor: - const Color(0xffFCFCFC) - .withOpacity(0.80), - ), - ), - TextSpan( - text: ' and ', - style: TextStyle( - color: const Color(0xCCFCFCFC), - fontSize: 14.sp, - fontFamily: 'Helvetica', - fontWeight: FontWeight.w400, - ), - ), - TextSpan( - text: 'Privacy Policy', - style: TextStyle( - color: const Color(0xCCFCFCFC), - fontSize: 14.sp, - fontFamily: 'Helvetica', - fontWeight: FontWeight.w700, - decoration: - TextDecoration.underline, - decorationColor: - const Color(0xffFCFCFC) - .withOpacity(0.80), - ), - ), - ], - ), - textAlign: TextAlign.center, - ), - ), - ], - ), - sizedBoxHeight(20.h), - CustomButton( - text: "Continue", - onPressed: () { - if (_selectedAccountType == 'Individual') { - // Get.to(() => IndividualPage()); - print('individual selected'); - Get.toNamed(RouteName.verifyusercreen, - arguments: _selectedAccountType); - } else if (_selectedAccountType == - 'Business') { - print('business selected'); - Get.toNamed(RouteName.verifyusercreen, - arguments: _selectedAccountType); - - // Get.to(() => BusinessPage()); - } else { - // Handle case where no selection is made - utils.showToast( - 'Please select an account type'); - } - }), - sizedBoxHeight(20.h), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container( - width: 160, - decoration: const ShapeDecoration( - shape: RoundedRectangleBorder( - side: BorderSide( - width: 0.50, - strokeAlign: - BorderSide.strokeAlignCenter, - color: Color(0xFF434A53), - ), - ), - ), - ), - sizedBoxWidth(6.w), - text14400white('Or'), - sizedBoxWidth(6.w), - Container( - width: 160, - decoration: const ShapeDecoration( - shape: RoundedRectangleBorder( - side: BorderSide( - width: 0.50, - strokeAlign: - BorderSide.strokeAlignCenter, - color: Color(0xFF434A53), - ), - ), - ), - ), - ], - ), - sizedBoxHeight(20.h), - Center( - child: SizedBox( - width: 220.w, - child: Row( + text16400white('Account type'), + sizedBoxWidth(5.w), + Image.asset( + 'assets/images/png/informationicon.png') + ], + ), + sizedBoxHeight(10.h), + CustomDropDownRadio( + header: 'Select account type', + title: '', + listData: [ + 'Individual', + 'Business', + ], + onItemSelected: (p0) {}, + leadingImage: Image.asset( + 'assets/images/png/user.png', + ), + ), + sizedBoxHeight(30.h), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + SizedBox( + width: 320.w, + height: 42.h, + child: Text.rich( + TextSpan( children: [ - Container( - width: 55, - height: 55, - decoration: ShapeDecoration( - gradient: LinearGradient( - begin: - const Alignment(0.71, -0.70), - end: const Alignment(-0.71, 0.7), - colors: [ - Colors.white.withOpacity( - 0.07999999821186066), - Colors.white.withOpacity( - 0.12999999523162842) - ], - ), - shape: const OvalBorder( - side: BorderSide( - width: 0.50, - color: Color(0xFF434A53)), - ), - image: const DecorationImage( - image: AssetImage( - 'assets/images/png/login2.png'))), + TextSpan( + text: + 'By signing up to ReGroup you agree to our ', + style: TextStyle( + color: const Color(0xCCFCFCFC), + fontSize: 14.sp, + fontFamily: 'Helvetica', + fontWeight: FontWeight.w400, + ), ), - const Spacer(), - Container( - width: 55, - height: 55, - decoration: ShapeDecoration( - gradient: LinearGradient( - begin: - const Alignment(0.71, -0.70), - end: const Alignment(-0.71, 0.7), - colors: [ - Colors.white.withOpacity( - 0.07999999821186066), - Colors.white.withOpacity( - 0.12999999523162842) - ], - ), - shape: const OvalBorder( - side: BorderSide( - width: 0.50, - color: Color(0xFF434A53)), - ), - image: const DecorationImage( - image: AssetImage( - 'assets/images/png/login3.png'))), + TextSpan( + text: 'Terms and Conditions', + style: TextStyle( + color: const Color(0xCCFCFCFC), + fontSize: 14.sp, + fontFamily: 'Helvetica', + fontWeight: FontWeight.w700, + decoration: TextDecoration.underline, + decorationColor: + const Color(0xffFCFCFC) + .withOpacity(0.80), + ), ), - const Spacer(), - Container( - width: 55, - height: 55, - decoration: ShapeDecoration( - gradient: LinearGradient( - begin: - const Alignment(0.71, -0.70), - end: const Alignment(-0.71, 0.7), - colors: [ - Colors.white.withOpacity( - 0.07999999821186066), - Colors.white.withOpacity( - 0.12999999523162842) - ], - ), - shape: const OvalBorder( - side: BorderSide( - width: 0.50, - color: Color(0xFF434A53)), - ), - image: const DecorationImage( - image: AssetImage( - 'assets/images/png/login4.png'))), + TextSpan( + text: ' and ', + style: TextStyle( + color: const Color(0xCCFCFCFC), + fontSize: 14.sp, + fontFamily: 'Helvetica', + fontWeight: FontWeight.w400, + ), + ), + TextSpan( + text: 'Privacy Policy', + style: TextStyle( + color: const Color(0xCCFCFCFC), + fontSize: 14.sp, + fontFamily: 'Helvetica', + fontWeight: FontWeight.w700, + decoration: TextDecoration.underline, + decorationColor: + const Color(0xffFCFCFC) + .withOpacity(0.80), + ), ), ], ), + textAlign: TextAlign.center, ), ), - sizedBoxHeight(20.h), ], ), - ), - ], + sizedBoxHeight(20.h), + CustomButton( + text: "Continue", + onPressed: () { + if (_selectedAccountType == 'Individual') { + // Get.to(() => IndividualPage()); + print('individual selected'); + Get.toNamed(RouteName.verifyusercreen, + arguments: _selectedAccountType); + } else if (_selectedAccountType == 'Business') { + print('business selected'); + Get.toNamed(RouteName.verifyusercreen, + arguments: _selectedAccountType); + + // Get.to(() => BusinessPage()); + } else { + // Handle case where no selection is made + utils.showToast( + 'Please select an account type'); + } + }), + sizedBoxHeight(20.h), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + width: 160, + decoration: const ShapeDecoration( + shape: RoundedRectangleBorder( + side: BorderSide( + width: 0.50, + strokeAlign: BorderSide.strokeAlignCenter, + color: Color(0xFF434A53), + ), + ), + ), + ), + sizedBoxWidth(6.w), + text14400white('Or'), + sizedBoxWidth(6.w), + Container( + width: 160, + decoration: const ShapeDecoration( + shape: RoundedRectangleBorder( + side: BorderSide( + width: 0.50, + strokeAlign: BorderSide.strokeAlignCenter, + color: Color(0xFF434A53), + ), + ), + ), + ), + ], + ), + sizedBoxHeight(20.h), + Center( + child: SizedBox( + width: 220.w, + child: Row( + children: [ + Container( + width: 55, + height: 55, + decoration: ShapeDecoration( + gradient: LinearGradient( + begin: const Alignment(0.71, -0.70), + end: const Alignment(-0.71, 0.7), + colors: [ + Colors.white.withOpacity( + 0.07999999821186066), + Colors.white.withOpacity( + 0.12999999523162842) + ], + ), + shape: const OvalBorder( + side: BorderSide( + width: 0.50, + color: Color(0xFF434A53)), + ), + image: const DecorationImage( + image: AssetImage( + 'assets/images/png/login2.png'))), + ), + const Spacer(), + Container( + width: 55, + height: 55, + decoration: ShapeDecoration( + gradient: LinearGradient( + begin: const Alignment(0.71, -0.70), + end: const Alignment(-0.71, 0.7), + colors: [ + Colors.white.withOpacity( + 0.07999999821186066), + Colors.white.withOpacity( + 0.12999999523162842) + ], + ), + shape: const OvalBorder( + side: BorderSide( + width: 0.50, + color: Color(0xFF434A53)), + ), + image: const DecorationImage( + image: AssetImage( + 'assets/images/png/login3.png'))), + ), + const Spacer(), + Container( + width: 55, + height: 55, + decoration: ShapeDecoration( + gradient: LinearGradient( + begin: const Alignment(0.71, -0.70), + end: const Alignment(-0.71, 0.7), + colors: [ + Colors.white.withOpacity( + 0.07999999821186066), + Colors.white.withOpacity( + 0.12999999523162842) + ], + ), + shape: const OvalBorder( + side: BorderSide( + width: 0.50, + color: Color(0xFF434A53)), + ), + image: const DecorationImage( + image: AssetImage( + 'assets/images/png/login4.png'))), + ), + ], + ), + ), + ), + sizedBoxHeight(20.h), + ], + ), ), ), ) diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart index 7696e5c..ddfcda4 100644 --- a/lib/resources/routes/route_name.dart +++ b/lib/resources/routes/route_name.dart @@ -79,6 +79,8 @@ class RouteName { static const String changepassword = '/changepassword'; static const String addtimeline = '/addtimeline'; static const String verifycode = '/verifycode'; + static const String availability = '/availability'; + //Group Tab diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart index 2e258de..cfa02e7 100644 --- a/lib/resources/routes/routes.dart +++ b/lib/resources/routes/routes.dart @@ -3,6 +3,7 @@ import 'package:get/get_navigation/src/routes/get_route.dart'; import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/AddEvent/AddEvent.dart'; import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/AddUsers/AddUsers.dart'; +import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/Availabillity.dart'; import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/EventDetails.dart'; import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/ManageMenmbers/ManageMembersCal.dart'; import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/Resource%20Pool/ResourcePool.dart'; @@ -465,5 +466,9 @@ class AppRoutes { name: RouteName.certificate, page: () => const Certificate(), ), + GetPage( + name: RouteName.availability, + page: () => const Availability(), + ), ]; }