This commit is contained in:
Shubhamshirva
2024-07-09 13:00:46 +05:30
34 changed files with 2526 additions and 805 deletions

View File

@@ -1,3 +1,4 @@
{
"CodeGPT.apiKey": "CodeGPT Plus Beta"
"CodeGPT.apiKey": "CodeGPT Plus Beta",
"dart.flutterSdkPath": "D:\\pooja\\fluttersdk\\flutter_3.16.9\\flutter"
}

View File

@@ -8,7 +8,7 @@ if (localPropertiesFile.exists()) {
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
throw GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
@@ -68,4 +68,6 @@ flutter {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.facebook.android:facebook-login:latest.release'
}

View File

@@ -1,6 +1,11 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.regroup">
package="com.example.regroup"
xmlns:tools="http://schemas.android.com/tools"
>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission
@@ -47,5 +52,23 @@
android:value="2" />
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyDdTfKwZav5Qyg3ht88N76lDTFntOe30dQ"/>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<activity
android:name="com.facebook.CustomTabActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="@string/fb_login_protocol_scheme" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">ReGroup123</string>
<string name="facebook_app_id">8076081959097016</string>
<string name="fb_login_protocol_scheme">fb8076081959097016</string>
<string name="facebook_client_token">ca5a1805872edbec0d3a0a0b02229ba5</string>
</resources>

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

@@ -21,6 +21,6 @@
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>11.0</string>
<string>12.0</string>
</dict>
</plist>

View File

@@ -35,10 +35,21 @@ PODS:
- DKPhotoGallery/Resource (0.0.19):
- SDWebImage
- SwiftyGif
- FBAEMKit (16.3.1):
- FBSDKCoreKit_Basics (= 16.3.1)
- FBSDKCoreKit (16.3.1):
- FBAEMKit (= 16.3.1)
- FBSDKCoreKit_Basics (= 16.3.1)
- FBSDKCoreKit_Basics (16.3.1)
- FBSDKLoginKit (16.3.1):
- FBSDKCoreKit (= 16.3.1)
- file_picker (0.0.1):
- DKImagePickerController/PhotoGallery
- Flutter
- Flutter (1.0.0)
- flutter_facebook_auth (6.0.4):
- FBSDKLoginKit (~> 16.3.1)
- Flutter
- fluttertoast (0.0.2):
- Flutter
- Toast
@@ -79,6 +90,7 @@ DEPENDENCIES:
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- Flutter (from `Flutter`)
- flutter_facebook_auth (from `.symlinks/plugins/flutter_facebook_auth/ios`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`)
- google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`)
@@ -93,6 +105,10 @@ SPEC REPOS:
trunk:
- DKImagePickerController
- DKPhotoGallery
- FBAEMKit
- FBSDKCoreKit
- FBSDKCoreKit_Basics
- FBSDKLoginKit
- GoogleMaps
- SDWebImage
- SwiftyGif
@@ -108,6 +124,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/file_picker/ios"
Flutter:
:path: Flutter
flutter_facebook_auth:
:path: ".symlinks/plugins/flutter_facebook_auth/ios"
fluttertoast:
:path: ".symlinks/plugins/fluttertoast/ios"
geolocator_apple:
@@ -132,8 +150,13 @@ SPEC CHECKSUMS:
device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
FBAEMKit: 6c7b5eb77c96861bb59e040842c6e55bf39512ce
FBSDKCoreKit: 5e4dd478947ab1bcc887e8cfadeae0727af1a942
FBSDKCoreKit_Basics: cd7b5f5d1e8868c26706917919d058999ca672c3
FBSDKLoginKit: 572cca0bc6c90067ef197187697cb3b584310c52
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_facebook_auth: c8700ab1770f3d8e5e7456220e4f3bbcdb831454
fluttertoast: 9f2f8e81bb5ce18facb9748d7855bf5a756fe3db
geolocator_apple: 6cbaf322953988e009e5ecb481f07efece75c450
google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458

View File

@@ -156,7 +156,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1430;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -375,7 +375,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
CURRENT_PROJECT_VERSION = 8;
DEVELOPMENT_TEAM = A89AY6VY4F;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -508,7 +508,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
CURRENT_PROJECT_VERSION = 8;
DEVELOPMENT_TEAM = A89AY6VY4F;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -535,7 +535,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
CURRENT_PROJECT_VERSION = 8;
DEVELOPMENT_TEAM = A89AY6VY4F;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@@ -2,35 +2,30 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:glassmorphism_ui/glassmorphism_ui.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/controller/MainController.dart';
GlassmorphicContainer bottomnavigationbar(MainController _mainController) {
return GlassmorphicContainer(
GlassContainer bottomnavigationbar(MainController _mainController) {
return GlassContainer(
width: double.infinity,
height: 100.h,
borderRadius: 2,
blur: 6,
alignment: Alignment.center,
border: 0,
linearGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.white.withOpacity(0.04),
const Color(0xFFFFFFFF).withOpacity(0.05),
],
stops: const [
0.1,
1,
]),
borderGradient: const LinearGradient(
height: 100,
borderRadius: BorderRadius.circular(2),
blur: 2,
opacity: 0.2,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.transparent,
Colors.transparent,
Color(0xFFFFFFFF).withOpacity(0.4),
const Color(0xFFFFFFFF).withOpacity(0.5),
],
stops: const [
0.1,
1,
],
),
border: Border.all(color: const Color(0xff434A53)),
child: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
backgroundColor: const Color(0xFFFFFFFF).withOpacity(0),
@@ -161,8 +156,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 +169,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 +219,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 +259,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 +272,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

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:glassmorphism_ui/glassmorphism_ui.dart';
Widget commonGlassContainer({
required double width,
@@ -78,3 +79,103 @@ Widget commonGlassContainerblue({
),
child: customWidget);
}
Widget commonGlassUIBlue({
required double width,
required double height,
required Widget customWidget,
// required double border,
double mainOpacity = 0.05,
Color borderColor = const Color(0xff434A53),
required BorderRadius? borderRadius,
}) {
return GlassContainer(
width: width,
height: height,
borderRadius: borderRadius,
blur: 6,
opacity: mainOpacity,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xFF009DAB).withOpacity(0.48),
Color(0xFF009DAB).withOpacity(0.12),
],
stops: const [
0.1,
1,
],
),
border: Border.all(color: borderColor),
child: customWidget);
}
Widget commonGlassUI({
required double width,
required double height,
// required double border,
double mainOpacity = 1,
double opacity1 = 0.04,
double opacity2 = 0.05,
Color borderColor = const Color(0xff434A53),
double borderwidth = 1.0,
required BorderRadius? borderRadius,
required Widget customWidget,
}) {
return GlassContainer(
width: width,
height: height,
borderRadius: borderRadius,
blur: 2,
opacity: mainOpacity,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xFFFFFFFF).withOpacity(opacity1),
const Color(0xFFFFFFFF).withOpacity(opacity2),
],
stops: const [
0.1,
1,
],
),
border: Border.all(color: borderColor, width: borderwidth),
child: customWidget);
}
Widget commonContainer({
required double width,
required double height,
// required double border,
// double mainOpacity = 1,
double opacity1 = 0.04,
double opacity2 = 0.05,
Color borderColor = const Color(0xff434A53),
double borderwidth = 1.0,
BorderRadius? borderRadius,
required Widget customWidget,
BoxShape boxShape = BoxShape.rectangle,
}) {
return Container(
width: width,
height: height,
decoration: BoxDecoration(
borderRadius: borderRadius,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xFFFFFFFF).withOpacity(opacity1),
const Color(0xFFFFFFFF).withOpacity(opacity2),
],
stops: const [
0.1,
1,
],
),
shape: boxShape,
border: Border.all(color: borderColor, width: borderwidth)),
child: customWidget);
}

View File

@@ -312,20 +312,32 @@ Widget stackReaction({
return Positioned(
top: 6.h,
left: index * 23.w,
child: commonGlassContainer(
width: 30.w,
height: 30.h,
borderradius: 100,
opacity1: 0.05,
opacity2: 0.06,
customWidget: Center(
child: Image.asset(
containerImages[index],
height: 18.h,
width: 18.w,
child: Container(
width: 30.w,
height: 30.h,
decoration: BoxDecoration(
shape: BoxShape.circle,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xFFFFFFFF).withOpacity(0.1),
const Color(0xFFFFFFFF).withOpacity(0.06),
],
stops: const [
0.1,
1,
],
),
border: Border.all(color: Color(0xFF1E3A46), width: 1.71)),
child: Center(
child: Image.asset(
containerImages[index],
height: 18.h,
width: 18.w,
),
border: 1.71));
),
));
}),
),
),

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,144 @@ 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 +421,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 +542,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 +713,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 +853,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,13 +2,13 @@ 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:glassmorphism_ui/glassmorphism_ui.dart';
import 'package:regroup/Common/CommonBottomNavigationBar.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonTabBar.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Common/controller/MainScreen.dart';
import 'package:regroup/Feed%20Module/sidemenu/sidemenu.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
@@ -166,36 +166,113 @@ class _CommunityScreenState extends State<CommunityScreen> {
}
Widget feedTab() {
return SingleChildScrollView(
child: Column(children: [
List feedTabData = [
{
"profileImg": "assets/images/png/Ellipse 43.png",
"title": "Edward Hackket",
"mainImg": "assets/images/png/Rectangle 24.png",
"containerTitle": ['Cycle', 'Marathon', 'Events', 'Marathon', 'Events'],
},
{
"profileImg": "'assets/images/png/Ellipse 52.png'",
"title": "Ryan Dorwat",
"mainImg": "assets/images/png/Rectangle 25.png",
"containerTitle": [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
],
},
{
"profileImg": "'assets/images/png/Ellipse 52.png'",
"title": "Ryan Dorwat",
"mainImg": "assets/images/png/Rectangle 25.png",
"containerTitle": [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
],
},
{
"profileImg": "'assets/images/png/Ellipse 52.png'",
"title": "Ryan Dorwat",
"mainImg": "assets/images/png/Rectangle 25.png",
"containerTitle": [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
],
},
];
return Column(children: [
sizedBoxHeight(16.h),
normalcardtile(
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']),
sizedBoxHeight(20.h),
normalcardtile(
profileImg: 'assets/images/png/Ellipse 52.png',
title: 'Ryan Dorwat',
mainImg: 'assets/images/png/Rectangle 25.png',
containerTitle: [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
]),
]));
Expanded(
child: ListView.builder(
shrinkWrap: true,
itemCount: feedTabData.length,
itemBuilder: (context, index) {
if (index == 1) {
return announcecardtile(
profileImg: 'assets/images/png/Ellipse 48.png',
title: 'Jocelyn Dokidis',
mainImg: 'assets/images/png/Rectangle 46.png',
containerTitle: [
'Race',
'Swimming',
'Events',
'Marathon',
'Events'
]);
} else {
return Column(
children: [
normalcardtile2(
profileImg: feedTabData[index]["profileImg"],
title: feedTabData[index]["title"],
mainImg: feedTabData[index]["mainImg"],
containerTitle: feedTabData[index]["containerTitle"]),
sizedBoxHeight(20.h)
],
);
}
},
),
),
// 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']),
// 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),
]);
}
Widget announcecardtile({
Widget normalcardtile2({
required String profileImg,
required String title,
required String mainImg,
@@ -212,20 +289,13 @@ Widget announcecardtile({
}
}
// MediaQuery.of(context).size.height
return commonGlassContainerblue(
return commonGlassUI(
width: double.infinity,
height: 610.h,
border: 0,
borderradius: 1,
height: 570.h,
mainOpacity: 1,
borderRadius: BorderRadius.circular(1),
customWidget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
sizedBoxHeight(25.h),
Padding(
padding: EdgeInsets.only(left: 16.w),
child: text16w700_FCFCFC("#Announcement"),
),
sizedBoxHeight(25.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
@@ -362,7 +432,7 @@ Widget announcecardtile({
sizedBoxHeight(20.h),
GestureDetector(
onTap: () {
// Get.toNamed(RouteName.postdetailsScreen);
Get.toNamed(RouteName.postdetailsScreen);
},
child: Container(
height: 163.h,
@@ -387,9 +457,10 @@ Widget announcecardtile({
padding: EdgeInsets.only(right: 12.w),
child: GestureDetector(
onTap: () {
// Get.toNamed(RouteName.cyclescreen);
Get.toNamed(RouteName.cyclescreen);
},
child: containertile(text: containerTitle[index])),
child: containertile2(
text: ("#${containerTitle[index]}"))),
);
},
),
@@ -400,7 +471,7 @@ Widget announcecardtile({
Row(children: [
InkWell(
onTap: () {
// Get.toNamed(RouteName.reactionview);
Get.toNamed(RouteName.reactionview);
},
child: stackReaction(number: '20', containerImages: [
'assets/images/png/f7_hand-thumbsup.png',
@@ -409,13 +480,14 @@ Widget announcecardtile({
]),
),
const Spacer(),
commonGlassContainer(
border: 0.43,
commonContainer(
width: 30.w,
height: 30.h,
opacity1: 0.05,
opacity2: 0.06,
borderradius: 100,
borderColor: Color(0xFF434A53),
borderwidth: 0.43,
opacity1: 0.2,
opacity2: 0.2,
boxShape: BoxShape.circle,
customWidget: Center(
child: Image.asset(
'assets/images/png/Frame 1000004088.png',
@@ -427,13 +499,14 @@ Widget announcecardtile({
sizedBoxWidth(12.w),
text14w400_FCFCFC('20'),
sizedBoxWidth(20.w),
commonGlassContainer(
border: 0.43,
commonContainer(
width: 30.w,
height: 30.h,
borderradius: 100,
opacity1: 0.05,
opacity2: 0.06,
borderColor: Color(0xFF434A53),
borderwidth: 0.43,
opacity1: 0.2,
opacity2: 0.2,
boxShape: BoxShape.circle,
customWidget: Center(
child: Image.asset(
'assets/images/png/Vector (1).png',
@@ -466,7 +539,8 @@ Widget announcecardtile({
previewIcon: _buildReactionsPreviewIcon(
'assets/images/png/f7_hand-thumbsup.png'),
icon: _buildReactionsIcon(
'assets/images/png/f7_hand-thumbsup.png'),
'assets/images/png/f7_hand-thumbsup.png',
),
),
Reaction<String>(
value: 'heart',
@@ -486,10 +560,10 @@ Widget announcecardtile({
selectedReaction: Reaction<String>(
value: 'like',
icon: _buildReactionsIcon(
'assets/images/png/f7_hand-thumbsup.png'),
'assets/images/png/f7_hand-thumbs.png'),
),
boxColor: Colors.white,
boxElevation: 9,
boxElevation: 2,
boxRadius: 30,
itemsSpacing: 8,
itemScale: 0.4,
@@ -501,6 +575,7 @@ Widget announcecardtile({
const Duration(milliseconds: 500),
hoverDuration: const Duration(milliseconds: 700),
// toggle: false,
direction: ReactionsBoxAlignment.rtl,
child: _buildReactionsIcon(mainImage.value),
);
@@ -509,7 +584,7 @@ Widget announcecardtile({
),
GestureDetector(
onTap: () {
// Get.toNamed(RouteName.postdetailsScreen);
Get.toNamed(RouteName.postdetailsScreen);
},
child: Column(
children: [
@@ -891,6 +966,365 @@ Widget normalcardtile({
));
}
Widget announcecardtile({
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';
}
}
// MediaQuery.of(context).size.height
return Column(
children: [
commonGlassUIBlue(
width: double.infinity,
height: 610.h,
mainOpacity: 1,
borderRadius: BorderRadius.circular(1),
customWidget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
sizedBoxHeight(25.h),
Padding(
padding: EdgeInsets.only(left: 16.w),
child: text16w700_FCFCFC("#Announcement"),
),
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(),
commonContainer(
width: 30.w,
height: 30.h,
borderColor: Color(0xFF434A53),
borderwidth: 0.43,
opacity1: 0.2,
opacity2: 0.2,
boxShape: BoxShape.circle,
customWidget: 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),
commonContainer(
width: 30.w,
height: 30.h,
borderColor: Color(0xFF434A53),
borderwidth: 0.43,
opacity1: 0.2,
opacity2: 0.2,
boxShape: BoxShape.circle,
customWidget: 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-thumbsup.png'),
),
boxColor: Colors.white,
boxElevation: 9,
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,
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),
]),
),
],
)),
sizedBoxHeight(20.h),
],
);
}
Widget _buildReactionsPreviewIcon(String assetPath) {
return Padding(
padding: const EdgeInsets.all(8.0),
@@ -929,65 +1363,183 @@ Widget containertile({required String text}) {
));
}
Widget containertile2({required String text}) {
return commonContainer(
width: 130.w,
height: 30.h,
borderRadius: BorderRadius.circular(30.r),
borderColor: Color(0xFFD90B2E),
opacity1: 0.04,
opacity2: 0.05,
customWidget: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.w),
child: Center(child: text14w400_FCFCFC(text)),
));
}
Widget popularTab() {
return SingleChildScrollView(
child: Column(
children: [
sizedBoxHeight(20.h),
normalcardtile(
profileImg: 'assets/images/png/Ellipse 43.png',
title: 'Edward Hackket',
mainImg: 'assets/images/png/Rectangle 24.png',
containerTitle: [
'Race',
'Swimming',
'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'
])
List popularTabData = [
{
"profileImg": "assets/images/png/Ellipse 43.png",
"title": "Edward Hackket",
"mainImg": "assets/images/png/Rectangle 24.png",
"containerTitle": ['Cycle', 'Marathon', 'Events', 'Marathon', 'Events'],
},
{
"profileImg": "'assets/images/png/Ellipse 52.png'",
"title": "Ryan Dorwat",
"mainImg": "assets/images/png/Rectangle 25.png",
"containerTitle": [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
],
),
},
{
"profileImg": "'assets/images/png/Ellipse 52.png'",
"title": "Ryan Dorwat",
"mainImg": "assets/images/png/Rectangle 25.png",
"containerTitle": [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
],
},
{
"profileImg": "'assets/images/png/Ellipse 52.png'",
"title": "Ryan Dorwat",
"mainImg": "assets/images/png/Rectangle 25.png",
"containerTitle": [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
],
},
];
return Column(
children: [
sizedBoxHeight(20.h),
Expanded(
child: ListView.builder(
shrinkWrap: true,
itemCount: popularTabData.length,
itemBuilder: (context, index) {
return Column(
children: [
normalcardtile2(
profileImg: popularTabData[index]["profileImg"],
title: popularTabData[index]["title"],
mainImg: popularTabData[index]["mainImg"],
containerTitle: popularTabData[index]["containerTitle"]),
sizedBoxHeight(20.h)
],
);
},
),
),
],
);
}
Widget latestTab() {
return SingleChildScrollView(
child: Column(children: [
List latestTabData = [
{
"profileImg": "assets/images/png/Ellipse 43.png",
"title": "Edward Hackket",
"mainImg": "assets/images/png/Rectangle 24.png",
"containerTitle": ['Cycle', 'Marathon', 'Events', 'Marathon', 'Events'],
},
{
"profileImg": "'assets/images/png/Ellipse 52.png'",
"title": "Ryan Dorwat",
"mainImg": "assets/images/png/Rectangle 25.png",
"containerTitle": [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
],
},
{
"profileImg": "'assets/images/png/Ellipse 52.png'",
"title": "Ryan Dorwat",
"mainImg": "assets/images/png/Rectangle 25.png",
"containerTitle": [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
],
},
{
"profileImg": "'assets/images/png/Ellipse 52.png'",
"title": "Ryan Dorwat",
"mainImg": "assets/images/png/Rectangle 25.png",
"containerTitle": [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
],
},
];
return Column(children: [
sizedBoxHeight(16.h),
normalcardtile(
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']),
sizedBoxHeight(20.h),
normalcardtile(
profileImg: 'assets/images/png/Ellipse 52.png',
title: 'Ryan Dorwat',
mainImg: 'assets/images/png/Rectangle 25.png',
containerTitle: [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
]),
]));
Expanded(
child: ListView.builder(
shrinkWrap: true,
itemCount: latestTabData.length,
itemBuilder: (context, index) {
if (index == 1) {
return announcecardtile(
profileImg: 'assets/images/png/Ellipse 48.png',
title: 'Jocelyn Dokidis',
mainImg: 'assets/images/png/Rectangle 46.png',
containerTitle: [
'Race',
'Swimming',
'Events',
'Marathon',
'Events'
]);
} else {
return Column(
children: [
normalcardtile2(
profileImg: latestTabData[index]["profileImg"],
title: latestTabData[index]["title"],
mainImg: latestTabData[index]["mainImg"],
containerTitle: latestTabData[index]["containerTitle"]),
sizedBoxHeight(20.h)
],
);
}
},
),
),
// 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']),
// sizedBoxHeight(20.h),
]);
}

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,7 +62,7 @@ class _PostScreenState extends State<PostScreen> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
sizedBoxHeight(20.h),
text16w400_FCFCFC("Caption"),
sizedBoxHeight(18.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:
@@ -426,6 +427,7 @@ class _GroupDetailState extends State<GroupDetail> {
padding: EdgeInsets.only(right: 16.w),
child: Center(
child: Row(children: [
sizedBoxWidth(16.w),
stackContainers(containerImages: [
"assets/images/png/cimg3.png",
"assets/images/png/cimg2.png",

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),
]),
)),
),
),
@@ -199,14 +207,14 @@ class _NewPostState extends State<NewPost> {
// sizedBoxHeight(18.h),
// CustomTextFormField(),
// sizedBoxHeight(25.h),
text16w400_FCFCFC("Post as"),
sizedBoxHeight(18.h),
CustomDropDownRadio(
header: "",
title: "",
listData: ['Individual', 'Anonymous'],
onItemSelected: (p0) {},
leadingImage: SizedBox()),
// text16w400_FCFCFC("Post as"),
// sizedBoxHeight(18.h),
// CustomDropDownRadio(
// header: "",
// title: "",
// listData: ['Individual', 'Anonymous'],
// onItemSelected: (p0) {},
// leadingImage: SizedBox()),
// CommonDropdownradioBtn(
// hint: '', items: ['Individual', 'Anonymous']),

View File

@@ -0,0 +1,451 @@
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';
import 'package:intl/intl.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> {
DateTime? _selectedDate;
TimeOfDay? _selectedTime;
String _formattedDateTime = 'Thu, Jan 20 08:00 pm';
Future<TimeOfDay?> showCustomTimePicker(BuildContext context,
{TimeOfDay? initialTime}) {
final ThemeData customTheme2 = Theme.of(context).copyWith(
colorScheme: const ColorScheme.light(
primary: Color(0xFFD90B2E),
surfaceTint: Color(0xFF222935),
surface: Color(0xFF222935),
onPrimary: Colors.white,
onSurface: Colors.white,
),
textTheme: Theme.of(context).textTheme.copyWith(
headline6: TextStyle(color: Colors.blue),
),
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
foregroundColor: Color(0xFFD90B2E),
),
));
return showTimePicker(
context: context,
initialTime: initialTime ?? TimeOfDay.now(),
builder: (BuildContext context, Widget? child) {
return Theme(
data: customTheme2,
child: child!,
);
},
);
}
Future<void> _selectDateTime(BuildContext context) async {
final ThemeData customTheme2 = Theme.of(context).copyWith(
colorScheme: const ColorScheme.light(
primary: Color(0xFFD90B2E),
surfaceTint: Color(0xFF222935),
surface: Color(0xFF222935),
onPrimary: Colors.white,
onSurface: Colors.white,
// onSecondary: Colors.red,
),
textTheme: Theme.of(context).textTheme.copyWith(
headline6: TextStyle(color: Colors.blue),
),
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
foregroundColor: Color(0xFFD90B2E),
),
),
);
final DateTime? pickedDate = await showDatePicker(
context: context,
initialDate: DateTime.now(),
firstDate: DateTime(2000),
lastDate: DateTime(2101),
builder: (BuildContext context, Widget? child) {
return Theme(
data: customTheme2,
child: child!,
);
},
);
if (pickedDate != null) {
final TimeOfDay? pickedTime = await showTimePicker(
context: context,
initialTime: TimeOfDay.now(),
builder: (BuildContext context, Widget? child) {
return Theme(
data: customTheme2,
child: child!,
);
},
);
if (pickedTime != null) {
setState(() {
_selectedDate = pickedDate;
_selectedTime = pickedTime;
final DateTime selectedDateTime = DateTime(
_selectedDate!.year,
_selectedDate!.month,
_selectedDate!.day,
_selectedTime!.hour,
_selectedTime!.minute,
);
_formattedDateTime =
DateFormat('EEE, MMM d h:mm a').format(selectedDateTime);
});
}
}
}
@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),
GestureDetector(
onTap: () {
_selectDateTime(context);
},
child: AbsorbPointer(
child: 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: _formattedDateTime,
// 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

@@ -67,7 +67,8 @@ class _ProfileTabState extends State<ProfileTab> {
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)),
),
SafeArea(
child: SingleChildScrollView(
@@ -232,16 +233,18 @@ class _ProfileTabState extends State<ProfileTab> {
onTap: () {
Get.toNamed(RouteName.shareProfile);
},
child: commonGlassContainer(
child: commonGlassUI(
width: 170.w,
height: 40.h,
opacity1: 0.05,
opacity2: 0.07,
borderradius: 30.r,
borderRadius: BorderRadius.circular(30.r),
mainOpacity: 1,
customWidget: Center(
child: text16w400_FCFCFC("Share profile"),
),
border: 1,
// border: 1,
),
)
],
@@ -254,19 +257,20 @@ class _ProfileTabState extends State<ProfileTab> {
sizedBoxHeight(25.h),
Row(
children: [
commonGlassContainer(
commonGlassUI(
width: 25.w,
height: 25.h,
opacity1: 0.24,
opacity2: 0.24,
borderradius: 100,
mainOpacity: 1,
borderRadius: BorderRadius.circular(100),
customWidget: Center(
child: Image.asset(
"assets/images/png/Group 58645.png",
height: 12.h,
width: 12.w,
)),
border: 0.5),
borderwidth: 0.5),
sizedBoxWidth(12.w),
text14400whiteblur(
"Elm street london, United Kingdom"),
@@ -275,75 +279,78 @@ class _ProfileTabState extends State<ProfileTab> {
sizedBoxHeight(20.h),
Row(
children: [
commonGlassContainer(
width: 25.w,
height: 25.h,
opacity1: 0.24,
opacity2: 0.24,
borderradius: 100,
customWidget: Center(
child: Image.asset(
"assets/images/png/Vector (4).png",
height: 12.h,
width: 12.w,
)),
border: 0.5),
commonGlassUI(
width: 25.w,
height: 25.h,
opacity1: 0.24,
opacity2: 0.24,
mainOpacity: 1,
borderRadius: BorderRadius.circular(100),
borderwidth: 0.5,
customWidget: Center(
child: Image.asset(
"assets/images/png/Vector (4).png",
height: 12.h,
width: 12.w,
)),
),
sizedBoxWidth(12.w),
text14400whiteblur("Rowing, Football, Swimming"),
],
),
sizedBoxHeight(30.h),
commonGlassContainer(
width: double.infinity,
height: 135.h,
borderradius: 10,
customWidget: Padding(
padding: EdgeInsets.symmetric(
vertical: 12.h, horizontal: 16.w),
child: Column(
children: [
Row(
children: [
text16w700white("Badges"),
Spacer(),
GestureDetector(
onTap: () {
Get.toNamed(RouteName.badges);
},
child: text12400white("View more"))
],
),
sizedBoxHeight(8.h),
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Image.asset(
"assets/images/png/Frame 1000004056.png",
height: 70.h,
width: 74.w,
),
Image.asset(
"assets/images/png/Frame 1000004056.png",
height: 70.h,
width: 74.w,
),
Image.asset(
"assets/images/png/Frame 1000004056.png",
height: 70.h,
width: 74.w,
),
Image.asset(
"assets/images/png/Frame 1000004056.png",
height: 70.h,
width: 74.w,
),
],
),
],
),
commonGlassUI(
width: double.infinity,
height: 135.h,
borderRadius: BorderRadius.circular(10),
customWidget: Padding(
padding: EdgeInsets.symmetric(
vertical: 12.h, horizontal: 16.w),
child: Column(
children: [
Row(
children: [
text16w700white("Badges"),
Spacer(),
GestureDetector(
onTap: () {
Get.toNamed(RouteName.badges);
},
child: text12400white("View more"))
],
),
sizedBoxHeight(8.h),
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Image.asset(
"assets/images/png/Frame 1000004056.png",
height: 70.h,
width: 74.w,
),
Image.asset(
"assets/images/png/Frame 1000004056.png",
height: 70.h,
width: 74.w,
),
Image.asset(
"assets/images/png/Frame 1000004056.png",
height: 70.h,
width: 74.w,
),
Image.asset(
"assets/images/png/Frame 1000004056.png",
height: 70.h,
width: 74.w,
),
],
),
],
),
border: 1),
),
// border: 1
),
sizedBoxHeight(40.h),
],
),
@@ -429,13 +436,13 @@ class _ProfileTabState extends State<ProfileTab> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
commonGlassContainer(
border: 0.5,
commonGlassUI(
width: 40.w,
height: 40.h,
borderradius: 100,
opacity1: 0.5,
opacity2: 0.4,
borderwidth: 0.5,
borderRadius: BorderRadius.circular(100.r),
customWidget: Center(
child: Image.asset(
'assets/images/png/ph_arrow-up-thin.png',
@@ -507,36 +514,37 @@ class _ProfileTabState extends State<ProfileTab> {
Expanded(
child: Column(
children: [
commonGlassContainer(
width: double.infinity,
height: 145.h,
borderradius: 10.r,
customWidget: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
CircleAvatar(
radius: 10.r,
backgroundImage: AssetImage(imagePath),
),
sizedBoxWidth(8.w),
text14700white(title)
],
),
sizedBoxHeight(10.h),
text12700white("Team captain"),
sizedBoxHeight(8.h),
text12400white("April 2023 - May 2024"),
sizedBoxHeight(10.h),
text10400whiteblur(
"Lorem Ipsum is simply dummy text of the printing and typesetting industry.")
],
),
commonGlassUI(
width: double.infinity,
height: 145.h,
borderRadius: BorderRadius.circular(10.r),
customWidget: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
CircleAvatar(
radius: 10.r,
backgroundImage: AssetImage(imagePath),
),
sizedBoxWidth(8.w),
text14700white(title)
],
),
sizedBoxHeight(10.h),
text12700white("Team captain"),
sizedBoxHeight(8.h),
text12400white("April 2023 - May 2024"),
sizedBoxHeight(10.h),
text10400whiteblur(
"Lorem Ipsum is simply dummy text of the printing and typesetting industry.")
],
),
border: 1),
),
// border: 1
),
],
),
),
@@ -741,13 +749,13 @@ class _ProfileTabState extends State<ProfileTab> {
'assets/images/png/party-popper 2.png'
]),
Spacer(),
commonGlassContainer(
border: 0.43,
commonContainer(
width: 30.w,
height: 30.h,
opacity1: 0.05,
opacity2: 0.06,
borderradius: 100,
opacity1: 0.2,
opacity2: 0.2,
borderwidth: 0.43,
boxShape: BoxShape.circle,
customWidget: Center(
child: Image.asset(
'assets/images/png/Frame 1000004088.png',
@@ -759,13 +767,13 @@ class _ProfileTabState extends State<ProfileTab> {
sizedBoxWidth(12.w),
text14w400_FCFCFC('20'),
sizedBoxWidth(20.w),
commonGlassContainer(
border: 0.43,
commonContainer(
width: 30.w,
height: 30.h,
borderradius: 100,
opacity1: 0.05,
opacity2: 0.06,
opacity1: 0.2,
opacity2: 0.2,
borderwidth: 0.43,
boxShape: BoxShape.circle,
customWidget: Center(
child: Image.asset(
'assets/images/png/Vector (1).png',
@@ -896,12 +904,12 @@ class _ProfileTabState extends State<ProfileTab> {
}
Widget containertile({required String text}) {
return commonGlassContainer(
border: 0.9,
return commonContainer(
width: 100.w,
height: 30.h,
borderradius: 30.r,
borderRadius: BorderRadius.circular(30.r),
borderColor: Color(0xFFD90B2E),
borderwidth: 0.9,
customWidget: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.w),
child: Center(child: text14w400_FCFCFC(text)),

View File

@@ -32,7 +32,8 @@ class _SettingsState extends State<Settings> {
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)),
),
Column(children: [
GestureDetector(

View File

@@ -65,89 +65,88 @@ class _WatchlistState extends State<Watchlist> {
: SizedBox.shrink()),
),
body: Stack(children: [
const CommonBlurLeftRed(),
const CommonBlurRightRed(),
const CommonBlurLeft(),
const CommonBlurRight(),
Positioned.fill(
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Column(
children: [
sizedBoxHeight(40.h),
Expanded(
child: GridView.builder(
scrollDirection: Axis.vertical,
gridDelegate:
const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3,
mainAxisSpacing: 8,
crossAxisSpacing: 8,
childAspectRatio: 1,
),
itemCount: images.length,
itemBuilder: (context, index) {
return GestureDetector(
onLongPress: () {
toggleCircles();
},
onTap: () {
toggleSelection(index);
},
child: Obx(() {
return Stack(
children: [
Container(
Container(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/png/Ellipse 1496.png"),
fit: BoxFit.fill)),
),
Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Column(
children: [
sizedBoxHeight(40.h),
Expanded(
child: GridView.builder(
scrollDirection: Axis.vertical,
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3,
mainAxisSpacing: 8,
crossAxisSpacing: 8,
childAspectRatio: 1,
),
itemCount: images.length,
itemBuilder: (context, index) {
return GestureDetector(
onLongPress: () {
toggleCircles();
},
onTap: () {
toggleSelection(index);
},
child: Obx(() {
return Stack(
children: [
Container(
width: 115.w,
height: 115.h,
child: Image.asset(
images[index],
width: 115.w,
height: 115.h,
child: Image.asset(
images[index],
width: 115.w,
height: 115.h,
fit: BoxFit.cover,
),
fit: BoxFit.cover,
),
if (showCircles.value)
Positioned(
top: 8.h,
right: 8.w,
child: GestureDetector(
onTap: () {
toggleSelection(index);
},
child: Container(
width: 18.w,
height: 18.h,
decoration: BoxDecoration(
color: selected[index]
? Colors.white
: Colors.transparent,
shape: BoxShape.circle,
border: Border.all(
color: Colors.white, width: 1),
),
child: selected[index]
? Center(
child: Icon(
Icons.check,
color: Color(0xFF344436),
size: 12,
weight: 3,
),
)
: null,
),
if (showCircles.value)
Positioned(
top: 8.h,
right: 8.w,
child: GestureDetector(
onTap: () {
toggleSelection(index);
},
child: Container(
width: 18.w,
height: 18.h,
decoration: BoxDecoration(
color: selected[index]
? Colors.white
: Colors.transparent,
shape: BoxShape.circle,
border: Border.all(
color: Colors.white, width: 1),
),
child: selected[index]
? Center(
child: Icon(
Icons.check,
color: Color(0xFF344436),
size: 12,
weight: 3,
),
)
: null,
),
),
],
);
}),
);
},
),
),
],
);
}),
);
},
),
],
),
),
],
),
),
]),

View File

@@ -1,4 +1,3 @@
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -14,6 +13,7 @@ import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
import 'package:show_fps/show_fps.dart';
import 'package:flutter_facebook_auth/flutter_facebook_auth.dart';
class LoginScreen extends StatefulWidget {
const LoginScreen({super.key});
@@ -23,11 +23,69 @@ class LoginScreen extends StatefulWidget {
}
class _LoginScreenState extends State<LoginScreen> {
Map<String, dynamic>? _userData;
AccessToken? _accessToken;
bool _checking = true;
final TextEditingController _email = TextEditingController();
RxBool isObscured = true.obs;
final TextEditingController _password = TextEditingController();
// final GlobalKey<FormState> _form = GlobalKey<FormState>();
@override
void initState() {
// TODO: implement initState
super.initState();
}
_checkIfisLoggedIn() async {
//user token
final accessToken = await FacebookAuth.instance.accessToken;
setState(() {
_checking = false;
});
if (accessToken != null) {
print("/////////////////////////////////////////check");
print("worked");
print(accessToken.toJson());
final userData = await FacebookAuth.instance.getUserData();
_accessToken = accessToken;
setState(() {
_userData = userData;
});
} else {
print("/////////////////////////////////////////check");
print("not worked");
_login();
}
}
_login() async {
final LoginResult result = await FacebookAuth.instance.login();
if (result.status == LoginStatus.success) {
_accessToken = result.accessToken;
final userData = await FacebookAuth.instance.getUserData();
_userData = userData;
} else {
print(result.status);
print(result.message);
}
setState(() {
_checking = false;
});
}
_logout() async {
await FacebookAuth.instance.logOut();
_accessToken = null;
_userData = null;
setState(() {});
}
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -242,28 +300,44 @@ class _LoginScreenState extends State<LoginScreen> {
'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'))),
GestureDetector(
onTap: () async {
_checkIfisLoggedIn();
/* FacebookAuth.instance.login(
permissions: ['public_profile', 'email'],
).then((value) {
FacebookAuth.instance.getUserData().then((userData) {
setState(() {
/* _isLoggedIn = true;
_userObj = userData; */
});
});
}); */
},
child: 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'))),
),
),
],
),

View File

@@ -208,33 +208,73 @@ class _CustomDropDownTag1State extends State<CustomDropDownTag1> {
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
CustomTextFormField(
hintText: widget.header,
suffixIcon: GestureDetector(
onTap: () {
onDropTap.value = !onDropTap.value;
},
child: Container(
height: 20.h,
width: 20,
child: Center(
child: Image.asset(
'assets/images/png/Frame 58575.png',
height: 20.h,
width: 20,
Container(
width: double.infinity,
height: 50.h,
padding: EdgeInsets.only(
right: 12.w,
left: 12.w,
),
decoration: BoxDecoration(
color: Color(0xFFFFFFFF).withOpacity(0.10),
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
const Color(0xFFffffff).withOpacity(0.50),
const Color(0xFFFFFFFF).withOpacity(0.50),
],
),
// color: Color(0xFFFFFFFF).withOpacity(0.10),
borderRadius: onDropTap.value && filteredListData.isNotEmpty
? BorderRadius.vertical(
top: Radius.circular(30.r),
)
: BorderRadius.circular(30.r),
border: Border.all(color: const Color(0xFF434A53)),
),
child: Center(
child: TextFormField(
controller: textEditingController,
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontFamily: 'Helvetica'),
cursorColor: Colors.red,
enableInteractiveSelection: false,
obscureText: false,
decoration: InputDecoration(
hintText: widget.header,
hintStyle: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w400,
fontFamily: 'Helvetica'),
suffixIcon: GestureDetector(
onTap: () {
onDropTap.value = !onDropTap.value;
},
child: Container(
height: 20.h,
width: 20,
child: Center(
child: Image.asset(
'assets/images/png/Frame 58575.png',
height: 20.h,
width: 20,
),
),
),
),
border: InputBorder.none,
),
onTap: () {
onDropTap.value = !onDropTap.value;
},
),
),
textEditingController: textEditingController,
// onInput: (p0) {
// onDropTap.value = !onDropTap.value;
// },
onTap: () {
onDropTap.value = !onDropTap.value;
},
),
if (onDropTap.value)
if (onDropTap.value && filteredListData.isNotEmpty)
Container(
width: double.infinity,
decoration: BoxDecoration(
@@ -262,6 +302,7 @@ class _CustomDropDownTag1State extends State<CustomDropDownTag1> {
onDropTap.value = false;
textEditingController.text = selectedValue.value;
widget.onItemSelected(selectedValue.value);
onDropTap.value = !onDropTap.value;
},
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -494,6 +535,7 @@ class _CustomDropDownRadioState extends State<CustomDropDownRadio> {
widget.onItemSelected(item);
},
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Row(
children: [
@@ -522,7 +564,7 @@ class _CustomDropDownRadioState extends State<CustomDropDownRadio> {
),
],
),
SizedBox(height: 5.h),
// SizedBox(height: 5.h),
if (index != widget.listData.length - 1)
Divider(thickness: 1, color: const Color(0xFF434A53)),
],
@@ -671,7 +713,7 @@ class _CustomDropDownRadioState extends State<CustomDropDownRadio> {
// thumbVisibility: true,
child: Container(
width: double.infinity,
height: widget.listData.length > 4 ? 250.h : null,
//height: widget.listData.length > 4 ? 250.h : null,
decoration: BoxDecoration(
color: Color(0xFFFFFFFF).withOpacity(0.10),
borderRadius: BorderRadius.vertical(
@@ -687,8 +729,9 @@ class _CustomDropDownRadioState extends State<CustomDropDownRadio> {
],
),
),
child: ListView(
shrinkWrap: true,
child: Column(
// shrinkWrap: true,
// reverse: true,
children: _buildDropdownMenuItems(),
),
),

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

@@ -16,12 +16,20 @@ import 'package:statsfl/statsfl.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations([
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
]).then((value) => runApp(StatsFl(
align: Alignment.center, width: 200, height: 100, child: const MyApp())));
]).then(
(value) =>
// runApp(MyApp())
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

@@ -230,6 +230,30 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
flutter_facebook_auth:
dependency: "direct main"
description:
name: flutter_facebook_auth
sha256: fd1a6749dafbd5923585038671b63abdcedd4fe5923eb42fc154247dc5622519
url: "https://pub.dev"
source: hosted
version: "6.0.4"
flutter_facebook_auth_platform_interface:
dependency: transitive
description:
name: flutter_facebook_auth_platform_interface
sha256: "86630c4dbba1c20fba26ea9e59ad0d48f5ff59e7373cacd36f916160186f9ce9"
url: "https://pub.dev"
source: hosted
version: "5.0.0"
flutter_facebook_auth_web:
dependency: transitive
description:
name: flutter_facebook_auth_web
sha256: "0e2960e9e23f2538e29b406495e18b047fbf233abfaed8d2b99acda17a2f7479"
url: "https://pub.dev"
source: hosted
version: "5.0.1"
flutter_lints:
dependency: "direct dev"
description:
@@ -344,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:
@@ -520,6 +552,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.7.1"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
url: "https://pub.dev"
source: hosted
version: "10.0.0"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
url: "https://pub.dev"
source: hosted
version: "2.0.1"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
url: "https://pub.dev"
source: hosted
version: "2.0.1"
lints:
dependency: transitive
description:
@@ -540,26 +596,26 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev"
source: hosted
version: "0.12.16"
version: "0.12.16+1"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
url: "https://pub.dev"
source: hosted
version: "0.5.0"
version: "0.8.0"
meta:
dependency: transitive
description:
name: meta
sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
url: "https://pub.dev"
source: hosted
version: "1.10.0"
version: "1.11.0"
mime:
dependency: transitive
description:
@@ -580,10 +636,10 @@ packages:
dependency: transitive
description:
name: path
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev"
source: hosted
version: "1.8.3"
version: "1.9.0"
path_drawing:
dependency: transitive
description:
@@ -965,6 +1021,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
url: "https://pub.dev"
source: hosted
version: "13.0.0"
web:
dependency: transitive
description:

View File

@@ -67,6 +67,8 @@ 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