Merge pull request 'Development' (#7) from Development into main

Reviewed-on: #7
This commit is contained in:
2024-07-03 14:49:19 +00:00
22 changed files with 1354 additions and 1055 deletions

View File

@@ -0,0 +1,3 @@
<svg width="27" height="27" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.191 17.4611C19.7172 17.1017 20.3345 16.8987 20.9713 16.8755C21.6082 16.8523 22.2386 17.0099 22.7896 17.33C23.3407 17.6501 23.7898 18.1197 24.0851 18.6844C24.3804 19.2491 24.5097 19.8859 24.4582 20.5211C23.1084 20.9929 21.6747 21.1764 20.2496 21.06C20.2452 19.7849 19.878 18.5364 19.191 17.4622C18.5811 16.5058 17.7398 15.7185 16.745 15.1734C15.7502 14.6283 14.634 14.343 13.4996 14.3437C12.3654 14.3432 11.2494 14.6286 10.2548 15.1737C9.26017 15.7188 8.41909 16.5059 7.80934 17.4622M20.2485 21.0589L20.2496 21.0937C20.2496 21.3469 20.2361 21.5966 20.208 21.843C18.1665 23.0143 15.8532 23.6288 13.4996 23.625C11.0583 23.625 8.76671 22.977 6.79121 21.843C6.76229 21.5826 6.74839 21.3208 6.74959 21.0589M6.74959 21.0589C5.32492 21.1795 3.89198 20.9966 2.54321 20.5222C2.49186 19.8872 2.62128 19.2507 2.91652 18.6861C3.21176 18.1216 3.66075 17.6521 4.21159 17.3321C4.76243 17.012 5.39261 16.8544 6.02927 16.8774C6.66593 16.9004 7.28307 17.1032 7.80934 17.4622M6.74959 21.0589C6.75363 19.7839 7.12266 18.5365 7.80934 17.4622M16.8746 7.59375C16.8746 8.48886 16.519 9.3473 15.8861 9.98024C15.2531 10.6132 14.3947 10.9687 13.4996 10.9687C12.6045 10.9687 11.746 10.6132 11.1131 9.98024C10.4802 9.3473 10.1246 8.48886 10.1246 7.59375C10.1246 6.69864 10.4802 5.8402 11.1131 5.20726C11.746 4.57433 12.6045 4.21875 13.4996 4.21875C14.3947 4.21875 15.2531 4.57433 15.8861 5.20726C16.519 5.8402 16.8746 6.69864 16.8746 7.59375ZM23.6246 10.9687C23.6246 11.3012 23.5591 11.6303 23.4319 11.9374C23.3047 12.2445 23.1182 12.5236 22.8832 12.7586C22.6482 12.9937 22.3691 13.1801 22.062 13.3073C21.7549 13.4345 21.4257 13.5 21.0933 13.5C20.7609 13.5 20.4318 13.4345 20.1247 13.3073C19.8176 13.1801 19.5385 12.9937 19.3035 12.7586C19.0684 12.5236 18.882 12.2445 18.7548 11.9374C18.6276 11.6303 18.5621 11.3012 18.5621 10.9687C18.5621 10.2974 18.8288 9.65359 19.3035 9.17889C19.7782 8.70418 20.422 8.4375 21.0933 8.4375C21.7647 8.4375 22.4085 8.70418 22.8832 9.17889C23.3579 9.65359 23.6246 10.2974 23.6246 10.9687ZM8.43709 10.9687C8.43709 11.3012 8.37161 11.6303 8.24441 11.9374C8.1172 12.2445 7.93075 12.5236 7.6957 12.7586C7.46065 12.9937 7.18161 13.1801 6.8745 13.3073C6.5674 13.4345 6.23825 13.5 5.90584 13.5C5.57343 13.5 5.24427 13.4345 4.93717 13.3073C4.63006 13.1801 4.35102 12.9937 4.11597 12.7586C3.88092 12.5236 3.69447 12.2445 3.56727 11.9374C3.44006 11.6303 3.37459 11.3012 3.37459 10.9687C3.37459 10.2974 3.64127 9.65359 4.11597 9.17889C4.59067 8.70418 5.23451 8.4375 5.90584 8.4375C6.57717 8.4375 7.221 8.70418 7.6957 9.17889C8.1704 9.65359 8.43709 10.2974 8.43709 10.9687Z" stroke="#FCFCFC" stroke-opacity="0.5" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

View File

@@ -0,0 +1,3 @@
<svg width="19" height="20" viewBox="0 0 19 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.2475 0.985142C8.59165 0.675934 9.03797 0.504883 9.50062 0.504883C9.96328 0.504883 10.4096 0.675934 10.7537 0.985142L17.6287 7.16264C17.8242 7.33842 17.9805 7.55335 18.0876 7.79346C18.1946 8.03357 18.2499 8.29351 18.25 8.55639V17.3751C18.25 17.8724 18.0525 18.3493 17.7008 18.701C17.3492 19.0526 16.8723 19.2501 16.375 19.2501H13.25C12.7527 19.2501 12.2758 19.0526 11.9242 18.701C11.5725 18.3493 11.375 17.8724 11.375 17.3751V13.0001C11.375 12.8344 11.3092 12.6754 11.1919 12.5582C11.0747 12.441 10.9158 12.3751 10.75 12.3751H8.25C8.08424 12.3751 7.92527 12.441 7.80806 12.5582C7.69085 12.6754 7.625 12.8344 7.625 13.0001V17.3751C7.625 17.8724 7.42746 18.3493 7.07583 18.701C6.72419 19.0526 6.24728 19.2501 5.75 19.2501H2.625C2.12772 19.2501 1.65081 19.0526 1.29917 18.701C0.947544 18.3493 0.75 17.8724 0.75 17.3751V8.55639C0.75 8.02514 0.975 7.51889 1.3725 7.16264L8.2475 0.985142ZM9.9175 1.91514C9.80281 1.81219 9.65412 1.75524 9.5 1.75524C9.34588 1.75524 9.19719 1.81219 9.0825 1.91514L2.2075 8.09264C2.14237 8.1511 2.09025 8.22259 2.0545 8.30248C2.01876 8.38237 2.00019 8.46887 2 8.55639V17.3751C2 17.5409 2.06585 17.6999 2.18306 17.8171C2.30027 17.9343 2.45924 18.0001 2.625 18.0001H5.75C5.91576 18.0001 6.07473 17.9343 6.19194 17.8171C6.30915 17.6999 6.375 17.5409 6.375 17.3751V13.0001C6.375 12.5029 6.57254 12.0259 6.92417 11.6743C7.27581 11.3227 7.75272 11.1251 8.25 11.1251H10.75C11.2473 11.1251 11.7242 11.3227 12.0758 11.6743C12.4275 12.0259 12.625 12.5029 12.625 13.0001V17.3751C12.625 17.5409 12.6908 17.6999 12.8081 17.8171C12.9253 17.9343 13.0842 18.0001 13.25 18.0001H16.375C16.5408 18.0001 16.6997 17.9343 16.8169 17.8171C16.9342 17.6999 17 17.5409 17 17.3751V8.55639C16.9998 8.46887 16.9812 8.38237 16.9455 8.30248C16.9098 8.22259 16.8576 8.1511 16.7925 8.09264L9.9175 1.91514Z" fill="#FCFCFC" fill-opacity="0.5"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -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,

View File

@@ -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,

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,80 +53,53 @@ 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,
),
];
}
DateTime selectedDate = DateTime.now();
@@ -195,7 +168,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 +247,139 @@ 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),
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<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 +538,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 +709,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"]);
// }),
// )
],
),
);
@@ -780,59 +850,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

@@ -94,10 +94,11 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
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<ManageMembersCal> {
Color(0xFFD90B2E),
],
),
blur: 10,
blur: 6,
child: Center(child: text16w400_FCFCFC("Su")),
),
sizedBoxWidth(8.w),

View File

@@ -162,59 +162,51 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
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<ChatsMainScreen> {
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<ChatsMainScreen> {
return SingleChildScrollView(
child: Column(
children: [
sizedBoxHeight(25.h),
ListView.separated(
separatorBuilder: (context, index) {
return Divider(
@@ -300,6 +293,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
return SingleChildScrollView(
child: Column(
children: [
sizedBoxHeight(25.h),
ListView.separated(
separatorBuilder: (context, index) {
return Divider(
@@ -490,12 +484,11 @@ class _ChatListState extends State<ChatList> {
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<ChatList> {
),
),
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<SecondChatList> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
width: 55,
height: 55,
width: 55.w,
height: 55.h,
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(widget.imageurl),

View File

@@ -269,6 +269,8 @@ class _GroupChatPageState extends State<GroupChatPage> {
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<GroupChatPage> {
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<GroupChatPage> {
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<GroupChatPage> {
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(() {});
},
),
),
),

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

@@ -492,8 +492,8 @@ class _UserChatPageState extends State<UserChatPage> {
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<UserChatPage> {
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,

View File

@@ -33,6 +33,7 @@ class _CommunityScreenState extends State<CommunityScreen> {
@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<CommunityScreen> {
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: [

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

@@ -62,6 +62,7 @@ class _PostScreenState extends State<PostScreen> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
sizedBoxHeight(20.h),
text16w400_FCFCFC("Caption"),
sizedBoxHeight(18.h),
@@ -223,7 +224,7 @@ class _PostScreenState extends State<PostScreen> {
CustomDropDownRadio(
header: "",
title: "",
listData: ['Individual'],
listData: ['Individual', 'Anonymous'],
onItemSelected: (p0) {},
leadingImage: SizedBox()),
// CommonDropdownradioBtn(

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

@@ -58,47 +58,46 @@ class _GroupManageState extends State<GroupManage> {
),
),
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(),
],
),
),
],
))
])
]));
}

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

@@ -18,9 +18,11 @@ Future<void> 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});

View File

@@ -23,7 +23,7 @@ class _SignupScreenState extends State<SignupScreen> {
TextEditingController _password = TextEditingController();
TextEditingController confirmpasscontroller = TextEditingController();
final List<String> _dropdownProductItems = [
List<String> _dropdownProductItems = [
'Individual',
'Business',
];
@@ -52,343 +52,326 @@ class _SignupScreenState extends State<SignupScreen> {
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),
],
),
),
),
)

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

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';
@@ -465,5 +466,9 @@ class AppRoutes {
name: RouteName.certificate,
page: () => const Certificate(),
),
GetPage(
name: RouteName.availability,
page: () => const Availability(),
),
];
}