facebook login

This commit is contained in:
poojapandeyx
2024-07-04 19:08:55 +05:30
20 changed files with 1606 additions and 398 deletions

BIN
assets/images/png/arrow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -161,8 +161,8 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) {
BottomNavigationBarItem(
icon: Image.asset(
'assets/images/png/BottomBar/inactiveCal.png',
height: 25.h,
width: 25.w,
height: 22.h,
width: 22.w,
),
activeIcon: Stack(
clipBehavior: Clip.none,
@@ -174,7 +174,7 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) {
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),
@@ -224,7 +224,7 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) {
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),
@@ -264,8 +264,8 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) {
BottomNavigationBarItem(
icon: Image.asset(
'assets/images/png/BottomBar/inactivePeople.png',
height: 25.h,
width: 25.w,
height: 22.h,
width: 22.w,
),
activeIcon: Stack(
clipBehavior: Clip.none,
@@ -277,7 +277,7 @@ GlassmorphicContainer bottomnavigationbar(MainController _mainController) {
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),

View File

@@ -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<Availability> createState() => _AvailabilityState();
}
CalendarController? _calendarController;
List<Appointment>? _appointments;
List<CalendarResource> _employeeCollection = <CalendarResource>[];
// final List<String> _nameCollection = <String>[];
// final List<String> _userImages = <String>[];
class _AvailabilityState extends State<Availability> {
@override
void initState() {
super.initState();
_calendarController = CalendarController();
_appointments = <Appointment>[
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>[
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: <Widget>[
Text('Event: ${appointment.subject}'),
Text('From: ${appointment.startTime}'),
Text('To: ${appointment.endTime}'),
],
),
actions: <Widget>[
ElevatedButton(
child: Text('Close'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
}
}
}
class MeetingDataSource extends CalendarDataSource {
MeetingDataSource(
List<Appointment> source, List<CalendarResource> resourceColl) {
appointments = source;
resources = resourceColl;
}
}

View File

@@ -53,78 +53,50 @@ class _CalenderTabState extends State<CalenderTab> {
},
];
CalendarController? _calendarController;
CalendarController? _sessionCalController;
CalendarController? _comCalController;
List<Appointment>? _appointments;
List<CalendarResource> _employeeCollection = <CalendarResource>[];
// final List<String> _nameCollection = <String>[];
// final List<String> _userImages = <String>[];
DateTime? _startDate;
DateTime? _endDate;
bool _isRangeSelection = false;
@override
void initState() {
super.initState();
_calendarController = CalendarController();
_sessionCalController = CalendarController();
_comCalController = CalendarController();
_appointments = <Appointment>[
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>[
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,
),
];
}
@@ -195,7 +167,8 @@ class _CalenderTabState extends State<CalenderTab> {
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 +246,143 @@ class _CalenderTabState extends State<CalenderTab> {
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),
),
),
// 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,
),
timelineAppointmentHeight: 60.h,
// timeIntervalWidth: 100,
// timeIntervalHeight: 50,
timeIntervalWidth: 70,
),
monthCellBuilder: (context, details) {
return Container(
decoration: BoxDecoration(
color: Colors.transparent,
weekNumberStyle: WeekNumberStyle(
textStyle: TextStyle(color: Colors.white)),
viewHeaderStyle: ViewHeaderStyle(
// backgroundColor: Colors.amber,
dateTextStyle: TextStyle(color: Colors.white),
dayTextStyle: TextStyle(
color: Color(0xFFD90B2E),
),
child: Center(
child: Text(
details.date.day.toString(),
style: TextStyle(
color: Colors.white), // Set text color to 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,
),
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,
),
),
);
},
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),
)),
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: 6.h,
left: 190.w,
child: InkWell(
onTap: () {
Get.toNamed(RouteName.availability);
},
child: Container(
height: 25.h,
width: 50.w,
decoration: BoxDecoration(
border: Border.all(
color: Colors.blue,
),
],
),
),
);
}),
),
borderRadius: BorderRadius.circular(15.r)),
child: Center(child: text10400white("view")),
)
// Image.asset(
// "assets/images/png/calender.png",
// color: Colors.blue,
// height: 18.h,
// width: 18.w,
// ),
))
]),
// commonGlassContainer(
// width: double.infinity,
@@ -413,14 +420,14 @@ class _CalenderTabState extends State<CalenderTab> {
// ),
// 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 +541,126 @@ class _CalenderTabState extends State<CalenderTab> {
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 +712,14 @@ class _CalenderTabState extends State<CalenderTab> {
// ),
// 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"]);
// }),
// )
],
),
);
@@ -779,60 +852,12 @@ class _CalenderTabState extends State<CalenderTab> {
);
}
}
// 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<Appointment> source, List<CalendarResource> resourceColl) {
List<Appointment> source,
) {
appointments = source;
resources = resourceColl;
}
}

View File

@@ -226,15 +226,18 @@ class _NewGroupPageState extends State<NewGroupPage> {
},
),
sizedBoxHeight(20.h),
CustomButton(
text: 'Create group',
onPressed: () {
// Get.toNamed(RouteName.mainscreen);
Get.offUntil(
MaterialPageRoute(
builder: (context) => MainScreen()),
(Route<dynamic> 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<dynamic> route) => false);
}),
),
sizedBoxHeight(20.h)
],
),

View File

@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_reaction_button/flutter_reaction_button.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:glass_kit/glass_kit.dart';
import 'package:regroup/Common/CommonBottomNavigationBar.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonTabBar.dart';
@@ -169,19 +170,43 @@ Widget feedTab() {
return SingleChildScrollView(
child: Column(children: [
sizedBoxHeight(16.h),
normalcardtile(
normalcardtile2(
profileImg: 'assets/images/png/Ellipse 43.png',
title: 'Edward Hackket',
mainImg: 'assets/images/png/Rectangle 24.png',
containerTitle: ['Cycle', 'Marathon', 'Events', 'Marathon', 'Events']),
sizedBoxHeight(20.h),
announcecardtile(
profileImg: 'assets/images/png/Ellipse 48.png',
title: 'Jocelyn Dokidis',
mainImg: 'assets/images/png/Rectangle 46.png',
containerTitle: ['Race', 'Swimming', 'Events', 'Marathon', 'Events']),
// announcecardtile(
// profileImg: 'assets/images/png/Ellipse 48.png',
// title: 'Jocelyn Dokidis',
// mainImg: 'assets/images/png/Rectangle 46.png',
// containerTitle: ['Race', 'Swimming', 'Events', 'Marathon', 'Events']),
sizedBoxHeight(20.h),
normalcardtile(
normalcardtile2(
profileImg: 'assets/images/png/Ellipse 52.png',
title: 'Ryan Dorwat',
mainImg: 'assets/images/png/Rectangle 25.png',
containerTitle: [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
]),
sizedBoxHeight(20.h),
normalcardtile2(
profileImg: 'assets/images/png/Ellipse 52.png',
title: 'Ryan Dorwat',
mainImg: 'assets/images/png/Rectangle 25.png',
containerTitle: [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
]),
sizedBoxHeight(20.h),
normalcardtile2(
profileImg: 'assets/images/png/Ellipse 52.png',
title: 'Ryan Dorwat',
mainImg: 'assets/images/png/Rectangle 25.png',
@@ -545,6 +570,419 @@ Widget announcecardtile({
));
}
Widget normalcardtile2({
required String profileImg,
required String title,
required String mainImg,
required List<String> containerTitle,
}) {
var mainImage = 'assets/images/png/uiw_like-o.png'.obs;
void updateImage(String reaction) {
if (reaction == 'like') {
mainImage.value = 'assets/images/png/f7_hand-thumbsup.png';
} else if (reaction == 'heart') {
mainImage.value = 'assets/images/png/heart 2.png';
} else if (reaction == 'party') {
mainImage.value = 'assets/images/png/party-popper 2.png';
}
}
return GlassContainer(
height: 580,
width: double.infinity,
blur: 6,
alignment: Alignment.center,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xFFFFFFFF).withOpacity(0.04),
const Color(0xFFFFFFFF).withOpacity(0.05),
],
stops: const [
0.1,
1,
],
),
borderGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xff434A53),
Color(0xff434A53),
],
),
elevation: 3.0,
isFrostedGlass: true,
frostedOpacity: 0.04,
child: Column(
children: [
sizedBoxHeight(25.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
CircleAvatar(
foregroundImage: AssetImage(profileImg),
radius: 25.r,
),
sizedBoxWidth(12.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
text16w400_FCFCFC(title),
sizedBoxHeight(5.h),
Row(
children: [
Image.asset(
'assets/images/png/community 1 (traced).png',
height: 14.w,
width: 14.w,
),
sizedBoxWidth(7.w),
text12w400_FCFCFC('Active alliance network'),
sizedBoxWidth(7.w),
Icon(
Icons.circle,
color: const Color(0xFFFCFCFC),
size: 4.sp,
),
sizedBoxWidth(6.w),
text12w400_FCFCFC('1 Hour ago'),
],
)
],
),
const Spacer(),
PopupMenuButton(
surfaceTintColor: const Color(0xFF222935),
constraints: BoxConstraints.tightFor(width: 176.w),
offset: const Offset(0, 50),
color: const Color(0xFF222935),
tooltip: "",
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
PopupMenuItem(
onTap: () {},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
child: Row(
children: [
Text(
'Report Post',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
),
const Spacer(),
Image.asset(
"assets/images/png/Vector (5).png",
height: 15.h,
width: 15.w,
)
],
),
),
),
const PopupMenuDivider(),
PopupMenuItem(
onTap: () {},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
child: Row(
children: [
Text(
'Share post',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
),
const Spacer(),
Image.asset(
"assets/images/png/share.png",
height: 20.h,
width: 20.w,
)
],
),
),
),
const PopupMenuDivider(),
PopupMenuItem(
onTap: () {},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
child: Row(
children: [
Text(
'Pin',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
),
const Spacer(),
Image.asset(
"assets/images/png/f7_pin-fill (2).png",
height: 25.h,
width: 25.w,
)
],
),
),
),
],
child: Image.asset(
'assets/images/png/Group 1000004071.png',
width: 16.w,
height: 18.h,
),
),
sizedBoxWidth(5.w)
],
),
),
sizedBoxHeight(20.h),
GestureDetector(
onTap: () {
Get.toNamed(RouteName.postdetailsScreen);
},
child: Container(
height: 163.h,
width: double.infinity,
child: Image.asset(
mainImg,
fit: BoxFit.cover,
),
)),
sizedBoxHeight(20.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Column(children: [
SizedBox(
height: 30.h,
child: ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: containerTitle.length,
itemBuilder: (context, index) {
return Padding(
padding: EdgeInsets.only(right: 12.w),
child: GestureDetector(
onTap: () {
Get.toNamed(RouteName.cyclescreen);
},
child: containertile2(
text: ("#${containerTitle[index]}"))),
);
},
),
),
sizedBoxHeight(20.h),
text16w400_FCFCFC(
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s . . ."),
Row(children: [
// InkWell(
// onTap: () {
// Get.toNamed(RouteName.reactionview);
// },
// child: stackReaction(number: '20', containerImages: [
// 'assets/images/png/f7_hand-thumbsup.png',
// 'assets/images/png/heart 2.png',
// 'assets/images/png/party-popper 2.png'
// ]),
// ),
const Spacer(),
GlassContainer(
height: 30,
width: 30,
blur: 6,
alignment: Alignment.center,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xFFFFFFFF).withOpacity(0.05),
const Color(0xFFFFFFFF).withOpacity(0.06),
],
stops: const [
0.1,
1,
],
),
borderGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xff434A53),
Color(0xff434A53),
],
),
elevation: 3.0,
isFrostedGlass: true,
frostedOpacity: 0.12,
borderRadius: BorderRadius.circular(100),
child: Center(
child: Image.asset(
'assets/images/png/Frame 1000004088.png',
height: 13.h,
width: 13.w,
),
),
),
sizedBoxWidth(12.w),
text14w400_FCFCFC('20'),
sizedBoxWidth(20.w),
GlassContainer(
height: 30,
width: 30,
blur: 6,
alignment: Alignment.center,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xFFFFFFFF).withOpacity(0.05),
const Color(0xFFFFFFFF).withOpacity(0.06),
],
stops: const [
0.1,
1,
],
),
borderGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xff434A53),
Color(0xff434A53),
],
),
elevation: 3.0,
isFrostedGlass: true,
frostedOpacity: 0.12,
borderRadius: BorderRadius.circular(100),
child: Center(
child: Image.asset(
'assets/images/png/Vector (1).png',
height: 12.h,
width: 12.w,
),
),
),
sizedBoxWidth(12.w),
text14w400_FCFCFC('10'),
]),
sizedBoxHeight(12.h),
commonDivider(),
sizedBoxHeight(12.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Obx(() {
return ReactionButton<String>(
onReactionChanged: (reaction) {
updateImage(reaction?.value ?? 'like');
debugPrint('Selected value: ${reaction?.value}');
},
reactions: <Reaction<String>?>[
Reaction<String>(
value: 'like',
previewIcon: _buildReactionsPreviewIcon(
'assets/images/png/f7_hand-thumbsup.png'),
icon: _buildReactionsIcon(
'assets/images/png/f7_hand-thumbsup.png',
),
),
Reaction<String>(
value: 'heart',
previewIcon: _buildReactionsPreviewIcon(
'assets/images/png/heart 2.png'),
icon: _buildReactionsIcon(
'assets/images/png/heart 2.png'),
),
Reaction<String>(
value: 'party',
previewIcon: _buildReactionsPreviewIcon(
'assets/images/png/party-popper 2.png'),
icon: _buildReactionsIcon(
'assets/images/png/party-popper 2.png'),
),
],
selectedReaction: Reaction<String>(
value: 'like',
icon: _buildReactionsIcon(
'assets/images/png/f7_hand-thumbs.png'),
),
boxColor: Colors.white,
boxElevation: 2,
boxRadius: 30,
itemsSpacing: 8,
itemScale: 0.4,
itemSize: const Size(45, 45),
boxPadding: const EdgeInsets.all(8),
boxAnimationDuration:
const Duration(milliseconds: 200),
itemAnimationDuration:
const Duration(milliseconds: 500),
hoverDuration: const Duration(milliseconds: 700),
// toggle: false,
direction: ReactionsBoxAlignment.rtl,
child: _buildReactionsIcon(mainImage.value),
);
})
],
),
GestureDetector(
onTap: () {
Get.toNamed(RouteName.postdetailsScreen);
},
child: Column(
children: [
Image.asset(
'assets/images/png/Frame 1000004088.png',
height: 19.h,
width: 19.w,
),
sizedBoxHeight(8.h),
text11w400_FCFCFC('Comment')
],
),
),
Column(
children: [
Image.asset(
'assets/images/png/Frame 1000004089.png',
height: 19.h,
width: 19.w,
),
sizedBoxHeight(8.h),
text11w400_FCFCFC('Save')
],
)
],
),
sizedBoxHeight(12.h),
commonDivider(),
sizedBoxHeight(12.h),
]),
),
],
));
}
Widget normalcardtile({
required String profileImg,
required String title,
@@ -929,6 +1367,42 @@ Widget containertile({required String text}) {
));
}
Widget containertile2({required String text}) {
return GlassContainer(
height: 30,
width: 130,
blur: 6,
alignment: Alignment.center,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xFFFFFFFF).withOpacity(0.05),
const Color(0xFFFFFFFF).withOpacity(0.06),
],
stops: const [
0.1,
1,
],
),
borderGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xFFD90B2E),
Color(0xFFD90B2E),
],
),
elevation: 3.0,
isFrostedGlass: true,
frostedOpacity: 0.12,
borderRadius: BorderRadius.circular(30),
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.w),
child: Center(child: text14w400_FCFCFC(text)),
));
}
Widget popularTab() {
return SingleChildScrollView(
child: Column(
@@ -946,6 +1420,30 @@ Widget popularTab() {
'Events'
]),
sizedBoxHeight(20.h),
normalcardtile(
profileImg: 'assets/images/png/Ellipse 52.png',
title: 'Edward Hackket',
mainImg: 'assets/images/png/Rectangle 25.png',
containerTitle: [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
]),
sizedBoxHeight(20.h),
normalcardtile(
profileImg: 'assets/images/png/Ellipse 52.png',
title: 'Edward Hackket',
mainImg: 'assets/images/png/Rectangle 25.png',
containerTitle: [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
]),
sizedBoxHeight(20.h),
normalcardtile(
profileImg: 'assets/images/png/Ellipse 52.png',
title: 'Edward Hackket',

View File

@@ -32,7 +32,8 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
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<PostDetailsScreen> {
]),
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<PostDetailsScreen> {
],
),
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: <Widget>[
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)
]))
]))
]));
}

View File

@@ -25,98 +25,99 @@ class _SearchGroupState extends State<SearchGroup> {
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),
]))
]),
));
}

View File

@@ -103,7 +103,7 @@ class _GroupDetailState extends State<GroupDetail> {
PopupMenuDivider(),
PopupMenuItem(
onTap: () {
Get.toNamed(RouteName.groupevent);
Get.toNamed(RouteName.sessions);
},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 8.w),
@@ -259,7 +259,8 @@ class _GroupDetailState extends State<GroupDetail> {
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:

View File

@@ -48,7 +48,8 @@ class _NewPostState extends State<NewPost> {
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: EdgeInsets.symmetric(horizontal: 16.w),
@@ -125,19 +126,26 @@ class _NewPostState extends State<NewPost> {
padding:
EdgeInsets.symmetric(vertical: 16.h),
child: Column(
children: [
Image.asset(
"assets/images/png/bi_download.png",
height: 36.h,
width: 36.w,
),
sizedBoxHeight(10.h),
text14w400_FCFCFC("Upload image"),
sizedBoxHeight(8.h),
text8w400_8A8A8A(
"Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
],
),
mainAxisAlignment:
MainAxisAlignment.center,
children: [
Image.asset(
"assets/images/png/file 1.png",
height: 44.h,
width: 44.w,
),
sizedBoxHeight(10.h),
Row(
mainAxisAlignment:
MainAxisAlignment.center,
children: [
text8w400_white(
"Drag and Drop file here or "),
text8w700_white("Choose file")
],
),
sizedBoxHeight(8.h),
]),
)),
),
),

View File

@@ -0,0 +1,343 @@
import 'dart:io';
import 'package:dotted_border/dotted_border.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:regroup/Common/CommonButton.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/CommonDropdown.dart';
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/ImageUpload.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
class Sessions extends StatefulWidget {
const Sessions({super.key});
@override
State<Sessions> createState() => _SessionsState();
}
RxBool isChecked = false.obs;
List<File?> bannerPath = [];
bool isbannerAdded = false;
class _SessionsState extends State<Sessions> {
@override
Widget build(BuildContext context) {
return Scaffold(
// key: _scaffoldKey1,
resizeToAvoidBottomInset: false,
backgroundColor: Color(0xFF222935),
extendBody: true,
appBar: CommonAppbar(
titleTxt: "Sessions",
),
body: Stack(children: [
Container(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/png/Ellipse 1496.png"),
fit: BoxFit.fill)),
),
SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
sizedBoxHeight(30.h),
text16w400_FCFCFC("Session Title"),
sizedBoxHeight(25.h),
CustomTextFormField(
hintText: "",
leadingIcon: Container(
height: 20.h,
width: 20.w,
child: Center(
child: Image.asset(
"assets/images/png/Vector (5)12.png",
height: 20.h,
width: 20.w,
),
),
),
),
sizedBoxHeight(25.h),
Text.rich(
TextSpan(children: [
TextSpan(
text: 'Description ',
style: TextStyle(
color: const Color(0xFFFCFCFC),
fontSize: 16.sp,
fontFamily: 'Helvetica',
fontWeight: FontWeight.w400,
),
),
TextSpan(
text: '(optional)',
style: TextStyle(
color: const Color(0xFFFCFCFC),
fontSize: 14.sp,
fontFamily: 'Helvetica',
fontWeight: FontWeight.w400,
),
),
]),
),
sizedBoxHeight(25.h),
CustomTextFormField2(),
text16w400_FCFCFC('Type of session'),
sizedBoxHeight(25.h),
CustomDropDownRadio(
header: "",
title: "",
listData: ["hhh"],
onItemSelected: (p0) {},
leadingImage: Image.asset(
"assets/images/png/Vector (5)12.png")),
sizedBoxHeight(25.h),
text16w400_FCFCFC('Sport'),
sizedBoxHeight(25.h),
CustomDropDownRadio(
header: "",
title: "",
listData: ["hhh"],
onItemSelected: (p0) {},
leadingImage: Image.asset(
"assets/images/png/Vector (4).png")),
sizedBoxHeight(25.h),
text16w400_FCFCFC('Starts'),
sizedBoxHeight(25.h),
CustomTextFormField(
leadingIcon: Container(
height: 20.h,
width: 20.w,
child: Center(
child: Image.asset(
"assets/images/png/clock.png",
height: 20.h,
width: 20.w,
),
)),
hintText: "Thu, Jan 20 08:00 pm",
),
sizedBoxHeight(10.h),
Row(
children: [
Obx(() {
return commonGlassContainer(
border: 1,
borderradius: 2,
height: 23.h,
width: 23.w,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Transform.scale(
scale: 1.4,
child: Checkbox(
side: BorderSide(color: Color(0xFF434A53)),
value: isChecked.value,
activeColor: Colors.transparent,
checkColor: Colors.white,
onChanged: ((value) {
isChecked.value = value!;
}),
),
),
);
}),
sizedBoxWidth(8.w),
text14w400_FCFCFC("Repeat event")
],
),
sizedBoxHeight(20.h),
text16w400_FCFCFC("Location"),
sizedBoxHeight(20.h),
CustomTextFormField(
hintText: "",
leadingIcon: Container(
height: 20.h,
width: 20.w,
child: Center(
child: Image.asset(
"assets/images/png/Group 58645.png",
height: 20.h,
width: 20.w,
),
),
),
),
sizedBoxHeight(25.h),
text16w400_FCFCFC("Post in"),
sizedBoxHeight(25.h),
CustomDropDownRadio(
header: "",
title: "",
listData: ["hryy"],
onItemSelected: (p0) {},
leadingImage:
Image.asset("assets/images/png/Black.png")),
sizedBoxHeight(25.h),
text16w400_FCFCFC("Add Users"),
sizedBoxHeight(25.h),
CustomTextFormField(
hintText: "",
leadingIcon: Container(
height: 20.h,
width: 20.w,
child: Center(
child: Image.asset(
"assets/images/png/Group122.png",
height: 20.h,
width: 20.w,
),
)),
suffixIcon: Container(
height: 20.h,
width: 20.h,
child: Center(
child: Image.asset(
"assets/images/png/arrow.png",
height: 20.h,
width: 20.h,
),
),
),
),
sizedBoxHeight(25.h),
text16w400_FCFCFC("Reminder"),
sizedBoxHeight(25.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
commonGlassContainer(
height: 50.h,
width: 127.w,
borderradius: 30.r,
border: 1,
customWidget: Center(
child: text16400white("2"),
)),
commonGlassContainer(
height: 50.h,
width: 215.w,
borderradius: 30.r,
border: 1,
customWidget: Center(
child: Row(
mainAxisAlignment:
MainAxisAlignment.center,
children: [
text16400white("Minutes"),
sizedBoxWidth(5.w),
Icon(
Icons.keyboard_arrow_down,
color: Colors.white,
)
],
),
))
]),
sizedBoxHeight(20.h),
text16w400_FCFCFC("session image"),
sizedBoxHeight(25.h),
GestureDetector(
onTap: () {
ImageUploadBottomSheet().showModal(
context,
false,
(result) {
var file = File(result);
bannerPath.add(file);
isbannerAdded = true;
setState(() {});
},
);
},
child: DottedBorder(
strokeWidth: 1,
dashPattern: [7, 4],
borderType: BorderType.RRect,
radius: Radius.circular(14.r),
color: Color(0xFF434A53),
child: commonGlassContainer(
border: 0,
width: double.infinity,
height: 130.h,
borderradius: 10.r,
customWidget: bannerPath.isNotEmpty &&
isbannerAdded
? Stack(children: [
Image.file(
bannerPath[0]!,
fit: BoxFit.cover,
width: double.infinity,
),
Positioned(
right: 5,
bottom: 5,
child: GestureDetector(
onTap: () {
bannerPath.clear();
isbannerAdded = false;
setState(() {});
},
child: Container(
width: 27,
height: 27,
decoration: ShapeDecoration(
color: Color(0xFF7E7E7E),
shape:
RoundedRectangleBorder(
borderRadius:
BorderRadius
.circular(
5)),
),
child: Icon(
Icons
.delete_outline_outlined,
color: Colors.white,
))),
),
])
: Padding(
padding: EdgeInsets.symmetric(
vertical: 16.h),
child: Column(
children: [
Image.asset(
"assets/images/png/bi_download.png",
height: 36.h,
width: 36.w,
),
sizedBoxHeight(10.h),
text14w400_FCFCFC(
"Upload session image"),
sizedBoxHeight(8.h),
text8w400_8A8A8A(
"Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
],
),
)),
),
),
sizedBoxHeight(25.h),
CustomDropDownRadio(
header: "More options",
title: "",
listData: [""],
onItemSelected: (p0) {},
leadingImage: SizedBox()),
sizedBoxHeight(30.h),
CommonBtn(text: "Create event"),
sizedBoxHeight(50.h),
])))
]));
}
}

View File

@@ -34,12 +34,12 @@ class _LoginScreenState extends State<LoginScreen> {
@override
void initState() {
// TODO: implement initState
// _checkIfisLoggedIn();
super.initState();
}
_checkIfisLoggedIn() async {
//user token
final accessToken = await FacebookAuth.instance.accessToken;
setState(() {

View File

@@ -116,6 +116,7 @@ class _CustomTextFormFieldState extends State<CustomTextFormField> {
enableInteractiveSelection: false,
maxLines: widget.maxlines,
obscureText: obscureText,
controller: widget.textEditingController,
decoration: InputDecoration(
hintText: widget.hintText,

View File

@@ -21,6 +21,7 @@ Widget text22400white(String text) {
fontFamily: 'Helvetica'),
);
}
Widget text22400FCFCFC(String text) {
return Text(
text,
@@ -709,3 +710,16 @@ Widget text8w400_white(String text) {
fontWeight: FontWeight.w400),
);
}
Widget text8w700_white(String text) {
return Text(
text,
style: TextStyle(
decoration: TextDecoration.underline,
decorationColor: Colors.white,
fontSize: 8.sp,
color: Colors.white,
fontFamily: 'Helvetica',
fontWeight: FontWeight.w700),
);
}

View File

@@ -27,6 +27,10 @@ Future<void> main() async {
);
}
// runApp(
// StatsFl(
// align: Alignment.center, width: 200, height: 100, child: const MyApp())));
class MyApp extends StatefulWidget {
const MyApp({super.key});

View File

@@ -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
@@ -92,6 +94,8 @@ class RouteName {
static const String groupevent = '/groupevent';
static const String connectcommunity = '/connectcommunity';
static const String certificate = '/certificate';
static const String sessions = '/sessions';
//subgroup

View File

@@ -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';
@@ -25,6 +26,7 @@ import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/GroupManage.dar
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/GroupTab.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/NewPost.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/RequestedGroups.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/Sessions.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/SubGroup/EditSubgroupInfo.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/SubGroup/SubGroupInfo.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/SubGroup/SubgroupSetting.dart';
@@ -465,5 +467,14 @@ class AppRoutes {
name: RouteName.certificate,
page: () => const Certificate(),
),
GetPage(
name: RouteName.availability,
page: () => const Availability(),
),
GetPage(
name: RouteName.sessions,
page: () => const Sessions(),
),
];
}

View File

@@ -368,6 +368,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.6.6"
glass_kit:
dependency: "direct main"
description:
name: glass_kit
sha256: ccb7c31b07403d757bd338901a0f4859c081db05a6593916be87d7c20f07d9b7
url: "https://pub.dev"
source: hosted
version: "4.0.1"
glassmorphism:
dependency: "direct main"
description:

View File

@@ -67,6 +67,7 @@ dependencies:
glassmorphism_ui: ^0.3.0
show_fps: ^1.0.6
statsfl: ^2.3.0
glass_kit: ^4.0.1
flutter_facebook_auth: ^6.0.4