diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 0ddf9ec..970b96b 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,6 +1,8 @@
+
+
@@ -43,5 +45,7 @@
+
diff --git a/android/build.gradle b/android/build.gradle
index 713d7f6..dda8248 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,5 +1,5 @@
buildscript {
- ext.kotlin_version = '1.7.10'
+ ext.kotlin_version = '1.9.22'
repositories {
google()
mavenCentral()
diff --git a/assets/images/png/Vector (5)aa.png b/assets/images/png/Vector (5)aa.png
new file mode 100644
index 0000000..469416e
Binary files /dev/null and b/assets/images/png/Vector (5)aa.png differ
diff --git a/assets/images/png/demoimg.png b/assets/images/png/demoimg.png
new file mode 100644
index 0000000..6136e40
Binary files /dev/null and b/assets/images/png/demoimg.png differ
diff --git a/assets/images/png/ph_users-light.png b/assets/images/png/ph_users-light.png
new file mode 100644
index 0000000..6ebd851
Binary files /dev/null and b/assets/images/png/ph_users-light.png differ
diff --git a/assets/images/svg/badminton.svg b/assets/images/svg/badminton.svg
new file mode 100644
index 0000000..916d719
--- /dev/null
+++ b/assets/images/svg/badminton.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/svg/social-activity 1 (1).svg b/assets/images/svg/social-activity 1 (1).svg
new file mode 100644
index 0000000..b480d51
--- /dev/null
+++ b/assets/images/svg/social-activity 1 (1).svg
@@ -0,0 +1,9 @@
+
diff --git a/assets/images/svg/social-activity 1.svg b/assets/images/svg/social-activity 1.svg
new file mode 100644
index 0000000..b480d51
--- /dev/null
+++ b/assets/images/svg/social-activity 1.svg
@@ -0,0 +1,9 @@
+
diff --git a/assets/images/svg/special interest.svg b/assets/images/svg/special interest.svg
new file mode 100644
index 0000000..a2828b6
--- /dev/null
+++ b/assets/images/svg/special interest.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/images/svg/weightlifting.svg b/assets/images/svg/weightlifting.svg
new file mode 100644
index 0000000..c38fd68
--- /dev/null
+++ b/assets/images/svg/weightlifting.svg
@@ -0,0 +1,3 @@
+
diff --git a/lib/Common/CommonGlassmorphism.dart b/lib/Common/CommonGlassmorphism.dart
index b2d01a5..c53818e 100644
--- a/lib/Common/CommonGlassmorphism.dart
+++ b/lib/Common/CommonGlassmorphism.dart
@@ -9,7 +9,7 @@ Widget commonGlassContainer({
required double border,
double opacity1 = 0.04,
double opacity2 = 0.05,
- Color borderColor = const Color(0xff434A53),
+ Color borderColor = const Color(0xff434A53),
}) {
return GlassmorphicContainer(
width: width,
@@ -33,11 +33,48 @@ Widget commonGlassContainer({
borderGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
- colors: [
- borderColor,
- borderColor,
- ],
+ colors: [
+ borderColor,
+ borderColor,
+ ],
),
child: customWidget);
}
+Widget commonGlassContainerblue({
+ required double width,
+ required double height,
+ required double borderradius,
+ required Widget customWidget,
+ required double border,
+ Color borderColor = const Color(0xff434A53),
+}) {
+ return GlassmorphicContainer(
+ width: width,
+ height: height,
+ borderRadius: borderradius,
+ blur: 10,
+ alignment: Alignment.topCenter,
+ border: border,
+ linearGradient: LinearGradient(
+ begin: Alignment.topLeft,
+ end: Alignment.bottomRight,
+ colors: [
+ Color(0xFF009DAB).withOpacity(0.48),
+ Color(0xFF009DAB).withOpacity(0.30),
+ ],
+ stops: const [
+ 0.1,
+ 1,
+ ],
+ ),
+ borderGradient: LinearGradient(
+ begin: Alignment.topLeft,
+ end: Alignment.bottomRight,
+ colors: [
+ borderColor,
+ borderColor,
+ ],
+ ),
+ child: customWidget);
+}
diff --git a/lib/Common/CommonWidget.dart b/lib/Common/CommonWidget.dart
index 8e9c31c..38e2f2a 100644
--- a/lib/Common/CommonWidget.dart
+++ b/lib/Common/CommonWidget.dart
@@ -211,7 +211,6 @@ Widget stackContainers({
}) {
return Row(
children: [
- SizedBox(width: 12),
Stack(
clipBehavior: Clip.none,
children: [
diff --git a/lib/Common/controller/CommonTextFormField.dart b/lib/Common/controller/CommonTextFormField.dart
index 604af59..6032017 100644
--- a/lib/Common/controller/CommonTextFormField.dart
+++ b/lib/Common/controller/CommonTextFormField.dart
@@ -141,13 +141,13 @@ class _CustomTextFormFieldState extends State {
),
style: const TextStyle(color: Colors.white),
keyboardType: widget.texttype,
- validator: widget.validator ??
- (value) {
- if (value == null || value.isEmpty) {
- return "Empty value";
- }
- return null;
- },
+ // validator: widget.validator ??
+ // (value) {
+ // if (value == null || value.isEmpty) {
+ // return "Empty value";
+ // }
+ // return null;
+ // },
inputFormatters: widget.inputFormatters,
onChanged: (value) {
widget.onInput?.call(value);
diff --git a/lib/Common/global.dart b/lib/Common/global.dart
new file mode 100644
index 0000000..02bf319
--- /dev/null
+++ b/lib/Common/global.dart
@@ -0,0 +1,27 @@
+import 'package:geolocator/geolocator.dart';
+import 'package:google_maps_flutter/google_maps_flutter.dart';
+
+LatLng? latlong;
+
+getLocation() async {
+ LocationPermission permission = await Geolocator.checkPermission();
+
+ if (permission == LocationPermission.denied ||
+ permission == LocationPermission.deniedForever) {
+ permission = await Geolocator.requestPermission();
+ // } else {
+ Position currentP = await Geolocator.getCurrentPosition(
+ desiredAccuracy: LocationAccuracy.best);
+ latlong = LatLng(currentP.latitude, currentP.longitude);
+ } else {
+ // Position currentP = await Geolocator.getCurrentPosition(
+ // desiredAccuracy: LocationAccuracy.best);
+ // latlong = LatLng(prefs.getDouble('lat')!, prefs.getDouble('long')!);
+ Position currentP = await Geolocator.getCurrentPosition(
+ desiredAccuracy: LocationAccuracy.best);
+ latlong = LatLng(currentP.latitude, currentP.longitude);
+ }
+ print(latlong);
+ print('done');
+}
+
diff --git a/lib/Feed Module/Main_Screens/CalenderTab/AddEvent/AddEvent.dart b/lib/Feed Module/Main_Screens/CalenderTab/AddEvent/AddEvent.dart
index 023aa0d..9f3c813 100644
--- a/lib/Feed Module/Main_Screens/CalenderTab/AddEvent/AddEvent.dart
+++ b/lib/Feed Module/Main_Screens/CalenderTab/AddEvent/AddEvent.dart
@@ -1,5 +1,6 @@
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';
@@ -97,59 +98,66 @@ class _AddEventState extends State {
},
);
},
- child: commonGlassContainer(
- border: 0.9,
- 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,
+ 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),
+ text14w400white("Upload event image"),
+ sizedBoxHeight(8.h),
+ text8w400_8A8A8A(
+ "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
+ ],
+ ),
),
- 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),
- text14w400white("Upload event image"),
- sizedBoxHeight(8.h),
- text8w400_8A8A8A(
- "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
- ],
- ),
- ),
+ ),
),
),
sizedBoxHeight(20.h),
diff --git a/lib/Feed Module/Main_Screens/CalenderTab/AddUsers/AddUsers.dart b/lib/Feed Module/Main_Screens/CalenderTab/AddUsers/AddUsers.dart
index 2397529..cff841d 100644
--- a/lib/Feed Module/Main_Screens/CalenderTab/AddUsers/AddUsers.dart
+++ b/lib/Feed Module/Main_Screens/CalenderTab/AddUsers/AddUsers.dart
@@ -1,13 +1,12 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
-import 'package:get/get_connect/http/src/utils/utils.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonTabBar.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart b/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart
index 5a7cc65..611b874 100644
--- a/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart
+++ b/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart
@@ -5,8 +5,8 @@ import 'package:get/get.dart';
import 'package:regroup/Common/CommonBottomNavigationBar.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonTabBar.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Common/controller/MainScreen.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/Main_Screens/CalenderTab/ManageMenmbers/ManageMembersCal.dart b/lib/Feed Module/Main_Screens/CalenderTab/ManageMenmbers/ManageMembersCal.dart
index b6b61f1..5a578fb 100644
--- a/lib/Feed Module/Main_Screens/CalenderTab/ManageMenmbers/ManageMembersCal.dart
+++ b/lib/Feed Module/Main_Screens/CalenderTab/ManageMenmbers/ManageMembersCal.dart
@@ -4,8 +4,8 @@ import 'package:get/get.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/Main_Screens/CalenderTab/Resource Pool/ResourcePool.dart b/lib/Feed Module/Main_Screens/CalenderTab/Resource Pool/ResourcePool.dart
index 9516b92..83afc7c 100644
--- a/lib/Feed Module/Main_Screens/CalenderTab/Resource Pool/ResourcePool.dart
+++ b/lib/Feed Module/Main_Screens/CalenderTab/Resource Pool/ResourcePool.dart
@@ -3,8 +3,8 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
@@ -281,4 +281,6 @@ class _ResourcePoolState extends State {
),
);
}
+
+
}
diff --git a/lib/Feed Module/Main_Screens/Chats/View/chatsmainscreen.dart b/lib/Feed Module/Main_Screens/Chats/View/chatsmainscreen.dart
index 8217c5e..56b9f3b 100644
--- a/lib/Feed Module/Main_Screens/Chats/View/chatsmainscreen.dart
+++ b/lib/Feed Module/Main_Screens/Chats/View/chatsmainscreen.dart
@@ -117,7 +117,7 @@ class _ChatsMainScreenState extends State {
@override
Widget build(BuildContext context) {
return GestureDetector(
- onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
+ onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
child: Scaffold(
resizeToAvoidBottomInset: false,
key: _scaffoldKey1,
diff --git a/lib/Feed Module/Main_Screens/Community/Community.dart b/lib/Feed Module/Main_Screens/Community/Community.dart
index c6a0fc1..f6dbb5d 100644
--- a/lib/Feed Module/Main_Screens/Community/Community.dart
+++ b/lib/Feed Module/Main_Screens/Community/Community.dart
@@ -62,10 +62,15 @@ class _CommunityScreenState extends State {
height: 25.h,
),
actions: [
- Image.asset(
- 'assets/images/png/ion_search-outline.png',
- height: 25.h,
- width: 25.w,
+ GestureDetector(
+ onTap: () {
+ Get.toNamed(RouteName.explorescreen);
+ },
+ child: Image.asset(
+ 'assets/images/png/ion_search-outline.png',
+ height: 25.h,
+ width: 25.w,
+ ),
),
sizedBoxWidth(10.w),
GestureDetector(
@@ -173,7 +178,7 @@ Widget feedTab() {
Container(
width: double.infinity,
height: 47.h,
- color: Color(0xFFD90B2E),
+ color: Color(0xFF009DAB),
child: Padding(
padding: EdgeInsets.only(left: 16.w),
child: Row(
@@ -184,7 +189,7 @@ Widget feedTab() {
),
),
),
- normalcardtile(
+ announcecardtile(
profileImg: 'assets/images/png/Ellipse 48.png',
title: 'Jocelyn Dokidis',
mainImg: 'assets/images/png/Rectangle 46.png',
@@ -212,7 +217,7 @@ Widget feedTab() {
]));
}
-Widget normalcardtile({
+Widget announcecardtile({
required String profileImg,
required String title,
required String mainImg,
@@ -229,7 +234,7 @@ Widget normalcardtile({
}
}
- return commonGlassContainer(
+ return commonGlassContainerblue(
width: double.infinity,
height: 570.h,
border: 0,
@@ -462,65 +467,403 @@ Widget normalcardtile({
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Column(
+ mainAxisAlignment: MainAxisAlignment.center,
children: [
- Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Obx(() {
- return ReactionButton(
- onReactionChanged: (reaction) {
- updateImage(reaction?.value ?? 'like');
- debugPrint(
- 'Selected value: ${reaction?.value}');
- },
- reactions: ?>[
- Reaction(
- value: 'like',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- Reaction(
- value: 'heart',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/heart 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/heart 2.png'),
- ),
- Reaction(
- value: 'party',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/party-popper 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/party-popper 2.png'),
- ),
- ],
- selectedReaction: Reaction(
- value: 'like',
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
+ Obx(() {
+ return ReactionButton(
+ onReactionChanged: (reaction) {
+ updateImage(reaction?.value ?? 'like');
+ debugPrint('Selected value: ${reaction?.value}');
+ },
+ reactions: ?>[
+ Reaction(
+ value: 'like',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png',
),
- boxColor: Colors.white,
- boxElevation: 9,
- boxRadius: 30,
- itemsSpacing: 8,
- itemScale: 0.4,
- itemSize: Size(45, 45),
- boxPadding: EdgeInsets.all(8),
- boxAnimationDuration: Duration(milliseconds: 200),
- itemAnimationDuration:
- Duration(milliseconds: 500),
- hoverDuration: Duration(milliseconds: 700),
- // toggle: false,
+ ),
+ Reaction(
+ value: 'heart',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/heart 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/heart 2.png'),
+ ),
+ Reaction(
+ value: 'party',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/party-popper 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/party-popper 2.png'),
+ ),
+ ],
+ selectedReaction: Reaction(
+ value: 'like',
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbs.png'),
+ ),
+ boxColor: Colors.white,
+ boxElevation: 2,
+ boxRadius: 30,
+ itemsSpacing: 8,
+ itemScale: 0.4,
+ itemSize: Size(45, 45),
+ boxPadding: EdgeInsets.all(8),
+ boxAnimationDuration: Duration(milliseconds: 200),
+ itemAnimationDuration: Duration(milliseconds: 500),
+ hoverDuration: Duration(milliseconds: 700),
+ // toggle: false,
+ direction: ReactionsBoxAlignment.rtl,
- child: _buildReactionsIcon(mainImage.value),
- );
- })
- ],
+ 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('Like')
+ text11w400_FCFCFC('Save')
+ ],
+ )
+ ],
+ ),
+ sizedBoxHeight(12.h),
+ commonDivider(),
+ sizedBoxHeight(12.h),
+ ]),
+ ),
+ ],
+ ));
+}
+
+Widget normalcardtile({
+ required String profileImg,
+ required String title,
+ required String mainImg,
+ required List containerTitle,
+}) {
+ var mainImage = 'assets/images/png/uiw_like-o.png'.obs;
+ void updateImage(String reaction) {
+ if (reaction == 'like') {
+ mainImage.value = 'assets/images/png/f7_hand-thumbsup.png';
+ } else if (reaction == 'heart') {
+ mainImage.value = 'assets/images/png/heart 2.png';
+ } else if (reaction == 'party') {
+ mainImage.value = 'assets/images/png/party-popper 2.png';
+ }
+ }
+
+ return commonGlassContainer(
+ width: double.infinity,
+ height: 570.h,
+ border: 0,
+ borderradius: 1,
+ customWidget: Column(
+ children: [
+ sizedBoxHeight(25.h),
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ CircleAvatar(
+ foregroundImage: AssetImage(profileImg),
+ radius: 25.r,
+ ),
+ sizedBoxWidth(12.w),
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ text16w400_FCFCFC(title),
+ sizedBoxHeight(5.h),
+ Row(
+ children: [
+ Image.asset(
+ 'assets/images/png/community 1 (traced).png',
+ height: 14.w,
+ width: 14.w,
+ ),
+ sizedBoxWidth(7.w),
+ text12w400_FCFCFC('Active alliance network'),
+ sizedBoxWidth(7.w),
+ Icon(
+ Icons.circle,
+ color: Color(0xFFFCFCFC),
+ size: 4.sp,
+ ),
+ sizedBoxWidth(6.w),
+ text12w400_FCFCFC('1 Hour ago'),
+ ],
+ )
+ ],
+ ),
+ Spacer(),
+ PopupMenuButton(
+ surfaceTintColor: Color(0xFF222935),
+ constraints: BoxConstraints.tightFor(width: 176.w),
+ offset: Offset(0, 50),
+ color: Color(0xFF222935),
+ tooltip: "",
+ itemBuilder: (BuildContext context) => [
+ 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",
+ ),
+ ),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/Vector (5).png",
+ height: 15.h,
+ width: 15.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ 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",
+ ),
+ ),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/share.png",
+ height: 20.h,
+ width: 20.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ 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",
+ ),
+ ),
+ 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: containertile(
+ 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'
+ ]),
+ ),
+ Spacer(),
+ commonGlassContainer(
+ border: 0.43,
+ width: 30.w,
+ height: 30.h,
+ opacity1: 0.05,
+ opacity2: 0.06,
+ borderradius: 100,
+ 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),
+ commonGlassContainer(
+ border: 0.43,
+ width: 30.w,
+ height: 30.h,
+ borderradius: 100,
+ opacity1: 0.05,
+ opacity2: 0.06,
+ 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(
+ onReactionChanged: (reaction) {
+ updateImage(reaction?.value ?? 'like');
+ debugPrint('Selected value: ${reaction?.value}');
+ },
+ reactions: ?>[
+ Reaction(
+ value: 'like',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png',
+ ),
+ ),
+ Reaction(
+ value: 'heart',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/heart 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/heart 2.png'),
+ ),
+ Reaction(
+ value: 'party',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/party-popper 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/party-popper 2.png'),
+ ),
+ ],
+ selectedReaction: Reaction(
+ value: 'like',
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbs.png'),
+ ),
+ boxColor: Colors.white,
+ boxElevation: 2,
+ boxRadius: 30,
+ itemsSpacing: 8,
+ itemScale: 0.4,
+ itemSize: Size(45, 45),
+ boxPadding: EdgeInsets.all(8),
+ boxAnimationDuration: Duration(milliseconds: 200),
+ itemAnimationDuration: Duration(milliseconds: 500),
+ hoverDuration: Duration(milliseconds: 700),
+ // toggle: false,
+ direction: ReactionsBoxAlignment.rtl,
+
+ child: _buildReactionsIcon(mainImage.value),
+ );
+ })
],
),
GestureDetector(
@@ -573,17 +916,23 @@ Widget _buildReactionsPreviewIcon(String assetPath) {
}
Widget _buildReactionsIcon(String assetPath) {
- return Image.asset(
- assetPath,
- height: 19.h,
- width: 19.w,
+ return Column(
+ children: [
+ Image.asset(
+ assetPath,
+ height: 19.h,
+ width: 19.w,
+ ),
+ sizedBoxHeight(8.h),
+ text11w400_FCFCFC('Like')
+ ],
);
}
Widget containertile({required String text}) {
return commonGlassContainer(
border: 1,
- width: 100.w,
+ width: 130.w,
height: 30.h,
borderradius: 30.r,
borderColor: Color(0xFFD90B2E),
diff --git a/lib/Feed Module/Main_Screens/Community/CycleScreen.dart b/lib/Feed Module/Main_Screens/Community/CycleScreen.dart
index d2eaef4..af4c376 100644
--- a/lib/Feed Module/Main_Screens/Community/CycleScreen.dart
+++ b/lib/Feed Module/Main_Screens/Community/CycleScreen.dart
@@ -369,65 +369,57 @@ Widget normalcardtile({
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Column(
+ mainAxisAlignment: MainAxisAlignment.center,
children: [
- Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Obx(() {
- return ReactionButton(
- onReactionChanged: (reaction) {
- updateImage(reaction?.value ?? 'like');
- debugPrint(
- 'Selected value: ${reaction?.value}');
- },
- reactions: ?>[
- Reaction(
- value: 'like',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- Reaction(
- value: 'heart',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/heart 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/heart 2.png'),
- ),
- Reaction(
- value: 'party',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/party-popper 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/party-popper 2.png'),
- ),
- ],
- selectedReaction: Reaction(
- value: 'like',
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- boxColor: Colors.white,
- boxElevation: 9,
- boxRadius: 30,
- itemsSpacing: 8,
- itemScale: 0.4,
- itemSize: Size(45, 45),
- boxPadding: EdgeInsets.all(8),
- boxAnimationDuration: Duration(milliseconds: 200),
- itemAnimationDuration:
- Duration(milliseconds: 500),
- hoverDuration: Duration(milliseconds: 700),
- // toggle: false,
+ Obx(() {
+ return ReactionButton(
+ onReactionChanged: (reaction) {
+ updateImage(reaction?.value ?? 'like');
+ debugPrint('Selected value: ${reaction?.value}');
+ },
+ reactions: ?>[
+ Reaction(
+ value: 'like',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ Reaction(
+ value: 'heart',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/heart 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/heart 2.png'),
+ ),
+ Reaction(
+ value: 'party',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/party-popper 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/party-popper 2.png'),
+ ),
+ ],
+ selectedReaction: Reaction(
+ value: 'like',
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ boxColor: Colors.white,
+ boxElevation: 9,
+ boxRadius: 30,
+ itemsSpacing: 8,
+ itemScale: 0.4,
+ itemSize: Size(45, 45),
+ boxPadding: EdgeInsets.all(8),
+ boxAnimationDuration: Duration(milliseconds: 200),
+ itemAnimationDuration: Duration(milliseconds: 500),
+ hoverDuration: Duration(milliseconds: 700),
+ // toggle: false,
- child: _buildReactionsIcon(mainImage.value),
- );
- })
- ],
- ),
- sizedBoxHeight(8.h),
- text11w400_FCFCFC('Like')
+ child: _buildReactionsIcon(mainImage.value),
+ );
+ })
],
),
GestureDetector(
@@ -480,9 +472,15 @@ Widget _buildReactionsPreviewIcon(String assetPath) {
}
Widget _buildReactionsIcon(String assetPath) {
- return Image.asset(
- assetPath,
- height: 19.h,
- width: 19.w,
+ return Column(
+ children: [
+ Image.asset(
+ assetPath,
+ height: 19.h,
+ width: 19.w,
+ ),
+ sizedBoxHeight(8.h),
+ text11w400_FCFCFC('Like')
+ ],
);
}
diff --git a/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart b/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart
index 9ab2ee5..5d83e31 100644
--- a/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart
+++ b/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart
@@ -4,8 +4,8 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
@@ -358,71 +358,66 @@ class _PostDetailsScreenState extends State {
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
- Column(
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceAround,
+ Column(
+ mainAxisAlignment: MainAxisAlignment.center,
children: [
- Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Obx(() {
- return ReactionButton(
- onReactionChanged: (reaction) {
- updateImage(reaction?.value ?? 'like');
- debugPrint(
- 'Selected value: ${reaction?.value}');
- },
- reactions: ?>[
- Reaction(
- value: 'like',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- Reaction(
- value: 'heart',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/heart 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/heart 2.png'),
- ),
- Reaction(
- value: 'party',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/party-popper 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/party-popper 2.png'),
- ),
- ],
- selectedReaction: Reaction(
- value: 'like',
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- boxColor: Colors.white,
- boxElevation: 9,
- boxRadius: 30,
- itemsSpacing: 8,
- itemScale: 0.4,
- itemSize: Size(45, 45),
- boxPadding: EdgeInsets.all(8),
- boxAnimationDuration: Duration(milliseconds: 200),
- itemAnimationDuration:
- Duration(milliseconds: 500),
- hoverDuration: Duration(milliseconds: 700),
- // toggle: false,
+ Obx(() {
+ return ReactionButton(
+ onReactionChanged: (reaction) {
+ updateImage(reaction?.value ?? 'like');
+ debugPrint(
+ 'Selected value: ${reaction?.value}');
+ },
+ reactions: ?>[
+ Reaction(
+ value: 'like',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ Reaction(
+ value: 'heart',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/heart 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/heart 2.png'),
+ ),
+ Reaction(
+ value: 'party',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/party-popper 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/party-popper 2.png'),
+ ),
+ ],
+ selectedReaction: Reaction(
+ value: 'like',
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ boxColor: Colors.white,
+ boxElevation: 9,
+ boxRadius: 30,
+ itemsSpacing: 8,
+ itemScale: 0.4,
+ itemSize: Size(45, 45),
+ boxPadding: EdgeInsets.all(8),
+ boxAnimationDuration:
+ Duration(milliseconds: 200),
+ itemAnimationDuration:
+ Duration(milliseconds: 500),
+ hoverDuration: Duration(milliseconds: 700),
+ // toggle: false,
- child: _buildReactionsIcon(mainImage.value),
- );
- })
- ],
- ),
+ child: _buildReactionsIcon(mainImage.value),
+ );
+ })
],
),
- sizedBoxHeight(8.h),
- text11w400_FCFCFC('Like')
],
),
Column(
@@ -472,10 +467,16 @@ class _PostDetailsScreenState extends State {
}
Widget _buildReactionsIcon(String assetPath) {
- return Image.asset(
- assetPath,
- height: 19.h,
- width: 19.w,
+ return Column(
+ children: [
+ Image.asset(
+ assetPath,
+ height: 19.h,
+ width: 19.w,
+ ),
+ sizedBoxHeight(8.h),
+ text11w400_FCFCFC('Like')
+ ],
);
}
}
diff --git a/lib/Feed Module/Main_Screens/Community/PostScreen.dart b/lib/Feed Module/Main_Screens/Community/PostScreen.dart
index dfdd62e..8498aac 100644
--- a/lib/Feed Module/Main_Screens/Community/PostScreen.dart
+++ b/lib/Feed Module/Main_Screens/Community/PostScreen.dart
@@ -1,6 +1,8 @@
import 'dart:io';
+import 'package:dotted_border/dotted_border.dart';
import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
import 'package:flutter_reaction_button/flutter_reaction_button.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@@ -15,6 +17,7 @@ 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';
+import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
class PostScreen extends StatefulWidget {
const PostScreen({super.key});
@@ -80,64 +83,73 @@ class _PostScreenState extends State {
},
);
},
- child: commonGlassContainer(
- border: 0.9,
- 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 image"),
- sizedBoxHeight(8.h),
- text8w400_8A8A8A(
- "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
- ],
- ),
- )),
+ 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 image"),
+ sizedBoxHeight(8.h),
+ text8w400_8A8A8A(
+ "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
+ ],
+ ),
+ )),
+ ),
),
sizedBoxHeight(25.h),
text16w400_FCFCFC("Tags"),
sizedBoxHeight(18.h),
- CustomDropDownTag(
+ CustomDropDownTag1(
header: "Enter tags",
title: "Enter tags",
listData: [
@@ -190,7 +202,19 @@ class _PostScreenState extends State {
sizedBoxHeight(30.h),
text16w400_FCFCFC("CTA Title"),
sizedBoxHeight(18.h),
- CustomTextFormField(),
+ CustomTextFormField(
+ // validationMessage: "Enter a CTA Title",
+ validator: (val) {
+ if (val == null || val.isEmpty) {
+ return 'Enter a CTA Title';
+ }
+ return null;
+ },
+ inputFormatters: [
+ LengthLimitingTextInputFormatter(20),
+ RemoveEmojiInputFormatter()
+ ],
+ ),
sizedBoxHeight(25.h),
text16w400_FCFCFC("Post as"),
sizedBoxHeight(18.h),
@@ -326,5 +350,4 @@ class _PostScreenState extends State {
);
});
}
-
}
diff --git a/lib/Feed Module/Main_Screens/ExploreDesign/DetailExplore.dart b/lib/Feed Module/Main_Screens/ExploreDesign/DetailExplore.dart
new file mode 100644
index 0000000..9924794
--- /dev/null
+++ b/lib/Feed Module/Main_Screens/ExploreDesign/DetailExplore.dart
@@ -0,0 +1,195 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:regroup/Common/CommonGlassmorphism.dart';
+import 'package:regroup/Common/CommonTabBar.dart';
+import 'package:regroup/Common/CommonWidget.dart';
+import 'package:regroup/Common/controller/CommonTextFormField.dart';
+import 'package:regroup/Utils/Common/blureffect.dart';
+import 'package:regroup/Utils/Common/sized_box.dart';
+import 'package:regroup/Utils/texts.dart';
+
+class DetailExplore extends StatefulWidget {
+ const DetailExplore({super.key});
+
+ @override
+ State createState() => _DetailExploreState();
+}
+
+class _DetailExploreState extends State {
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color(0xFF222935),
+ extendBody: true,
+ body: SafeArea(
+ child: Stack(children: [
+ const CommonBlurLeftRed(),
+ const CommonBlurRightRed(),
+ const CommonBlurLeft(),
+ const CommonBlurRight(),
+ Positioned.fill(
+ child: Column(children: [
+ sizedBoxHeight(20.h),
+ commonDivider(),
+ sizedBoxHeight(20.h),
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Row(
+ children: [
+ GestureDetector(
+ onTap: () {
+ Get.back();
+ },
+ child: commonGlassContainer(
+ width: 40.w,
+ height: 40.h,
+ borderradius: 100,
+ customWidget: Center(
+ child: Icon(
+ Icons.arrow_back,
+ color: Colors.white,
+ )),
+ border: 1,
+ borderColor: Color(0xFF55434F)),
+ ),
+ sizedBoxWidth(12.w),
+ Expanded(
+ 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: "",
+ ),
+ ),
+ ],
+ ),
+ ),
+ sizedBoxHeight(30.h),
+ Expanded(
+ child: DefaultTabController(
+ length: 4,
+ // initialIndex: selectedIndex.value,
+ child: Column(children: [
+ CommonTabBar(tabs: const [
+ Tab(
+ text: 'All',
+ ),
+ Tab(
+ text: 'Events',
+ ),
+ Tab(
+ text: 'Groups',
+ ),
+ Tab(
+ text: 'Communities',
+ ),
+ ]),
+ Expanded(
+ child: TabBarView(
+ children: [
+ allTab(),
+ eventsTab(),
+ groupsTab(),
+ communitiesTab(),
+ ],
+ ),
+ ),
+ ])),
+ )
+ ]))
+ ])));
+ }
+
+ Widget allTab() {
+ List alldata = [
+ {
+ "imagePath": "assets/images/png/notification1.png",
+ "title": "Kartikey gautam"
+ },
+ {
+ "imagePath": "assets/images/png/notification2.png",
+ "title": "Kartikey gautam"
+ },
+ {
+ "imagePath": "assets/images/png/notification1.png",
+ "title": "Kartikey gautam"
+ },
+ ];
+
+ return Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ sizedBoxHeight(30.h),
+ text16w700_FCFCFC("People"),
+ sizedBoxHeight(16.h),
+ ListView.builder(
+ shrinkWrap: true,
+ itemCount: alldata.length,
+ itemBuilder: (context, index) {
+ return Column(
+ children: [
+ rowTile(
+ imagePath: alldata[index]["imagePath"],
+ title: alldata[index]["title"]),
+ if (index != alldata.length - 1) commonDivider()
+ ],
+ );
+ },
+ )
+ ],
+ ),
+ );
+ }
+
+ Widget rowTile({required String imagePath, required String title}) {
+ return Padding(
+ padding: EdgeInsets.symmetric(
+ vertical: 16.h,
+ ),
+ child: Row(
+ children: [
+ Container(
+ height: 30.h,
+ width: 30.w,
+ decoration: BoxDecoration(
+ border: Border.all(color: Color(0xFF434A53), width: 0.5.w),
+ shape: BoxShape.circle,
+ ),
+ child: Center(child: Image.asset(imagePath, fit: BoxFit.fill)),
+ ),
+ sizedBoxWidth(12.w),
+ text16400white(title),
+ ],
+ ),
+ );
+ }
+
+ Widget eventsTab() {
+ return Column(
+ children: [],
+ );
+ }
+
+ Widget groupsTab() {
+ return Column(
+ children: [],
+ );
+ }
+
+ Widget communitiesTab() {
+ return Column(
+ children: [],
+ );
+ }
+}
diff --git a/lib/Feed Module/Main_Screens/ExploreDesign/ExploreScreen.dart b/lib/Feed Module/Main_Screens/ExploreDesign/ExploreScreen.dart
new file mode 100644
index 0000000..db9e0d6
--- /dev/null
+++ b/lib/Feed Module/Main_Screens/ExploreDesign/ExploreScreen.dart
@@ -0,0 +1,317 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:google_maps_flutter/google_maps_flutter.dart';
+import 'package:regroup/Common/CommonButton.dart';
+import 'package:regroup/Common/CommonGlassmorphism.dart';
+import 'package:regroup/Common/CommonWidget.dart';
+import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.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/Common/global.dart' as global;
+import 'package:regroup/resources/routes/route_name.dart';
+
+class ExploreScreen extends StatefulWidget {
+ const ExploreScreen({super.key});
+
+ @override
+ State createState() => _ExploreScreenState();
+}
+
+class _ExploreScreenState extends State {
+ GoogleMapController? _mapController;
+ double _zoomLevel = 18.0;
+
+ @override
+ void initState() {
+ global.getLocation();
+ _showInitialBottomSheet();
+
+ super.initState();
+ }
+
+ Future _showInitialBottomSheet() async {
+ await Future.delayed(Duration(milliseconds: 400));
+ exploreBottomSheet();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color(0xFF222935),
+ extendBody: true,
+ // appBar: CommonAppbar(
+ // titleTxt: "",
+ // ),
+ body: Stack(children: [
+ const CommonBlurLeftRed(),
+ const CommonBlurRightRed(),
+ const CommonBlurLeft(),
+ const CommonBlurRight(),
+ Positioned.fill(
+ child: Stack(children: [
+ GoogleMap(
+ mapType: MapType.normal,
+ mapToolbarEnabled: true,
+ onMapCreated: (controller) {
+ _mapController = controller;
+ _mapController!.animateCamera(
+ CameraUpdate.newCameraPosition(
+ CameraPosition(
+ target: global.latlong!,
+ zoom: _zoomLevel,
+ ),
+ ),
+ );
+ },
+ zoomControlsEnabled: false,
+ initialCameraPosition: CameraPosition(
+ target: global.latlong!,
+ zoom: _zoomLevel,
+ ),
+ markers: {
+ Marker(
+ markerId: MarkerId('currentP'),
+ icon: BitmapDescriptor.defaultMarker,
+ position: global.latlong!,
+ onTap: () {
+ exploreBottomSheet2();
+ },
+ ),
+ },
+ ),
+ Positioned(
+ top: 50.h,
+ child: SizedBox(
+ width: 350.w,
+ child: GestureDetector(
+ onTap: () {
+ Get.toNamed(RouteName.searchgroup);
+ },
+ child: AbsorbPointer(
+ 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 groups",
+ ),
+ ),
+ ),
+ ))
+ ]))
+ ]));
+ }
+
+ void exploreBottomSheet2() {
+ Get.bottomSheet(
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.only(
+ topLeft: Radius.circular(10.r),
+ topRight: Radius.circular(10.r),
+ ),
+ color: Color(0xFF222935),
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.center,
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ sizedBoxHeight(10.h),
+ Stack(clipBehavior: Clip.none, children: [
+ Container(
+ height: 130.h,
+ width: double.infinity,
+ decoration:
+ BoxDecoration(borderRadius: BorderRadius.circular(5.r)),
+ child: Image.asset(
+ "assets/images/png/Rectangle 32.png",
+ fit: BoxFit.cover,
+ ),
+ ),
+ Positioned(
+ bottom: -40.h,
+ right: 0,
+ left: 0,
+ child: Align(
+ alignment: Alignment.center,
+ child: Container(
+ height: 85.h,
+ width: 85.w,
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ ),
+ child: Image.asset("assets/images/png/Ellipse 37.png",
+ fit: BoxFit.cover),
+ ),
+ ))
+ ]),
+ sizedBoxHeight(50.h),
+ text20w700_FCFCFC("Iron titans fitness crew"),
+ sizedBoxHeight(25.h),
+ text14400whiteblur(
+ "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s",
+ textAlign: TextAlign.center),
+ sizedBoxHeight(25.h),
+ commonDivider(),
+ sizedBoxHeight(25.h),
+ Row(
+ children: [
+ commonGlassContainer(
+ width: 30.w,
+ height: 30.h,
+ borderradius: 100,
+ customWidget: Center(
+ child: Image.asset(
+ "assets/images/png/community 1 (traced).png",
+ height: 18.h,
+ width: 18.w,
+ ),
+ ),
+ border: 0.5),
+ sizedBoxWidth(10.w),
+ text16400white("10 subgroups "),
+ Spacer(),
+ commonGlassContainer(
+ width: 30.w,
+ height: 30.h,
+ borderradius: 100,
+ customWidget: Center(
+ child: Image.asset(
+ "assets/images/png/ph_users-light.png",
+ height: 18.h,
+ width: 18.w,
+ )),
+ border: 0.5),
+ sizedBoxWidth(10.w),
+ text16400white("7 members"),
+ ],
+ ),
+ sizedBoxHeight(30.h),
+ Row(
+ children: [
+ commonGlassContainer(
+ width: 170.w,
+ height: 35.h,
+ opacity1: 0.05,
+ opacity2: 0.07,
+ borderradius: 30.r,
+ customWidget: Center(child: text14w400_FCFCFC("Message")),
+ border: 1),
+ Spacer(),
+ Container(
+ width: 170.w,
+ height: 35.h,
+ decoration: BoxDecoration(
+ color: Color(0xFFD90B2E),
+ borderRadius: BorderRadius.circular(30.r)),
+ child: Center(child: text14400white("Visit group")),
+ ),
+ ],
+ ),
+ sizedBoxHeight(30.h)
+ ],
+ ),
+ ),
+ ),
+ );
+ }
+
+ void exploreBottomSheet() {
+ List exploreData = [
+ {
+ "imagePath": "assets/images/png/Rectangle 29.png",
+ "title": "Iron titans fitness crew",
+ "subtitle": "Elm street london, United Kingdom"
+ },
+ {
+ "imagePath": "assets/images/png/Rectangle 31ee.png",
+ "title": "Iron titans fitness crew",
+ "subtitle": "Elm street london, United Kingdom"
+ },
+ {
+ "imagePath": "assets/images/png/Rectangle 45.png",
+ "title": "Iron titans fitness crew",
+ "subtitle": "Elm street london, United Kingdom"
+ },
+ ];
+ Get.bottomSheet(
+ Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.only(
+ topLeft: Radius.circular(10.r),
+ topRight: Radius.circular(10.r),
+ ),
+ color: Color(0xFF222935),
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ sizedBoxHeight(20.h),
+ text18w700_FCFCFC('Explore groups and business'),
+ sizedBoxHeight(25.h),
+ Column(
+ children: List.generate(exploreData.length, (index) {
+ return Column(
+ children: [
+ rowtile(
+ imagePath: exploreData[index]["imagePath"],
+ title: exploreData[index]["title"],
+ subtitle: exploreData[index]["subtitle"]),
+ if (exploreData.length - 1 != index) commonDivider(),
+ ],
+ );
+ }),
+ ),
+ sizedBoxHeight(30.h),
+ ],
+ ),
+ ),
+ ),
+ );
+ }
+
+ Widget rowtile(
+ {required String imagePath,
+ required String title,
+ required String subtitle}) {
+ return Padding(
+ padding: EdgeInsets.symmetric(vertical: 15.h),
+ child: Row(
+ children: [
+ Container(
+ height: 50.h,
+ width: 50.w,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(5.r),
+ ),
+ child: Image.asset(imagePath),
+ ),
+ sizedBoxWidth(10.w),
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ text16w400_FCFCFC(title),
+ sizedBoxHeight(6.h),
+ text12400whiteblur(subtitle),
+ ],
+ )
+ ],
+ ),
+ );
+ }
+}
diff --git a/lib/Feed Module/Main_Screens/ExploreDesign/SearchGroup.dart b/lib/Feed Module/Main_Screens/ExploreDesign/SearchGroup.dart
new file mode 100644
index 0000000..df42dc6
--- /dev/null
+++ b/lib/Feed Module/Main_Screens/ExploreDesign/SearchGroup.dart
@@ -0,0 +1,149 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:regroup/Common/CommonGlassmorphism.dart';
+import 'package:regroup/Common/CommonWidget.dart';
+import 'package:regroup/Common/controller/CommonTextFormField.dart';
+import 'package:regroup/Utils/Common/CommonAppbar.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';
+
+class SearchGroup extends StatefulWidget {
+ const SearchGroup({super.key});
+
+ @override
+ State createState() => _SearchGroupState();
+}
+
+class _SearchGroupState extends State {
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color(0xFF222935),
+ 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(
+ 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"),
+ ],
+ ),
+ 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"),
+ ),
+ 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),
+ ])))
+ ]),
+ ));
+ }
+
+ Widget rowTile({required String imagePath, required String title}) {
+ return Row(
+ children: [
+ commonGlassContainer(
+ width: 30.w,
+ height: 30.h,
+ borderradius: 100,
+ customWidget: Center(
+ child: Image.asset(
+ imagePath,
+ height: 16.h,
+ width: 16.w,
+ ),
+ ),
+ border: 0.5),
+ sizedBoxWidth(12.w),
+ text16400white(title),
+ Spacer(),
+ Icon(
+ Icons.clear,
+ color: Colors.white,
+ )
+ ],
+ );
+ }
+}
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/ConnectCommunity.dart b/lib/Feed Module/Main_Screens/GroupTab/View/ConnectCommunity.dart
new file mode 100644
index 0000000..cf186dd
--- /dev/null
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/ConnectCommunity.dart
@@ -0,0 +1,169 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:regroup/Common/CommonGlassmorphism.dart';
+import 'package:regroup/Common/CommonWidget.dart';
+import 'package:regroup/Utils/Common/CommonAppbar.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';
+
+class ConnectCommunity extends StatefulWidget {
+ const ConnectCommunity({super.key});
+
+ @override
+ State createState() => _ConnectCommunityState();
+}
+
+class _ConnectCommunityState extends State {
+ List communityData = [
+ {
+ "imagePath": "assets/images/png/img2.png",
+ "text": "Active alliance network",
+ "members": "7 members"
+ },
+ {
+ "imagePath": "assets/images/png/img34.png",
+ "text": "FitFam federation",
+ "members": "7 members"
+ },
+ ];
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ // key: _scaffoldKey1,
+ backgroundColor: Color(0xFF222935),
+ extendBody: true,
+ appBar: CommonAppbar(
+ titleTxt: "Connect with communities",
+ ),
+ body: Stack(children: [
+ const CommonBlurLeftRed(),
+ const CommonBlurRightRed(),
+ const CommonBlurLeft(),
+ const CommonBlurRight(),
+ Positioned.fill(
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child:
+ Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
+ sizedBoxHeight(30.h),
+ Expanded(
+ child: ListView.builder(
+ shrinkWrap: true,
+ physics: BouncingScrollPhysics(),
+ itemCount: communityData.length,
+ itemBuilder: (context, index) {
+ return communityCard(
+ ontap: () {},
+ imagepath: communityData[index]['imagePath'],
+ title: communityData[index]['text'],
+ members: communityData[index]['members']);
+ },
+ ),
+ )
+ ]),
+ ))
+ ]));
+ }
+
+ Widget communityCard({
+ required String imagepath,
+ required String title,
+ required void Function()? ontap,
+ required String members,
+ }) {
+ return Padding(
+ padding: EdgeInsets.only(bottom: 25.h),
+ child: GestureDetector(
+ onTap: ontap,
+ child: commonGlassContainer(
+ border: 0.9,
+ width: double.infinity,
+ height: 162.h,
+ borderradius: 10.r,
+ customWidget: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h),
+ child: Column(
+ children: [
+ Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ height: 65.h,
+ width: 65.h,
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ // color: Colors.amber,
+ ),
+ child:
+ // Center(
+ // child: Image.asset(imagepath, fit: BoxFit.cover)),
+
+ CircleAvatar(
+ backgroundImage: AssetImage(
+ imagepath,
+ ),
+ ),
+ ),
+ sizedBoxWidth(13.w),
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ text18w700_FCFCFC(title),
+ sizedBoxHeight(10.h),
+ Row(
+ children: [
+ Image.asset(
+ "assets/images/png/community 1 (traced).png",
+ height: 20.h,
+ width: 20.w,
+ ),
+ sizedBoxWidth(3.w),
+ text14w400_FCFCFCblur("10 groups")
+ ],
+ ),
+ ],
+ ),
+ Spacer(),
+ ],
+ ),
+ sizedBoxHeight(16.h),
+ commonDivider(),
+ sizedBoxHeight(10.h),
+ Expanded(
+ child: Row(
+ children: [
+ stackContainers(
+ number: "+2",
+ containerImages: [
+ "assets/images/png/cimg3.png",
+ "assets/images/png/cimg2.png",
+ "assets/images/png/cimg3.png",
+ "assets/images/png/cimg2.png",
+ ],
+ ),
+ sizedBoxWidth(95.w),
+ text12w400_FCFCFC_blur(members),
+ Spacer(),
+ Container(
+ height: 30.h,
+ width: 123.w,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(30.r),
+ color: Color(0xFFD90B2E)),
+ child: Center(
+ child: text14w400_FCFCFC("Request to join")),
+ )
+ ],
+ ),
+ )
+ ],
+ ),
+ )),
+ ),
+ );
+ }
+}
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/GoupSettings.dart b/lib/Feed Module/Main_Screens/GroupTab/View/GoupSettings.dart
index 3182ffe..e4511bb 100644
--- a/lib/Feed Module/Main_Screens/GroupTab/View/GoupSettings.dart
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/GoupSettings.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
@@ -16,6 +17,20 @@ class GroupSettings extends StatefulWidget {
}
class _GroupSettingsState extends State {
+ var selectedIndex = (-1).obs;
+
+ List eventData = [
+ {
+ "title": "Public",
+ },
+ {
+ "title": "Private - Request to join",
+ },
+ {
+ "title": "Private - Invite only",
+ },
+ ];
+
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -35,18 +50,23 @@ class _GroupSettingsState extends State {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
sizedBoxHeight(30.h),
- Padding(
- padding: EdgeInsets.symmetric(horizontal: 16.w),
- child: Row(
- children: [
- text18w400_FCFCFC("Group type"),
- Spacer(),
- Icon(
- Icons.arrow_forward_ios_outlined,
- color: Colors.white,
- size: 18.sp,
- )
- ],
+ GestureDetector(
+ onTap: () {
+ inviteBottomSheet();
+ },
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Row(
+ children: [
+ text18w400_FCFCFC("Group type"),
+ Spacer(),
+ Icon(
+ Icons.arrow_forward_ios_outlined,
+ color: Colors.white,
+ size: 18.sp,
+ )
+ ],
+ ),
),
),
sizedBoxHeight(25.h),
@@ -74,4 +94,85 @@ class _GroupSettingsState extends State {
]))
]));
}
+
+ void inviteBottomSheet() {
+ Get.bottomSheet(
+ StatefulBuilder(
+ builder: (BuildContext context, StateSetter setState) {
+ return Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.only(
+ topLeft: Radius.circular(30.r),
+ topRight: Radius.circular(30.r),
+ ),
+ color: Color(0xFF222935),
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ sizedBoxHeight(30.h),
+ text18w400white("Choose"),
+ Obx(
+ () => Column(
+ children: List.generate(eventData.length, (index) {
+ return Column(
+ children: [
+ sizedBoxHeight(10.h),
+ eventWidget(
+ index: index,
+ title: eventData[index]["title"],
+ isSelected: selectedIndex.value == index,
+ onSelectedChanged: (int? value) {
+ selectedIndex.value = value ?? -1;
+ },
+ ),
+ if (index != eventData.length - 1) commonDivider(),
+ ],
+ );
+ }),
+ ),
+ ),
+ sizedBoxHeight(30.h),
+ ],
+ ),
+ ),
+ );
+ },
+ ),
+ );
+ }
+
+ Widget eventWidget({
+ required int index,
+ required String title,
+ required bool isSelected,
+ required ValueChanged onSelectedChanged,
+ }) {
+ return Padding(
+ padding: EdgeInsets.symmetric(
+ vertical: 10.h,
+ ),
+ child: Row(
+ children: [
+ Transform.scale(
+ scale: 1.2,
+ child: Radio(
+ value: index,
+ groupValue: isSelected ? index : null,
+ onChanged: onSelectedChanged,
+ activeColor: Colors.white,
+ fillColor: MaterialStateProperty.resolveWith((states) {
+ return Colors.white;
+ }),
+ ),
+ ),
+ sizedBoxWidth(10.w),
+ text16w400_FCFCFC(title),
+ ],
+ ),
+ );
+ }
}
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/GroupDetail.dart b/lib/Feed Module/Main_Screens/GroupTab/View/GroupDetail.dart
index 02bcf25..22605fb 100644
--- a/lib/Feed Module/Main_Screens/GroupTab/View/GroupDetail.dart
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/GroupDetail.dart
@@ -413,7 +413,11 @@ class _GroupDetailState extends State {
children: [
text18w400white("Subgroups"),
Spacer(),
- text14400white("View more"),
+ GestureDetector(
+ onTap: () {
+ Get.toNamed(RouteName.subgroups);
+ },
+ child: text14400white("View more")),
],
),
sizedBoxHeight(20.h),
@@ -427,9 +431,14 @@ class _GroupDetailState extends State {
itemBuilder: (context, index) {
return Padding(
padding: EdgeInsets.only(right: 20.w),
- child: profilecardtile(
- imagePath: cardtile[index]["imagePath"],
- title: cardtile[index]["title"]),
+ child: GestureDetector(
+ onTap: () {
+ Get.toNamed(RouteName.subgroupinfo);
+ },
+ child: profilecardtile(
+ imagePath: cardtile[index]["imagePath"],
+ title: cardtile[index]["title"]),
+ ),
);
},
),
@@ -739,66 +748,57 @@ class _GroupDetailState extends State {
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Column(
+ mainAxisAlignment: MainAxisAlignment.center,
children: [
- Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Obx(() {
- return ReactionButton(
- onReactionChanged: (reaction) {
- updateImage(reaction?.value ?? 'like');
- debugPrint(
- 'Selected value: ${reaction?.value}');
- },
- reactions: ?>[
- Reaction(
- value: 'like',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- Reaction(
- value: 'heart',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/heart 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/heart 2.png'),
- ),
- Reaction(
- value: 'party',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/party-popper 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/party-popper 2.png'),
- ),
- ],
- selectedReaction: Reaction(
- value: 'like',
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- boxColor: Colors.white,
- boxElevation: 9,
- boxRadius: 30,
- itemsSpacing: 8,
- itemScale: 0.4,
- itemSize: Size(45, 45),
- boxPadding: EdgeInsets.all(8),
- boxAnimationDuration:
- Duration(milliseconds: 200),
- itemAnimationDuration:
- Duration(milliseconds: 500),
- hoverDuration: Duration(milliseconds: 700),
- // toggle: false,
+ Obx(() {
+ return ReactionButton(
+ onReactionChanged: (reaction) {
+ updateImage(reaction?.value ?? 'like');
+ debugPrint('Selected value: ${reaction?.value}');
+ },
+ reactions: ?>[
+ Reaction(
+ value: 'like',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ Reaction(
+ value: 'heart',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/heart 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/heart 2.png'),
+ ),
+ Reaction(
+ value: 'party',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/party-popper 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/party-popper 2.png'),
+ ),
+ ],
+ selectedReaction: Reaction(
+ value: 'like',
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ boxColor: Colors.white,
+ boxElevation: 9,
+ boxRadius: 30,
+ itemsSpacing: 8,
+ itemScale: 0.4,
+ itemSize: Size(45, 45),
+ boxPadding: EdgeInsets.all(8),
+ boxAnimationDuration: Duration(milliseconds: 200),
+ itemAnimationDuration: Duration(milliseconds: 500),
+ hoverDuration: Duration(milliseconds: 700),
+ // toggle: false,
- child: _buildReactionsIcon(mainImage.value),
- );
- })
- ],
- ),
- sizedBoxHeight(8.h),
- text11w400_FCFCFC('Like')
+ child: _buildReactionsIcon(mainImage.value),
+ );
+ })
],
),
GestureDetector(
@@ -851,10 +851,16 @@ class _GroupDetailState extends State {
}
Widget _buildReactionsIcon(String assetPath) {
- return Image.asset(
- assetPath,
- height: 19.h,
- width: 19.w,
+ return Column(
+ children: [
+ Image.asset(
+ assetPath,
+ height: 19.h,
+ width: 19.w,
+ ),
+ sizedBoxHeight(8.h),
+ text11w400_FCFCFC('Like')
+ ],
);
}
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/GroupEvent.dart b/lib/Feed Module/Main_Screens/GroupTab/View/GroupEvent.dart
index 47d5178..0ca2908 100644
--- a/lib/Feed Module/Main_Screens/GroupTab/View/GroupEvent.dart
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/GroupEvent.dart
@@ -1,5 +1,6 @@
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';
@@ -79,8 +80,15 @@ class _GroupEventState extends State {
),
),
),
- hintText: "Tri-sport challenge",
+ hintText: "",
+ validator: (val) {
+ if (val == null || val.isEmpty) {
+ return 'Enter Event Title';
+ }
+ return null;
+ },
),
+ sizedBoxHeight(20.h),
text16400white("Event image"),
sizedBoxHeight(20.h),
GestureDetector(
@@ -97,59 +105,66 @@ class _GroupEventState extends State {
},
);
},
- child: commonGlassContainer(
- border: 0.9,
- 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,
+ 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),
+ text14w400white("Upload event image"),
+ sizedBoxHeight(8.h),
+ text8w400_8A8A8A(
+ "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
+ ],
+ ),
),
- 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),
- text14w400white("Upload event image"),
- sizedBoxHeight(8.h),
- text8w400_8A8A8A(
- "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
- ],
- ),
- ),
+ ),
),
),
sizedBoxHeight(20.h),
@@ -195,7 +210,7 @@ class _GroupEventState extends State {
text16400white("Type of event"),
sizedBoxHeight(14.h),
CommonDropdownBtn(
- hint: 'Race',
+ hint: '',
items: [],
leadingImage: Container(
height: 22.h,
@@ -211,7 +226,7 @@ class _GroupEventState extends State {
text16400white("Sport"),
sizedBoxHeight(14.h),
CommonDropdownBtn(
- hint: 'Cycling',
+ hint: '',
items: [],
leadingImage: Container(
height: 22.h,
@@ -240,7 +255,7 @@ class _GroupEventState extends State {
child: AbsorbPointer(
child: CustomTextFormField(
textEditingController: dateController,
- hintText: "1-4-2024",
+ hintText: "",
leadingIcon: Container(
height: 20.h,
width: 20.w,
@@ -271,7 +286,7 @@ class _GroupEventState extends State {
child: AbsorbPointer(
child: CustomTextFormField(
textEditingController: dateController2,
- hintText: "4-4-2024",
+ hintText: "",
leadingIcon: Container(
height: 20.h,
width: 20.w,
@@ -460,8 +475,15 @@ class _GroupEventState extends State {
),
),
),
- hintText: "Elm street, London, United kingdom",
+ hintText: "",
+ validator: (val) {
+ if (val == null || val.isEmpty) {
+ return 'Enter the location';
+ }
+ return null;
+ },
),
+ sizedBoxHeight(16.h),
text16400white("Reminder"),
sizedBoxHeight(14.h),
Row(
@@ -496,7 +518,7 @@ class _GroupEventState extends State {
],
),
sizedBoxHeight(35.h),
- CommonBtn(text: "Save"),
+ CommonBtn(text: "Create event"),
sizedBoxHeight(70.h),
]),
),
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/GroupInfo.dart b/lib/Feed Module/Main_Screens/GroupTab/View/GroupInfo.dart
index 95e196f..4c61250 100644
--- a/lib/Feed Module/Main_Screens/GroupTab/View/GroupInfo.dart
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/GroupInfo.dart
@@ -1,5 +1,6 @@
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/Common/CommonWidget.dart';
@@ -7,6 +8,7 @@ import 'package:regroup/Utils/Common/CommonAppbar.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';
class GroupInfo extends StatefulWidget {
const GroupInfo({super.key});
@@ -131,7 +133,9 @@ class _GroupInfoState extends State {
],
),
sizedBoxHeight(50.h),
- CommonBtn(text: "Connect with the community"),
+ CommonBtn(text: "Connect with the community", onTap: () {
+ Get.toNamed(RouteName.connectcommunity);
+ },),
],
),
),
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/GroupManage.dart b/lib/Feed Module/Main_Screens/GroupTab/View/GroupManage.dart
index f838534..5154f34 100644
--- a/lib/Feed Module/Main_Screens/GroupTab/View/GroupManage.dart
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/GroupManage.dart
@@ -5,8 +5,8 @@ import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonTabBar.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/GroupTab.dart b/lib/Feed Module/Main_Screens/GroupTab/View/GroupTab.dart
index 741d3de..da5daa8 100644
--- a/lib/Feed Module/Main_Screens/GroupTab/View/GroupTab.dart
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/GroupTab.dart
@@ -4,8 +4,8 @@ import 'package:get/get.dart';
import 'package:regroup/Common/CommonBottomNavigationBar.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Common/controller/MainScreen.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
@@ -330,4 +330,6 @@ class _GroupTabState extends State {
),
);
}
+
+
}
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/NewPost.dart b/lib/Feed Module/Main_Screens/GroupTab/View/NewPost.dart
index cb82d0d..2bfd548 100644
--- a/lib/Feed Module/Main_Screens/GroupTab/View/NewPost.dart
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/NewPost.dart
@@ -1,5 +1,6 @@
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';
@@ -57,7 +58,9 @@ class _NewPostState extends State {
sizedBoxHeight(30.h),
text16w400_FCFCFC("Caption"),
sizedBoxHeight(20.h),
- CustomTextFormField2(),
+ CustomTextFormField2(
+ maxlines: 3,
+ ),
text16400white("Media"),
sizedBoxHeight(15.h),
GestureDetector(
@@ -74,59 +77,68 @@ class _NewPostState extends State {
},
);
},
- child: commonGlassContainer(
- border: 0.9,
- 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 image"),
- sizedBoxHeight(8.h),
- text8w400_8A8A8A(
- "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
- ],
- ),
- )),
+ 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 image"),
+ sizedBoxHeight(8.h),
+ text8w400_8A8A8A(
+ "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
+ ],
+ ),
+ )),
+ ),
),
sizedBoxHeight(20.h),
text16w400_FCFCFC("Tags"),
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/EditSubgroupInfo.dart b/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/EditSubgroupInfo.dart
new file mode 100644
index 0000000..860c8ea
--- /dev/null
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/EditSubgroupInfo.dart
@@ -0,0 +1,212 @@
+import 'dart:io';
+
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.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/ImageUpload.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/Utils/Common/CustomTextformfield.dart';
+
+class EditSubgroupInfo extends StatefulWidget {
+ const EditSubgroupInfo({super.key});
+
+ @override
+ State createState() => _EditSubgroupInfoState();
+}
+
+class _EditSubgroupInfoState extends State {
+ List filePath = [];
+ bool? isImageAdded = false;
+ List bannerPath = [];
+ bool isbannerAdded = false;
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ // key: _scaffoldKey1,
+ backgroundColor: Color(0xFF222935),
+ extendBody: true,
+ appBar: CommonAppbar(
+ titleTxt: "Edit subgroup info",
+ ),
+ body: Stack(children: [
+ const CommonBlurLeftRed(),
+ const CommonBlurRightRed(),
+ const CommonBlurLeft(),
+ const CommonBlurRight(),
+ Positioned.fill(
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: SingleChildScrollView(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Center(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ sizedBoxHeight(30.h),
+ Stack(
+ children: [
+ filePath.isNotEmpty
+ ? ClipOval(
+ child: SizedBox.fromSize(
+ size: Size.fromRadius(50.r),
+ child: Image.file(
+ filePath[0]!,
+ fit: BoxFit.cover,
+ width: double.infinity,
+ ),
+ ),
+ )
+ : CircleAvatar(
+ backgroundImage: AssetImage(
+ "assets/images/png/cimg3.png",
+ ),
+ radius: 50.r,
+ ),
+ Positioned(
+ bottom: 0,
+ right: 0,
+ child: InkWell(
+ onTap: () {
+ ImageUploadBottomSheet().showModal(
+ context,
+ true,
+ (result) {
+ var file = File(result);
+
+ filePath.add(file);
+ isImageAdded = true;
+ setState(() {});
+ },
+ );
+ },
+ child: Container(
+ height: 35.h,
+ width: 35.w,
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ color: Color(0xFFD90B2E)),
+ child: Center(
+ child: Image.asset(
+ "assets/images/png/cameraicon2.png",
+ height: 19.h,
+ width: 19.w,
+ ),
+ ),
+ ),
+ ))
+ ],
+ ),
+ sizedBoxHeight(20.h),
+ text16400white("Edit profile picture"),
+ sizedBoxHeight(20.h),
+ ]),
+ ),
+ text16w400_FCFCFC("Event banner image"),
+ sizedBoxHeight(20.h),
+ GestureDetector(
+ onTap: () {
+ ImageUploadBottomSheet().showModal(
+ context,
+ false,
+ (result) {
+ var file = File(result);
+
+ bannerPath.add(file);
+ isbannerAdded = true;
+ setState(() {});
+ },
+ );
+ },
+ child: commonGlassContainer(
+ border: 0.9,
+ width: double.infinity,
+ height: 150.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/onlycamera.png",
+ height: 36.h,
+ width: 36.w,
+ ),
+ sizedBoxHeight(10.h),
+ text14w400white("Upload event image"),
+ sizedBoxHeight(12.h),
+ SizedBox(
+ width: 192.w,
+ child: text8w400_8A8A8A(
+ "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s"),
+ ),
+ ],
+ ),
+ ),
+ ),
+ ),
+ sizedBoxHeight(20.h),
+ text16w400_FCFCFC("Group title"),
+ sizedBoxHeight(20.h),
+ CustomTextFormField(
+ hintText: "Iron titans fitness crew"),
+ sizedBoxHeight(20.h),
+ text16w400_FCFCFC("Group description"),
+ sizedBoxHeight(15.h),
+ CustomTextFormField2(
+ maxlines: 3,
+ hintText:
+ "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer .",
+ ),
+ sizedBoxHeight(20.h),
+ text16w400_FCFCFC("Location"),
+ CustomTextFormField(
+ hintText: "Elm street london, United Kingdom"),
+ sizedBoxHeight(40.h),
+ CommonBtn(text: "Save changes"),
+ sizedBoxHeight(40.h),
+ ],
+ ),
+ )))
+ ]));
+ }
+}
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/SubGroupInfo.dart b/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/SubGroupInfo.dart
new file mode 100644
index 0000000..4862c9b
--- /dev/null
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/SubGroupInfo.dart
@@ -0,0 +1,770 @@
+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:regroup/Common/CommonGlassmorphism.dart';
+import 'package:regroup/Common/CommonTabBar.dart';
+import 'package:regroup/Common/CommonWidget.dart';
+import 'package:regroup/Utils/Common/CommonAppbar.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';
+
+class SubGroupInfo extends StatefulWidget {
+ const SubGroupInfo({super.key});
+
+ @override
+ State createState() => _SubGroupInfoState();
+}
+
+class _SubGroupInfoState extends State {
+ List cardtile = [
+ {
+ "imagePath": "assets/images/png/Rectangle 29ss.png",
+ "title": "Cardio crusaders circle"
+ },
+ {
+ "imagePath": "assets/images/png/Rectangle 31ee.png",
+ "title": "Strength squad syndicate"
+ },
+ {
+ "imagePath": "assets/images/png/Rectangle 30aa.png",
+ "title": "Flexibility faction force"
+ },
+ {
+ "imagePath": "assets/images/png/Rectangle 29ss.png",
+ "title": "Cardio crusaders circle"
+ },
+ ];
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ // key: _scaffoldKey1,
+ backgroundColor: Color(0xFF222935),
+ extendBody: true,
+ appBar: CommonAppbar(
+ titleTxt: "",
+ customActionWidget: Row(children: [
+ PopupMenuButton(
+ surfaceTintColor: Color(0xFF222935),
+ constraints: BoxConstraints.tightFor(
+ width: 150.w,
+ ),
+ offset: Offset(0, 40),
+ color: Color(0xFF222935),
+ tooltip: "",
+ itemBuilder: (BuildContext context) => [
+ PopupMenuItem(
+ onTap: () {
+ Get.toNamed(RouteName.newpost);
+ },
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 8.w),
+ child: text14w400white("Create post"),
+ ),
+ ),
+ PopupMenuDivider(),
+ PopupMenuItem(
+ onTap: () {
+ Get.toNamed(RouteName.groupevent);
+ },
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 8.w),
+ child: text14w400white("Create event"),
+ ),
+ ),
+ ],
+ child: commonGlassContainer(
+ opacity1: 0.24,
+ opacity2: 0.24,
+ width: 40.w,
+ height: 40.h,
+ borderradius: 100,
+ customWidget: Center(
+ child: Image.asset(
+ "assets/images/png/Vector536.png",
+ height: 17.h,
+ width: 17.w,
+ ),
+ ),
+ border: 0.5),
+ ),
+ sizedBoxWidth(16.w),
+ GestureDetector(
+ onTap: () {
+ Get.toNamed(RouteName.editsubgroupinfo);
+ },
+ child: commonGlassContainer(
+ opacity1: 0.24,
+ opacity2: 0.24,
+ width: 40.w,
+ height: 40.h,
+ borderradius: 100,
+ customWidget: Center(
+ child: Image.asset(
+ "assets/images/png/codicon_account.png",
+ height: 20.h,
+ width: 20.w,
+ ),
+ ),
+ border: 0.5),
+ ),
+ sizedBoxWidth(16.w),
+ PopupMenuButton(
+ surfaceTintColor: Color(0xFF222935),
+ constraints: BoxConstraints.tightFor(
+ width: 230.w,
+ ),
+ offset: Offset(0, 40),
+ color: Color(0xFF222935),
+ tooltip: "",
+ itemBuilder: (BuildContext context) => [
+ PopupMenuItem(
+ onTap: () {},
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400white("Add members"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/uiw_user-add.png",
+ height: 15.h,
+ width: 15.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ PopupMenuDivider(),
+ PopupMenuItem(
+ onTap: () {},
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400white("Share"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/share.png",
+ height: 20.h,
+ width: 20.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ PopupMenuDivider(),
+ PopupMenuItem(
+ onTap: () {
+ // Get.toNamed(RouteName.groupinfo);
+ },
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400white("Sub -Group info"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/codicon_account.png",
+ height: 20.h,
+ width: 20.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ PopupMenuDivider(),
+ PopupMenuItem(
+ onTap: () {},
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400white("Search"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/Frame 58575.png",
+ height: 18.h,
+ width: 18.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ PopupMenuDivider(),
+ PopupMenuItem(
+ onTap: () {},
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400white("Mute Notification"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/Black1233.png",
+ height: 16.h,
+ width: 16.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ PopupMenuDivider(),
+ PopupMenuItem(
+ onTap: () {
+ Get.toNamed(RouteName.subgroupsetting);
+ },
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400white("Edit sub-group settings"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/setting2.png",
+ height: 18.h,
+ width: 18.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ ],
+ child: Image.asset(
+ 'assets/images/png/Group 1000004071.png',
+ height: 20.h,
+ width: 20.w,
+ )),
+ ]),
+ ),
+ body: Stack(children: [
+ const CommonBlurLeftRed(),
+ const CommonBlurRightRed(),
+ const CommonBlurLeft(),
+ const CommonBlurRight(),
+ Positioned.fill(
+ child: SingleChildScrollView(
+ child:
+ Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
+ sizedBoxHeight(20.h),
+ Stack(clipBehavior: Clip.none, children: [
+ GestureDetector(
+ onTap: () {},
+ child: SizedBox(
+ height: 130.h,
+ width: double.infinity,
+ child: Image.asset(
+ "assets/images/png/group11.png",
+ fit: BoxFit.cover,
+ ),
+ ),
+ ),
+ Positioned(
+ bottom: -35.h,
+ left: 20.w,
+ child: Container(
+ width: 85.r,
+ height: 85.r,
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ border: Border.all(
+ color: Colors.white,
+ width: 2,
+ ),
+ boxShadow: [
+ BoxShadow(
+ color: Color.fromRGBO(0, 0, 0, 0.25),
+ blurRadius: 12,
+ offset: Offset(0, 6),
+ ),
+ ],
+ ),
+ child: CircleAvatar(
+ radius: 42.5.r,
+ foregroundImage:
+ AssetImage("assets/images/png/group111.png"),
+ ),
+ ))
+ ]),
+ sizedBoxHeight(60.h),
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ text20w700_FCFCFC("Cardio crusaders circle"),
+ sizedBoxHeight(16.h),
+ Row(
+ children: [
+ commonGlassContainer(
+ width: 35.w,
+ height: 35.h,
+ borderradius: 100,
+ opacity1: 0.24,
+ opacity2: 0.24,
+ customWidget: Center(
+ child: Image.asset("assets/images/png/Black.png",
+ height: 20.h, width: 20.w),
+ ),
+ border: 0.5),
+ sizedBoxWidth(7.w),
+ text16w400_FCFCFCblur("The athlectic town"),
+ sizedBoxWidth(20.w),
+ commonGlassContainer(
+ width: 35.w,
+ height: 35.h,
+ opacity1: 0.24,
+ opacity2: 0.24,
+ borderradius: 100,
+ customWidget: Center(
+ child: Image.asset("assets/images/png/img12.png",
+ height: 20.h, width: 20.w),
+ ),
+ border: 0.5),
+ sizedBoxWidth(7.w),
+ text16w400_FCFCFCblur("Public"),
+ ],
+ ),
+ sizedBoxHeight(35.h),
+ ],
+ ),
+ ),
+ DefaultTabController(
+ length: 2,
+ // initialIndex: selectedIndex.value,
+ child: Column(
+ children: [
+ CommonTabBar(tabs: const [
+ Tab(
+ text: 'Posts',
+ ),
+ Tab(
+ text: 'Events',
+ ),
+ ]),
+ SizedBox(
+ height: 600.h,
+ child: TabBarView(
+ // clipBehavior: Clip.none,
+ children: [
+ postsTab(),
+ eventsTab(),
+ ],
+ ),
+ ),
+ sizedBoxHeight(90.h),
+ ],
+ ),
+ ),
+ ]),
+ ))
+ ]));
+ }
+
+ Widget postsTab() {
+ return Column(
+ children: [
+ sizedBoxHeight(30.h),
+ normalcardtile(
+ profileImg: 'assets/images/png/cimg4.png',
+ title: 'Edward Hackket',
+ mainImg: 'assets/images/png/img322.png',
+ containerTitle: [
+ 'Kayaking',
+ 'Marathon',
+ 'Events',
+ 'Marathon',
+ 'Events'
+ ]),
+ ],
+ );
+ }
+
+ Widget normalcardtile({
+ required String profileImg,
+ required String title,
+ required String mainImg,
+ required List containerTitle,
+ }) {
+ var mainImage = 'assets/images/png/uiw_like-o.png'.obs;
+ void updateImage(String reaction) {
+ if (reaction == 'like') {
+ mainImage.value = 'assets/images/png/f7_hand-thumbsup.png';
+ } else if (reaction == 'heart') {
+ mainImage.value = 'assets/images/png/heart 2.png';
+ } else if (reaction == 'party') {
+ mainImage.value = 'assets/images/png/party-popper 2.png';
+ }
+ }
+
+ return commonGlassContainer(
+ width: double.infinity,
+ height: 570.h,
+ border: 0,
+ borderradius: 1,
+ customWidget: Column(
+ children: [
+ sizedBoxHeight(25.h),
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ CircleAvatar(
+ foregroundImage: AssetImage(profileImg),
+ radius: 25.r,
+ ),
+ sizedBoxWidth(12.w),
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ text16w400_FCFCFC(title),
+ sizedBoxHeight(5.h),
+ Row(
+ children: [
+ Image.asset(
+ 'assets/images/png/community 1 (traced).png',
+ height: 14.w,
+ width: 14.w,
+ ),
+ sizedBoxWidth(7.w),
+ text12w400_FCFCFC('Active alliance network'),
+ sizedBoxWidth(7.w),
+ Icon(
+ Icons.circle,
+ color: Color(0xFFFCFCFC),
+ size: 4.sp,
+ ),
+ sizedBoxWidth(6.w),
+ text12w400_FCFCFC('1 Hour ago'),
+ ],
+ )
+ ],
+ ),
+ Spacer(),
+ PopupMenuButton(
+ surfaceTintColor: Color(0xFF222935),
+ constraints: BoxConstraints.tightFor(width: 176.w),
+ offset: Offset(0, 50),
+ color: Color(0xFF222935),
+ tooltip: "",
+ itemBuilder: (BuildContext context) => [
+ 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",
+ ),
+ ),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/Vector (5).png",
+ height: 15.h,
+ width: 15.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ 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",
+ ),
+ ),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/share.png",
+ height: 20.h,
+ width: 20.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ 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",
+ ),
+ ),
+ 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: containertile(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'
+ ]),
+ ),
+ Spacer(),
+ commonGlassContainer(
+ border: 0.43,
+ width: 30.w,
+ height: 30.h,
+ opacity1: 0.05,
+ opacity2: 0.06,
+ borderradius: 100,
+ 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),
+ commonGlassContainer(
+ border: 0.43,
+ width: 30.w,
+ height: 30.h,
+ borderradius: 100,
+ opacity1: 0.05,
+ opacity2: 0.06,
+ 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(
+ onReactionChanged: (reaction) {
+ updateImage(reaction?.value ?? 'like');
+ debugPrint('Selected value: ${reaction?.value}');
+ },
+ reactions: ?>[
+ Reaction(
+ value: 'like',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ Reaction(
+ value: 'heart',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/heart 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/heart 2.png'),
+ ),
+ Reaction(
+ value: 'party',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/party-popper 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/party-popper 2.png'),
+ ),
+ ],
+ selectedReaction: Reaction(
+ value: 'like',
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ boxColor: Colors.white,
+ boxElevation: 9,
+ boxRadius: 30,
+ itemsSpacing: 8,
+ itemScale: 0.4,
+ itemSize: Size(45, 45),
+ boxPadding: EdgeInsets.all(8),
+ boxAnimationDuration: Duration(milliseconds: 200),
+ itemAnimationDuration: Duration(milliseconds: 500),
+ hoverDuration: 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),
+ ]),
+ ),
+ ],
+ ));
+ }
+
+ Widget _buildReactionsPreviewIcon(String assetPath) {
+ return Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Image.asset(
+ assetPath,
+ height: 40.h,
+ width: 40.w,
+ ),
+ );
+ }
+
+ Widget _buildReactionsIcon(String assetPath) {
+ return Column(
+ children: [
+ Image.asset(
+ assetPath,
+ height: 19.h,
+ width: 19.w,
+ ),
+ sizedBoxHeight(8.h),
+ text11w400_FCFCFC('Like')
+ ],
+ );
+ }
+
+ Widget containertile({required String text}) {
+ return commonGlassContainer(
+ border: 1,
+ width: 100.w,
+ height: 30.h,
+ borderradius: 30.r,
+ borderColor: Color(0xFFD90B2E),
+ customWidget: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 10.w),
+ child: Center(child: text14w400_FCFCFC(text)),
+ ));
+ }
+
+ Widget eventsTab() {
+ return Column(
+ children: [],
+ );
+ }
+}
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/SubgroupSetting.dart b/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/SubgroupSetting.dart
new file mode 100644
index 0000000..2c1df6a
--- /dev/null
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/SubgroupSetting.dart
@@ -0,0 +1,175 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:regroup/Common/CommonGlassmorphism.dart';
+import 'package:regroup/Common/CommonWidget.dart';
+import 'package:regroup/Utils/Common/CommonAppbar.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';
+
+class SubGroupSetting extends StatefulWidget {
+ const SubGroupSetting({super.key});
+
+ @override
+ State createState() => _SubGroupSettingState();
+}
+
+class _SubGroupSettingState extends State {
+ var selectedIndex = (-1).obs;
+
+ List eventData = [
+ {
+ "title": "Open",
+ },
+ {
+ "title": "Invite only",
+ },
+ ];
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ // key: _scaffoldKey1,
+ backgroundColor: Color(0xFF222935),
+ extendBody: true,
+ appBar: CommonAppbar(
+ titleTxt: "Subgroup settings",
+ ),
+ body: Stack(children: [
+ const CommonBlurLeftRed(),
+ const CommonBlurRightRed(),
+ const CommonBlurLeft(),
+ const CommonBlurRight(),
+ Positioned.fill(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ sizedBoxHeight(30.h),
+ GestureDetector(
+ onTap: () {
+ inviteBottomSheet();
+ },
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Row(
+ children: [
+ text18w400_FCFCFC("Group type"),
+ Spacer(),
+ Icon(
+ Icons.arrow_forward_ios_outlined,
+ color: Colors.white,
+ size: 18.sp,
+ )
+ ],
+ ),
+ ),
+ ),
+ sizedBoxHeight(25.h),
+ commonDivider(),
+ sizedBoxHeight(25.h),
+ GestureDetector(
+ onTap: () {
+ Get.toNamed(RouteName.groupmanage);
+ },
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Row(
+ children: [
+ text18w400_FCFCFC("Manage members"),
+ Spacer(),
+ Icon(
+ Icons.arrow_forward_ios_outlined,
+ color: Colors.white,
+ size: 18.sp,
+ )
+ ],
+ ),
+ ),
+ ),
+ ]))
+ ]));
+ }
+
+ void inviteBottomSheet() {
+ Get.bottomSheet(
+ StatefulBuilder(
+ builder: (BuildContext context, StateSetter setState) {
+ return Container(
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.only(
+ topLeft: Radius.circular(30.r),
+ topRight: Radius.circular(30.r),
+ ),
+ color: Color(0xFF222935),
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ sizedBoxHeight(30.h),
+ text18w400white("Choose"),
+ Obx(
+ () => Column(
+ children: List.generate(eventData.length, (index) {
+ return Column(
+ children: [
+ sizedBoxHeight(10.h),
+ eventWidget(
+ index: index,
+ title: eventData[index]["title"],
+ isSelected: selectedIndex.value == index,
+ onSelectedChanged: (int? value) {
+ selectedIndex.value = value ?? -1;
+ },
+ ),
+ if (index != eventData.length - 1) commonDivider(),
+ ],
+ );
+ }),
+ ),
+ ),
+ sizedBoxHeight(30.h),
+ ],
+ ),
+ ),
+ );
+ },
+ ),
+ );
+ }
+
+ Widget eventWidget({
+ required int index,
+ required String title,
+ required bool isSelected,
+ required ValueChanged onSelectedChanged,
+ }) {
+ return Padding(
+ padding: EdgeInsets.symmetric(
+ vertical: 10.h,
+ ),
+ child: Row(
+ children: [
+ Transform.scale(
+ scale: 1.2,
+ child: Radio(
+ value: index,
+ groupValue: isSelected ? index : null,
+ onChanged: onSelectedChanged,
+ activeColor: Colors.white,
+ fillColor: MaterialStateProperty.resolveWith((states) {
+ return Colors.white;
+ }),
+ ),
+ ),
+ sizedBoxWidth(10.w),
+ text16w400_FCFCFC(title),
+ ],
+ ),
+ );
+ }
+}
diff --git a/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/Subgroups.dart b/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/Subgroups.dart
new file mode 100644
index 0000000..c75497a
--- /dev/null
+++ b/lib/Feed Module/Main_Screens/GroupTab/View/SubGroup/Subgroups.dart
@@ -0,0 +1,275 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:regroup/Common/CommonGlassmorphism.dart';
+import 'package:regroup/Common/CommonWidget.dart';
+import 'package:regroup/Utils/Common/CommonAppbar.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';
+
+class SubGroups extends StatefulWidget {
+ const SubGroups({super.key});
+
+ @override
+ State createState() => _SubGroupsState();
+}
+
+class _SubGroupsState extends State {
+ List subgroupData = [
+ {
+ "imagePath": "assets/images/png/img2.png",
+ "text": "Active alliance network",
+ "members": "7 members"
+ },
+ {
+ "imagePath": "assets/images/png/img34.png",
+ "text": "FitFam federation",
+ "members": "7 members"
+ },
+ {
+ "imagePath": "assets/images/png/img2.png",
+ "text": "Active alliance network",
+ "members": "7 members"
+ },
+ ];
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ // key: _scaffoldKey1,
+ backgroundColor: Color(0xFF222935),
+ extendBody: true,
+ appBar: CommonAppbar(
+ titleTxt: "Subgroups",
+ customActionWidget: InkWell(
+ onTap: () {
+ // Get.toNamed(RouteName.addEvent);
+ },
+ child: Container(
+ height: 35.h,
+ width: 35.w,
+ decoration: BoxDecoration(
+ color: Color(0xFFD90B2E),
+ shape: BoxShape.circle,
+ boxShadow: [
+ BoxShadow(
+ color: Color(0x40000000),
+ offset: Offset(0, 6),
+ blurRadius: 8,
+ spreadRadius: 0,
+ ),
+ ],
+ ),
+ child: Icon(Icons.add, color: Colors.white, weight: 2),
+ ),
+ ),
+ ),
+ body: Stack(children: [
+ const CommonBlurLeftRed(),
+ const CommonBlurRightRed(),
+ const CommonBlurLeft(),
+ const CommonBlurRight(),
+ Positioned.fill(
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ sizedBoxHeight(30.h),
+ Expanded(
+ child: ListView.builder(
+ shrinkWrap: true,
+ physics: BouncingScrollPhysics(),
+ itemCount: subgroupData.length,
+ itemBuilder: (context, index) {
+ return subgroupCard(
+ ontap: () {
+ Get.toNamed(RouteName.groupdetail);
+ },
+ imagepath: subgroupData[index]['imagePath'],
+ title: subgroupData[index]['text'],
+ members: subgroupData[index]['members']);
+ },
+ ),
+ )
+ ])))
+ ]));
+ }
+
+ Widget subgroupCard({
+ required String imagepath,
+ required String title,
+ required void Function()? ontap,
+ required String members,
+ }) {
+ return Padding(
+ padding: EdgeInsets.only(bottom: 25.h),
+ child: GestureDetector(
+ onTap: ontap,
+ child: commonGlassContainer(
+ border: 0.9,
+ width: double.infinity,
+ height: 162.h,
+ borderradius: 10.r,
+ customWidget: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h),
+ child: Column(
+ children: [
+ Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ height: 65.h,
+ width: 65.h,
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ // color: Colors.amber,
+ ),
+ child:
+ // Center(
+ // child: Image.asset(imagepath, fit: BoxFit.cover)),
+
+ CircleAvatar(
+ backgroundImage: AssetImage(
+ imagepath,
+ ),
+ ),
+ ),
+ sizedBoxWidth(13.w),
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ text18w700_FCFCFC(title),
+ sizedBoxHeight(10.h),
+ Row(
+ children: [
+ Image.asset(
+ "assets/images/png/community 1 (traced).png",
+ height: 20.h,
+ width: 20.w,
+ ),
+ sizedBoxWidth(3.w),
+ text14w400_FCFCFCblur("10 groups")
+ ],
+ ),
+ ],
+ ),
+ Spacer(),
+ PopupMenuButton(
+ surfaceTintColor: Color(0xFF222935),
+ constraints: BoxConstraints.tightFor(width: 200.w),
+ offset: Offset(0, 30),
+ color: Color(0xFF222935),
+ tooltip: "",
+ itemBuilder: (BuildContext context) =>
+ [
+ PopupMenuItem(
+ onTap: () {},
+ child: Padding(
+ padding:
+ EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400_FCFCFC("Mute community"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/Black (1).png",
+ height: 18.h,
+ width: 18.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ PopupMenuDivider(),
+ PopupMenuItem(
+ onTap: () {},
+ child: Padding(
+ padding:
+ EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400_FCFCFC("Hide post"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/mingcute_eye-close-line.png",
+ height: 20.h,
+ width: 20.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ PopupMenuDivider(),
+ PopupMenuItem(
+ onTap: () {},
+ child: Padding(
+ padding:
+ EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400_FCFCFC("Pin"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/f7_pin-fill (2).png",
+ height: 25.h,
+ width: 25.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ PopupMenuDivider(),
+ PopupMenuItem(
+ onTap: () {},
+ child: Padding(
+ padding:
+ EdgeInsets.symmetric(horizontal: 8.w),
+ child: Row(
+ children: [
+ text14w400_FCFCFC("Leave community"),
+ Spacer(),
+ Image.asset(
+ "assets/images/png/logout 1 (traced).png",
+ height: 18.h,
+ width: 18.w,
+ )
+ ],
+ ),
+ ),
+ ),
+ ],
+ child: Image.asset(
+ "assets/images/png/Group 1000004071.png",
+ height: 18.h,
+ width: 20.w,
+ )),
+ ],
+ ),
+ sizedBoxHeight(16.h),
+ commonDivider(),
+ sizedBoxHeight(10.h),
+ Row(
+ children: [
+ stackContainers(
+ number: "+2",
+ containerImages: [
+ "assets/images/png/cimg3.png",
+ "assets/images/png/cimg2.png",
+ "assets/images/png/cimg3.png",
+ "assets/images/png/cimg2.png",
+ ],
+ ),
+ sizedBoxWidth(95.w),
+ text12w400_FCFCFC_blur(members),
+ ],
+ )
+ ],
+ ),
+ )),
+ ),
+ );
+ }
+}
diff --git a/lib/Feed Module/Main_Screens/ProfileTab/Followers/Followers.dart b/lib/Feed Module/Main_Screens/ProfileTab/Followers/Followers.dart
index e442eb1..c799154 100644
--- a/lib/Feed Module/Main_Screens/ProfileTab/Followers/Followers.dart
+++ b/lib/Feed Module/Main_Screens/ProfileTab/Followers/Followers.dart
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/Main_Screens/ProfileTab/Following/Following.dart b/lib/Feed Module/Main_Screens/ProfileTab/Following/Following.dart
index 80b4c0d..1d0b979 100644
--- a/lib/Feed Module/Main_Screens/ProfileTab/Following/Following.dart
+++ b/lib/Feed Module/Main_Screens/ProfileTab/Following/Following.dart
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/Main_Screens/ProfileTab/ProfileTab.dart b/lib/Feed Module/Main_Screens/ProfileTab/ProfileTab.dart
index 5510381..4cf37ee 100644
--- a/lib/Feed Module/Main_Screens/ProfileTab/ProfileTab.dart
+++ b/lib/Feed Module/Main_Screens/ProfileTab/ProfileTab.dart
@@ -519,8 +519,7 @@ class _ProfileTabState extends State {
height: 145.h,
borderradius: 10.r,
customWidget: Padding(
- padding:
- EdgeInsets.symmetric( horizontal: 16.w),
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -790,71 +789,57 @@ class _ProfileTabState extends State {
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Column(
+ mainAxisAlignment: MainAxisAlignment.center,
children: [
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceAround,
- children: [
- Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Obx(() {
- return ReactionButton(
- onReactionChanged: (reaction) {
- updateImage(reaction?.value ?? 'like');
- debugPrint(
- 'Selected value: ${reaction?.value}');
- },
- reactions: ?>[
- Reaction(
- value: 'like',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- Reaction(
- value: 'heart',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/heart 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/heart 2.png'),
- ),
- Reaction(
- value: 'party',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/party-popper 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/party-popper 2.png'),
- ),
- ],
- selectedReaction: Reaction(
- value: 'like',
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- boxColor: Colors.white,
- boxElevation: 9,
- boxRadius: 30,
- itemsSpacing: 8,
- itemScale: 0.4,
- itemSize: Size(45, 45),
- boxPadding: EdgeInsets.all(8),
- boxAnimationDuration:
- Duration(milliseconds: 200),
- itemAnimationDuration:
- Duration(milliseconds: 500),
- hoverDuration: Duration(milliseconds: 700),
- // toggle: false,
-
- child: _buildReactionsIcon(mainImage.value),
- );
- })
- ],
+ Obx(() {
+ return ReactionButton(
+ onReactionChanged: (reaction) {
+ updateImage(reaction?.value ?? 'like');
+ debugPrint('Selected value: ${reaction?.value}');
+ },
+ reactions: ?>[
+ Reaction(
+ value: 'like',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ Reaction(
+ value: 'heart',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/heart 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/heart 2.png'),
+ ),
+ Reaction(
+ value: 'party',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/party-popper 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/party-popper 2.png'),
+ ),
+ ],
+ selectedReaction: Reaction(
+ value: 'like',
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
),
- ],
- ),
- sizedBoxHeight(8.h),
- text11w400_FCFCFC('Like')
+ boxColor: Colors.white,
+ boxElevation: 9,
+ boxRadius: 30,
+ itemsSpacing: 8,
+ itemScale: 0.4,
+ itemSize: Size(45, 45),
+ boxPadding: EdgeInsets.all(8),
+ boxAnimationDuration: Duration(milliseconds: 200),
+ itemAnimationDuration: Duration(milliseconds: 500),
+ hoverDuration: Duration(milliseconds: 700),
+ // toggle: false,
+
+ child: _buildReactionsIcon(mainImage.value),
+ );
+ })
],
),
GestureDetector(
@@ -904,10 +889,16 @@ class _ProfileTabState extends State {
}
Widget _buildReactionsIcon(String assetPath) {
- return Image.asset(
- assetPath,
- height: 19.h,
- width: 19.w,
+ return Column(
+ children: [
+ Image.asset(
+ assetPath,
+ height: 19.h,
+ width: 19.w,
+ ),
+ sizedBoxHeight(8.h),
+ text11w400_FCFCFC('Like')
+ ],
);
}
diff --git a/lib/Feed Module/Main_Screens/ProfileTab/Settings/BlockedUsers.dart b/lib/Feed Module/Main_Screens/ProfileTab/Settings/BlockedUsers.dart
index 22f8980..fcf5b5c 100644
--- a/lib/Feed Module/Main_Screens/ProfileTab/Settings/BlockedUsers.dart
+++ b/lib/Feed Module/Main_Screens/ProfileTab/Settings/BlockedUsers.dart
@@ -3,8 +3,8 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/Main_Screens/ProfileTab/Settings/ChangePassword.dart b/lib/Feed Module/Main_Screens/ProfileTab/Settings/ChangePassword.dart
index 5afeb79..bcdbc8a 100644
--- a/lib/Feed Module/Main_Screens/ProfileTab/Settings/ChangePassword.dart
+++ b/lib/Feed Module/Main_Screens/ProfileTab/Settings/ChangePassword.dart
@@ -4,13 +4,13 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:regroup/Common/CommonButton.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.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';
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
-import '../../../../Common/controller/CommonTextFormField.dart';
class ChangePassword extends StatefulWidget {
const ChangePassword({super.key});
diff --git a/lib/Feed Module/Main_Screens/ProfileTab/Settings/FaqScreen.dart b/lib/Feed Module/Main_Screens/ProfileTab/Settings/FaqScreen.dart
index 8761018..f42aacd 100644
--- a/lib/Feed Module/Main_Screens/ProfileTab/Settings/FaqScreen.dart
+++ b/lib/Feed Module/Main_Screens/ProfileTab/Settings/FaqScreen.dart
@@ -32,27 +32,27 @@ class _FaqScreenState extends State {
{
'title': 'How can I get started with the application?',
'content':
- "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
+ "Getting started is easy! Simply download the app from the App Store or Google Play Store, create an account, set up your profile, and you're ready to explore all the features the app has to offer."
},
{
'title': 'How can I get started with the application?',
'content':
- "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
+ "Getting started is easy! Simply download the app from the App Store or Google Play Store, create an account, set up your profile, and you're ready to explore all the features the app has to offer."
},
{
'title': 'How can I get started with the application?',
'content':
- "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
+ "Getting started is easy! Simply download the app from the App Store or Google Play Store, create an account, set up your profile, and you're ready to explore all the features the app has to offer."
},
{
'title': 'How can I get started with the application?',
'content':
- "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
+ "Getting started is easy! Simply download the app from the App Store or Google Play Store, create an account, set up your profile, and you're ready to explore all the features the app has to offer."
},
{
'title': 'How can I get started with the application?',
'content':
- "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
+ "Getting started is easy! Simply download the app from the App Store or Google Play Store, create an account, set up your profile, and you're ready to explore all the features the app has to offer."
},
];
diff --git a/lib/Feed Module/Main_Screens/ProfileTab/Share profile/ShareProfile.dart b/lib/Feed Module/Main_Screens/ProfileTab/Share profile/ShareProfile.dart
index f5b2876..1de31fc 100644
--- a/lib/Feed Module/Main_Screens/ProfileTab/Share profile/ShareProfile.dart
+++ b/lib/Feed Module/Main_Screens/ProfileTab/Share profile/ShareProfile.dart
@@ -1,15 +1,14 @@
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/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.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';
class ShareProfile extends StatefulWidget {
const ShareProfile({super.key});
diff --git a/lib/Feed Module/Main_Screens/ProfileTab/TimeLine/AddTimeline.dart b/lib/Feed Module/Main_Screens/ProfileTab/TimeLine/AddTimeline.dart
index def8be4..ccd7eae 100644
--- a/lib/Feed Module/Main_Screens/ProfileTab/TimeLine/AddTimeline.dart
+++ b/lib/Feed Module/Main_Screens/ProfileTab/TimeLine/AddTimeline.dart
@@ -4,8 +4,8 @@ import 'package:get/get.dart';
import 'package:regroup/Common/CommonButton.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/Notification/View/notification.dart b/lib/Feed Module/Notification/View/notification.dart
index f9f1b24..41d2970 100644
--- a/lib/Feed Module/Notification/View/notification.dart
+++ b/lib/Feed Module/Notification/View/notification.dart
@@ -193,56 +193,63 @@ class _NotificationlistState extends State {
],
)
: widget.followrequest == true
- ? Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- text14700white(widget.name),
- sizedBoxHeight(3.h),
- text12400white('wants to follow you'),
- sizedBoxHeight(6.h),
- text12400white('3 mins ago'),
- ],
- ),
- sizedBoxWidth(10.w),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- SizedBox(
- width: 80.w,
- height: 30.h,
- child: CustomButton(
- text: 'Confirm', onPressed: () {})),
- sizedBoxWidth(10.w),
- SizedBox(
- width: 80.w,
- height: 30.h,
- child: CustomButton2(
- text: 'Delete', onPressed: () {}))
- ],
- )
- ],
+ ? Expanded(
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ text14700white(widget.name),
+ sizedBoxHeight(3.h),
+ text12400white('wants to follow you'),
+ sizedBoxHeight(6.h),
+ text12400white('3 mins ago'),
+ ],
+ ),
+ Spacer(),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ SizedBox(
+ width: 80.w,
+ height: 30.h,
+ child: CustomButton(
+ text: 'Confirm', onPressed: () {})),
+ sizedBoxWidth(10.w),
+ SizedBox(
+ width: 80.w,
+ height: 30.h,
+ child: CustomButton2(
+ text: 'Delete', onPressed: () {}))
+ ],
+ )
+ ],
+ ),
)
- : Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- text14400white(widget.name),
- sizedBoxHeight(6.h),
- text12400white('3 mins ago'),
- ],
- ),
- sizedBoxWidth(25.w),
- Image.asset(
- 'assets/images/png/notifcation.png',
- width: 60.w,
- height: 60.h,
- )
- ],
+ : Expanded(
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ text14400white(widget.name),
+ sizedBoxHeight(6.h),
+ text12400white('3 mins ago'),
+ ],
+ ),
+ // sizedBoxWidth(25.w),
+ Spacer(),
+ Expanded(
+ child: Image.asset(
+ 'assets/images/png/notifcation.png',
+ width: 90.w,
+ height: 90.h,
+ ),
+ )
+ ],
+ ),
)
],
),
diff --git a/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/EditCommunity/EditCommunity.dart b/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/EditCommunity/EditCommunity.dart
index c7acf0d..4bb94e7 100644
--- a/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/EditCommunity/EditCommunity.dart
+++ b/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/EditCommunity/EditCommunity.dart
@@ -1,5 +1,6 @@
import 'dart:io';
+import 'package:dotted_border/dotted_border.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:regroup/Common/CommonDropDown.dart';
@@ -141,62 +142,69 @@ class _EditCommunityState extends State {
},
);
},
- child: commonGlassContainer(
- border: 0.9,
- width: double.infinity,
- height: 150.h,
- borderradius: 10.r,
- customWidget: bannerPath.isNotEmpty && isbannerAdded
- ? Stack(children: [
- Image.file(
- bannerPath[0]!,
- fit: BoxFit.cover,
- width: double.infinity,
+ 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: 150.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/cameraicon2.png",
+ height: 36.h,
+ width: 36.w,
+ ),
+ sizedBoxHeight(10.h),
+ text14w400white('Upload banner image'),
+ sizedBoxHeight(8.h),
+ SizedBox(
+ width: 270.w,
+ child: text10w400_whiteCenter(
+ "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s"),
+ ),
+ ],
+ ),
),
- 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/cameraicon2.png",
- height: 36.h,
- width: 36.w,
- ),
- sizedBoxHeight(10.h),
- text14w400white('Upload banner image'),
- sizedBoxHeight(8.h),
- SizedBox(
- width: 270.w,
- child: text10w400_whiteCenter(
- "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s"),
- ),
- ],
- ),
- ),
+ ),
),
),
sizedBoxHeight(16.w),
@@ -243,7 +251,14 @@ class _EditCommunityState extends State {
sizedBoxHeight(14.h),
CustomTextFormField(
textEditingController: communitynameController,
+ validator: (val) {
+ if (val == null || val.isEmpty) {
+ return 'Enter Community name';
+ }
+ return null;
+ },
),
+ sizedBoxHeight(25.h),
text16w400_FCFCFC("Group description"),
sizedBoxHeight(14.h),
CustomTextFormField2(
diff --git a/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/ManageGroup.dart b/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/ManageGroup.dart
index f837937..7c76a01 100644
--- a/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/ManageGroup.dart
+++ b/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/ManageGroup.dart
@@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/ManageTags.dart/NewTag/NewTag.dart b/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/ManageTags.dart/NewTag/NewTag.dart
index b356edd..f0a163d 100644
--- a/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/ManageTags.dart/NewTag/NewTag.dart
+++ b/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/ManageTags.dart/NewTag/NewTag.dart
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/CustomNextButton.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
@@ -40,7 +40,15 @@ class _NewTagState extends State {
sizedBoxHeight(30.h),
text16w400_FCFCFC("Tag name"),
sizedBoxHeight(16.h),
- CustomTextFormField(),
+ CustomTextFormField(
+ hintText: "",
+ validator: (val) {
+ if (val == null || val.isEmpty) {
+ return 'Enter a tag name';
+ }
+ return null;
+ },
+ ),
sizedBoxHeight(80.h),
CustomButton(text: "Add", onPressed: () {})
]),
diff --git a/lib/Feed Module/sidemenu/Community/Announcements/ManageMembers.dart b/lib/Feed Module/sidemenu/Community/Announcements/ManageMembers.dart
index 3ec7c57..854cbde 100644
--- a/lib/Feed Module/sidemenu/Community/Announcements/ManageMembers.dart
+++ b/lib/Feed Module/sidemenu/Community/Announcements/ManageMembers.dart
@@ -5,8 +5,8 @@ import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonTabBar.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/sidemenu/Community/MyCommunity/AddGroups.dart b/lib/Feed Module/sidemenu/Community/MyCommunity/AddGroups.dart
index 1017ee7..ddc6b43 100644
--- a/lib/Feed Module/sidemenu/Community/MyCommunity/AddGroups.dart
+++ b/lib/Feed Module/sidemenu/Community/MyCommunity/AddGroups.dart
@@ -4,8 +4,8 @@ import 'package:get/get.dart';
import 'package:regroup/Common/CommonButton.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
diff --git a/lib/Feed Module/sidemenu/Community/MyCommunity/NewCommunity.dart b/lib/Feed Module/sidemenu/Community/MyCommunity/NewCommunity.dart
index f02da36..3d5c94b 100644
--- a/lib/Feed Module/sidemenu/Community/MyCommunity/NewCommunity.dart
+++ b/lib/Feed Module/sidemenu/Community/MyCommunity/NewCommunity.dart
@@ -1,14 +1,15 @@
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/CommonDropDown.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
-import 'package:regroup/Common/controller/CommonTextFormField.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/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
@@ -110,66 +111,80 @@ class _NewCommunityState extends State {
},
);
},
- child: commonGlassContainer(
- border: 0.9,
- 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,
+ 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),
+ text14w400white('Upload banner image'),
+ sizedBoxHeight(8.h),
+ text8w400_8A8A8A(
+ "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
+ ],
+ ),
),
- 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),
- text14w400white('Upload banner image'),
- sizedBoxHeight(8.h),
- text8w400_8A8A8A(
- "Allowed file extensions: jpg, png, gif Max file size: 10 MB"),
- ],
- ),
- ),
+ ),
),
),
sizedBoxHeight(25.h),
text16w400_FCFCFC("Community name*"),
sizedBoxHeight(15.h),
- CustomTextFormField(),
+ CustomTextFormField(
+ validator: (val) {
+ if (val == null || val.isEmpty) {
+ return 'Enter Community name';
+ }
+ return null;
+ },
+ ),
sizedBoxHeight(25.h),
text16w400_FCFCFC("Type of community*"),
sizedBoxHeight(15.h),
diff --git a/lib/Feed Module/sidemenu/Community/MyCommunity/View/CommunityDetails.dart b/lib/Feed Module/sidemenu/Community/MyCommunity/View/CommunityDetails.dart
index ef16d7b..2734fd7 100644
--- a/lib/Feed Module/sidemenu/Community/MyCommunity/View/CommunityDetails.dart
+++ b/lib/Feed Module/sidemenu/Community/MyCommunity/View/CommunityDetails.dart
@@ -27,9 +27,7 @@ class _CommunityDetailsState extends State {
extendBody: true,
appBar: CommonAppbar(
titleTxt: "",
- customActionWidget:
-
- PopupMenuButton(
+ customActionWidget: PopupMenuButton(
surfaceTintColor: Color(0xFF222935),
constraints: BoxConstraints.tightFor(width: 180.w),
offset: Offset(0, 40),
@@ -151,7 +149,6 @@ class _CommunityDetailsState extends State {
height: 20.h,
width: 20.w,
)),
-
),
body: Stack(children: [
const CommonBlurLeftRed(),
@@ -237,6 +234,7 @@ class _CommunityDetailsState extends State {
children: [
Row(
children: [
+ sizedBoxWidth(16.w),
stackContainers(
number: "+2",
containerImages: [
@@ -638,71 +636,57 @@ class _CommunityDetailsState extends State {
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Column(
+ mainAxisAlignment: MainAxisAlignment.center,
children: [
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceAround,
- children: [
- Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Obx(() {
- return ReactionButton(
- onReactionChanged: (reaction) {
- updateImage(reaction?.value ?? 'like');
- debugPrint(
- 'Selected value: ${reaction?.value}');
- },
- reactions: ?>[
- Reaction(
- value: 'like',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- Reaction(
- value: 'heart',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/heart 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/heart 2.png'),
- ),
- Reaction(
- value: 'party',
- previewIcon: _buildReactionsPreviewIcon(
- 'assets/images/png/party-popper 2.png'),
- icon: _buildReactionsIcon(
- 'assets/images/png/party-popper 2.png'),
- ),
- ],
- selectedReaction: Reaction(
- value: 'like',
- icon: _buildReactionsIcon(
- 'assets/images/png/f7_hand-thumbsup.png'),
- ),
- boxColor: Colors.white,
- boxElevation: 9,
- boxRadius: 30,
- itemsSpacing: 8,
- itemScale: 0.4,
- itemSize: Size(45, 45),
- boxPadding: EdgeInsets.all(8),
- boxAnimationDuration:
- Duration(milliseconds: 200),
- itemAnimationDuration:
- Duration(milliseconds: 500),
- hoverDuration: Duration(milliseconds: 700),
- // toggle: false,
-
- child: _buildReactionsIcon(mainImage.value),
- );
- })
- ],
+ Obx(() {
+ return ReactionButton(
+ onReactionChanged: (reaction) {
+ updateImage(reaction?.value ?? 'like');
+ debugPrint('Selected value: ${reaction?.value}');
+ },
+ reactions: ?>[
+ Reaction(
+ value: 'like',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
+ ),
+ Reaction(
+ value: 'heart',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/heart 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/heart 2.png'),
+ ),
+ Reaction(
+ value: 'party',
+ previewIcon: _buildReactionsPreviewIcon(
+ 'assets/images/png/party-popper 2.png'),
+ icon: _buildReactionsIcon(
+ 'assets/images/png/party-popper 2.png'),
+ ),
+ ],
+ selectedReaction: Reaction(
+ value: 'like',
+ icon: _buildReactionsIcon(
+ 'assets/images/png/f7_hand-thumbsup.png'),
),
- ],
- ),
- sizedBoxHeight(8.h),
- text11w400_FCFCFC('Like')
+ boxColor: Colors.white,
+ boxElevation: 9,
+ boxRadius: 30,
+ itemsSpacing: 8,
+ itemScale: 0.4,
+ itemSize: Size(45, 45),
+ boxPadding: EdgeInsets.all(8),
+ boxAnimationDuration: Duration(milliseconds: 200),
+ itemAnimationDuration: Duration(milliseconds: 500),
+ hoverDuration: Duration(milliseconds: 700),
+ // toggle: false,
+
+ child: _buildReactionsIcon(mainImage.value),
+ );
+ })
],
),
GestureDetector(
@@ -752,10 +736,16 @@ class _CommunityDetailsState extends State {
}
Widget _buildReactionsIcon(String assetPath) {
- return Image.asset(
- assetPath,
- height: 19.h,
- width: 19.w,
+ return Column(
+ children: [
+ Image.asset(
+ assetPath,
+ height: 19.h,
+ width: 19.w,
+ ),
+ sizedBoxHeight(8.h),
+ text11w400_FCFCFC('Like')
+ ],
);
}
diff --git a/lib/Utils/Common/CommonDropdown.dart b/lib/Utils/Common/CommonDropdown.dart
index 58bb269..d7d02da 100644
--- a/lib/Utils/Common/CommonDropdown.dart
+++ b/lib/Utils/Common/CommonDropdown.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
@@ -151,6 +152,153 @@ class _CustomDropDownWidgetSignupState
}
}
+class CustomDropDownTag1 extends StatefulWidget {
+ const CustomDropDownTag1(
+ {Key? key,
+ required this.header,
+ required this.title,
+ required this.listData,
+ required this.onItemSelected,
+ required this.leadingImage,
+ required this.rowData})
+ : super(key: key);
+
+ final String header;
+ final String title;
+ final List listData;
+ final List rowData;
+ final Function(String) onItemSelected;
+ final Widget? leadingImage;
+
+ @override
+ State createState() => _CustomDropDownTag1State();
+}
+
+class _CustomDropDownTag1State extends State {
+ RxBool onDropTap = false.obs;
+ RxString selectedValue = "".obs;
+ RxList filteredListData = [].obs;
+ TextEditingController textEditingController = TextEditingController();
+
+ @override
+ void initState() {
+ super.initState();
+ filteredListData.value = widget.listData;
+ textEditingController.addListener(() {
+ filterList();
+ });
+ }
+
+ void filterList() {
+ String query = textEditingController.text.toLowerCase();
+ if (query.isNotEmpty) {
+ filteredListData.value = widget.listData
+ .where((item) => item.toLowerCase().contains(query))
+ .toList();
+ } else {
+ filteredListData.value = widget.listData;
+ }
+ onDropTap.value = filteredListData.isNotEmpty;
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Obx(
+ () => Column(
+ 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,
+ ),
+ ),
+ ),
+ ),
+ textEditingController: textEditingController,
+ // onInput: (p0) {
+ // onDropTap.value = !onDropTap.value;
+ // },
+ onTap: () {
+ onDropTap.value = !onDropTap.value;
+ },
+ ),
+ if (onDropTap.value)
+ Container(
+ width: double.infinity,
+ decoration: BoxDecoration(
+ color: Color(0xFFFFFFFF).withOpacity(0.10),
+ borderRadius: BorderRadius.vertical(
+ bottom: Radius.circular(30.r),
+ ),
+ border: Border.all(color: const Color(0xFF434A53)),
+ gradient: LinearGradient(
+ begin: Alignment.topLeft,
+ end: Alignment.bottomRight,
+ colors: [
+ const Color(0xFFffffff).withOpacity(0.50),
+ const Color(0xFFFFFFFF).withOpacity(0.50),
+ ],
+ ),
+ ),
+ child: ListView.builder(
+ shrinkWrap: true,
+ itemCount: filteredListData.length,
+ itemBuilder: (context, index) {
+ return InkWell(
+ onTap: () {
+ selectedValue.value = filteredListData[index];
+ onDropTap.value = false;
+ textEditingController.text = selectedValue.value;
+ widget.onItemSelected(selectedValue.value);
+ },
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Padding(
+ padding: const EdgeInsets.only(
+ left: 20.0, right: 20.0, top: 10.0, bottom: 10.0),
+ child: Row(
+ children: [
+ Text(
+ filteredListData[index],
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 16.sp,
+ fontWeight: FontWeight.w400,
+ fontFamily: 'Helvetica'),
+ ),
+ Spacer(),
+ text14400whiteblur(widget.rowData[widget.listData
+ .indexOf(filteredListData[index])]),
+ ],
+ ),
+ ),
+ if (index != filteredListData.length - 1)
+ Divider(thickness: 1, color: const Color(0xFF434A53)),
+ ],
+ ),
+ );
+ },
+ ),
+ ),
+ ],
+ ),
+ );
+ }
+}
+
class CustomDropDownTag extends StatefulWidget {
const CustomDropDownTag(
{Key? key,
diff --git a/lib/Utils/Common/CustomTextformfield.dart b/lib/Utils/Common/CustomTextformfield.dart
index 7e6674a..2aa673b 100644
--- a/lib/Utils/Common/CustomTextformfield.dart
+++ b/lib/Utils/Common/CustomTextformfield.dart
@@ -29,6 +29,8 @@ class CustomTextFormField extends StatefulWidget {
this.onInput,
this.onTap,
this.suffixIcon,
+ this.opacity1 = 0.04,
+ this.opacity2 = 0.05,
}) : super(key: key);
final String? Function(String?)? validator;
@@ -47,6 +49,9 @@ class CustomTextFormField extends StatefulWidget {
final Function(String)? onInput;
final VoidCallback? onTap;
final Widget? suffixIcon;
+ final double opacity1;
+ final double opacity2;
+
String? validationMessage;
@override
@@ -85,8 +90,8 @@ class _CustomTextFormFieldState extends State {
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
- const Color(0xFFffffff).withOpacity(0.04),
- const Color(0xFFFFFFFF).withOpacity(0.05),
+ const Color(0xFFffffff).withOpacity(widget.opacity1),
+ const Color(0xFFFFFFFF).withOpacity(widget.opacity2),
],
stops: [
0.1,
@@ -121,8 +126,12 @@ class _CustomTextFormFieldState extends State {
color: Colors.white,
fontWeight: FontWeight.w400,
fontFamily: 'Helvetica'),
- prefixIcon:
- widget.leadingIcon == null ? null : widget.leadingIcon!,
+ prefixIcon: widget.leadingIcon == null
+ ? null
+ : Padding(
+ padding: EdgeInsets.symmetric(horizontal: 10),
+ child: widget.leadingIcon!,
+ ),
suffixIcon: widget.isInputPassword
? GestureDetector(
onTap: () => setState(() => obscureText = !obscureText),
@@ -155,7 +164,7 @@ class _CustomTextFormFieldState extends State {
: widget.suffixIcon!,
border: InputBorder.none,
contentPadding:
- const EdgeInsets.symmetric(horizontal: 10, vertical: 10),
+ const EdgeInsets.symmetric(horizontal: 20, vertical: 10),
),
keyboardType: widget.texttype,
inputFormatters: widget.inputFormatters,
@@ -166,11 +175,13 @@ class _CustomTextFormFieldState extends State {
),
),
sizedBoxHeight(5.h),
- Text(
- widget.validationMessage ?? '',
- style: TextStyle(color: Colors.red, fontSize: 12.sp),
- overflow: TextOverflow.ellipsis,
- ),
+ widget.validationMessage == null
+ ? SizedBox()
+ : Text(
+ widget.validationMessage ?? '',
+ style: TextStyle(color: Colors.red, fontSize: 12.sp),
+ overflow: TextOverflow.ellipsis,
+ ),
],
);
}
diff --git a/lib/Utils/Common/controller/location.dart b/lib/Utils/Common/controller/location.dart
new file mode 100644
index 0000000..b9f78bb
--- /dev/null
+++ b/lib/Utils/Common/controller/location.dart
@@ -0,0 +1 @@
+// TODO Implement this library.
\ No newline at end of file
diff --git a/lib/Utils/texts.dart b/lib/Utils/texts.dart
index 900468d..544cfb6 100644
--- a/lib/Utils/texts.dart
+++ b/lib/Utils/texts.dart
@@ -32,6 +32,16 @@ Widget text20400white(String text) {
fontFamily: 'Helvetica'),
);
}
+Widget text20400FCFCFC(String text) {
+ return Text(
+ text,
+ style: TextStyle(
+ fontSize: 20.sp,
+ color: Color(0xFFFCFCFC),
+ fontWeight: FontWeight.w400,
+ fontFamily: 'Helvetica'),
+ );
+}
Widget text20700white(String text) {
return Text(
@@ -149,10 +159,10 @@ Widget text144005DFD63(String text) {
);
}
-Widget text14400whiteblur(String text) {
+Widget text14400whiteblur(String text, {TextAlign? textAlign}) {
return Text(
text,
- // textAlign: TextAlign.center,
+ textAlign: textAlign,
style: TextStyle(
fontSize: 14.sp,
color: AppColors.white.withOpacity(0.8),
diff --git a/lib/main.dart b/lib/main.dart
index 1a897bc..7843c43 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -206,7 +206,7 @@ class _MyAppState extends State with WidgetsBindingObserver {
fontFamily: 'Cambria',
),
debugShowCheckedModeBanner: false,
- initialRoute: RouteName.mainscreen,
+ initialRoute: RouteName.individualprofilestep1,
//initialRoute: RouteName.mainScreen,
getPages: AppRoutes.appRoutes(),
diff --git a/lib/onboarding/Signup/View/Individual/step1Selectprofile.dart b/lib/onboarding/Signup/View/Individual/step1Selectprofile.dart
index 7ea0ecb..130cb0f 100644
--- a/lib/onboarding/Signup/View/Individual/step1Selectprofile.dart
+++ b/lib/onboarding/Signup/View/Individual/step1Selectprofile.dart
@@ -74,7 +74,7 @@ class _SelectIndividualProfileState extends State {
alignment: Alignment.topRight,
child: GestureDetector(
onTap: () {
- Get.toNamed(RouteName.communitycommitscreen);
+ Get.toNamed(RouteName.communitycommitscreen);
},
child: Text(
'Skip',
@@ -221,7 +221,7 @@ class _ProfileContainerState extends State {
bool isSelected = selectedIndex == widget.index;
return Container(
width: 358.w,
- height: 100.h,
+ height: 126.h,
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment(0.98, -0.21),
diff --git a/lib/onboarding/Signup/View/Individual/step2Selectactivity.dart b/lib/onboarding/Signup/View/Individual/step2Selectactivity.dart
index f4c1c1f..9fae8f5 100644
--- a/lib/onboarding/Signup/View/Individual/step2Selectactivity.dart
+++ b/lib/onboarding/Signup/View/Individual/step2Selectactivity.dart
@@ -3,6 +3,8 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:glassmorphism/glassmorphism.dart';
+import 'package:regroup/Common/CommonDropDown.dart';
+import 'package:regroup/Utils/Common/CommonDropdown.dart';
import 'package:regroup/Utils/Common/CustomNextButton.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
@@ -18,6 +20,38 @@ class SelectIndividualActivity extends StatefulWidget {
}
class _SelectIndividualActivityState extends State {
+ final List _selectedIndices = [];
+
+ void _onContainerTap(int index) {
+ setState(() {
+ if (_selectedIndices.contains(index)) {
+ _selectedIndices.remove(index);
+ } else {
+ if (_selectedIndices.length < 2) {
+ _selectedIndices.add(index);
+ } else {
+ _selectedIndices[1] = index;
+ }
+ }
+ });
+ }
+
+ Color _getGradientColor(int index) {
+ if (_selectedIndices.isEmpty) {
+ return Colors.transparent;
+ } else if (_selectedIndices.length == 1 &&
+ _selectedIndices.contains(index)) {
+ return Color(0XFFD90B2E);
+ } else if (_selectedIndices.length == 2) {
+ if (_selectedIndices[0] == index) {
+ return Color(0XFFD90B2E);
+ } else if (_selectedIndices[1] == index) {
+ return Color(0xFF009DAB);
+ }
+ }
+ return Colors.transparent;
+ }
+
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -28,283 +62,377 @@ class _SelectIndividualActivityState extends State {
Positioned(top: 450, right: -30, child: CommonBlurRightSecond()),
Positioned(top: 530, left: -30, child: CommonBlurLeftBlue()),
GlassmorphicContainer(
- width: MediaQuery.of(context).size.width,
- height:
- // 500.h,
- MediaQuery.of(context).size.height,
- borderRadius: 2,
- blur: 10,
- alignment: Alignment.bottomLeft,
- border: 2,
- linearGradient: LinearGradient(
- begin: Alignment.topCenter,
- end: Alignment.bottomCenter,
- colors: [
- Color(0XFF222935).withOpacity(0.60),
- Color(0XFF222935).withOpacity(0.60),
- Color(0XFF222935).withOpacity(0.60),
- Color(0XFF222935).withOpacity(0.60),
+ width: MediaQuery.of(context).size.width,
+ height: MediaQuery.of(context).size.height,
+ borderRadius: 2,
+ blur: 10,
+ alignment: Alignment.bottomLeft,
+ border: 2,
+ linearGradient: LinearGradient(
+ begin: Alignment.topCenter,
+ end: Alignment.bottomCenter,
+ colors: [
+ Color(0XFF222935).withOpacity(0.60),
+ Color(0XFF222935).withOpacity(0.60),
+ Color(0XFF222935).withOpacity(0.60),
+ Color(0XFF222935).withOpacity(0.60),
- // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
- // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
- // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
- // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
- ],
- ),
- borderGradient: LinearGradient(
- begin: Alignment.topCenter,
- end: Alignment.bottomCenter,
- colors: [
- // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
- // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
- Color(0XFF222935).withOpacity(0.60),
+ // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
+ // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
+ // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
+ // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
+ ],
+ ),
+ borderGradient: LinearGradient(
+ begin: Alignment.topCenter,
+ end: Alignment.bottomCenter,
+ colors: [
+ // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
+ // Color.fromARGB(255, 18, 32, 47).withOpacity(0.50),
+ Color(0XFF222935).withOpacity(0.60),
- Color(0XFF222935).withOpacity(0.60),
- ],
- ),
- child: Padding(
- padding:
- EdgeInsets.symmetric(horizontal: 16.w, vertical: 50.h),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Align(
- alignment: Alignment.topRight,
- child: GestureDetector(
- onTap: () {
+ Color(0XFF222935).withOpacity(0.60),
+ ],
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 50.h),
+ child: Expanded(
+ child: SingleChildScrollView(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Align(
+ alignment: Alignment.topRight,
+ child: GestureDetector(
+ onTap: () {
Get.toNamed(RouteName.communitycommitscreen);
- },
- child: Text(
- 'Skip',
- style: TextStyle(
- color: Colors.white,
- fontSize: 16.sp,
- fontFamily: 'Helvetica',
- fontWeight: FontWeight.w400,
- decoration: TextDecoration.underline,
- decorationColor: Colors.white),
+ },
+ child: Text(
+ 'Skip',
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 16.sp,
+ fontFamily: 'Helvetica',
+ fontWeight: FontWeight.w400,
+ decoration: TextDecoration.underline,
+ decorationColor: Colors.white),
+ ),
),
),
- ),
- sizedBoxHeight(30.h),
- Align(
- alignment: Alignment.center,
- child: text16400white('Step 2 of 4')),
- sizedBoxHeight(20.h),
- Container(
- width: 358.w,
- height: 25.h,
- decoration: ShapeDecoration(
- shape: RoundedRectangleBorder(
- side:
- BorderSide(width: 1, color: Color(0xFF434A53)),
- borderRadius: BorderRadius.circular(30),
- ),
- ),
- child: Padding(
- padding: EdgeInsets.symmetric(
- horizontal: 8.w, vertical: 2.h),
- child: Row(
- children: [
- Container(
- width: 87.w,
- height: 15.h,
- decoration: ShapeDecoration(
- gradient: LinearGradient(
- begin: Alignment(0.98, -0.21),
- end: Alignment(-0.98, 0.21),
- colors: [
- Color(0xA5D90B2E),
- Color(0x42D90B2E)
- ],
- ),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(30),
- ),
- ),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: [
- Container(
- width: 15,
- height: 15,
- decoration: ShapeDecoration(
- gradient: LinearGradient(
- begin: Alignment(0.98, -0.21),
- end: Alignment(-0.98, 0.21),
- colors: [
- Color(0xFFD90B2E),
- Color(0x60D90B2E)
- ],
- ),
- shape: RoundedRectangleBorder(
- borderRadius:
- BorderRadius.circular(30),
- ),
- ),
- )
- ],
- ))
- ],
- ),
- ),
- ),
- sizedBoxHeight(40.h),
- Center(
- child:
- text20400white('What is your main activity ?')),
- sizedBoxHeight(10.w),
- Center(
- child: Container(
- width: 154.w,
+ sizedBoxHeight(30.h),
+ Align(
+ alignment: Alignment.center,
+ child: text16400white('Step 2 of 4')),
+ sizedBoxHeight(20.h),
+ Container(
+ width: double.infinity,
+ height: 25.h,
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
side: BorderSide(
- width: 1,
- strokeAlign: BorderSide.strokeAlignCenter,
- color: Color(0xFF858585),
+ width: 1, color: Color(0xFF434A53)),
+ borderRadius: BorderRadius.circular(30),
+ ),
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(
+ horizontal: 8.w, vertical: 2.h),
+ child: Row(
+ children: [
+ Container(
+ width: 120.w,
+ height: 15.h,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: [
+ Color(0xA5D90B2E),
+ Color(0x42D90B2E)
+ ],
+ ),
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(30),
+ ),
+ ),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.end,
+ children: [
+ Container(
+ width: 15,
+ height: 15,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: [
+ Color(0xFFD90B2E),
+ Color(0x60D90B2E)
+ ],
+ ),
+ shape: RoundedRectangleBorder(
+ borderRadius:
+ BorderRadius.circular(30),
+ ),
+ ),
+ )
+ ],
+ ))
+ ],
+ ),
+ ),
+ ),
+ sizedBoxHeight(40.h),
+ Center(
+ child: _selectedIndices.isEmpty
+ ? text20400white('What is your main activity ?')
+ : text20400white('What else do you do?')),
+ sizedBoxHeight(10.w),
+ Center(
+ child: Container(
+ width: 154.w,
+ decoration: ShapeDecoration(
+ shape: RoundedRectangleBorder(
+ side: BorderSide(
+ width: 1,
+ strokeAlign: BorderSide.strokeAlignCenter,
+ color: Color(0xFF858585),
+ ),
),
),
),
),
- ),
- sizedBoxHeight(30.h),
- Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- ActivityContainer(
- titleString: 'Kayaking',
- image:
- 'assets/images/svg/individualact1.svg'),
- ActivityContainer(
+ sizedBoxHeight(30.h),
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ ActivityContainer(
+ index: 0,
+ titleString: 'Rowing',
+ image: 'assets/images/svg/individualact1.svg',
+ isSelected: _selectedIndices.contains(0),
+ gradientColor: _getGradientColor(0),
+ onTap: _onContainerTap,
+ ),
+ ActivityContainer(
+ index: 1,
+ titleString: 'Badminton',
+ image: 'assets/images/svg/badminton.svg',
+ isSelected: _selectedIndices.contains(1),
+ gradientColor: _getGradientColor(1),
+ onTap: _onContainerTap,
+ ),
+ ActivityContainer(
+ index: 2,
titleString: 'Cycling',
- image:
- 'assets/images/svg/individualact2.svg'),
- ActivityContainer(
- titleString: 'Running',
- image:
- 'assets/images/svg/individualact3.svg'),
- ],
- ),
- sizedBoxHeight(20.h),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- ActivityContainer(
- titleString: 'Swimming',
- image:
- 'assets/images/svg/individualact4.svg'),
- ActivityContainer(
- titleString: 'Triathlon',
- image:
- 'assets/images/svg/individualact5.svg'),
- ActivityContainer(
- titleString: 'Hiking',
- image:
- 'assets/images/svg/individualact6.svg'),
- ],
- ),
- sizedBoxHeight(20.h),
- Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- ActivityContainer(
+ image: 'assets/images/svg/individualact2.svg',
+ isSelected: _selectedIndices.contains(2),
+ gradientColor: _getGradientColor(2),
+ onTap: _onContainerTap,
+ ),
+ ],
+ ),
+ SizedBox(height: 20.h),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ ActivityContainer(
+ index: 3,
titleString: 'Football',
+ image: 'assets/images/svg/individualact7.svg',
+ isSelected: _selectedIndices.contains(3),
+ gradientColor: _getGradientColor(3),
+ onTap: _onContainerTap,
+ ),
+ ActivityContainer(
+ index: 4,
+ titleString: 'Weightlifting',
+ image: 'assets/images/svg/weightlifting.svg',
+ isSelected: _selectedIndices.contains(4),
+ gradientColor: _getGradientColor(4),
+ onTap: _onContainerTap,
+ ),
+ ActivityContainer(
+ index: 5,
+ titleString: 'Running',
+ image: 'assets/images/svg/individualact3.svg',
+ isSelected: _selectedIndices.contains(5),
+ gradientColor: _getGradientColor(5),
+ onTap: _onContainerTap,
+ ),
+ ],
+ ),
+ SizedBox(height: 20.h),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ ActivityContainer(
+ index: 6,
+ titleString: 'Social',
+ image: 'assets/images/svg/individualact7.svg',
+ isSelected: _selectedIndices.contains(6),
+ gradientColor: _getGradientColor(6),
+ onTap: _onContainerTap,
+ ),
+ SizedBox(width: 20.w),
+ ActivityContainer(
+ index: 7,
+ titleString: 'Special Interest (Societies)',
image:
- 'assets/images/svg/individualact7.svg'),
- sizedBoxWidth(20.w),
- ActivityContainer(
- titleString: 'Rugby',
- image:
- 'assets/images/svg/individualact8.svg'),
+ 'assets/images/svg/special interest.svg',
+ isSelected: _selectedIndices.contains(7),
+ gradientColor: _getGradientColor(7),
+ onTap: _onContainerTap,
+ ),
+ ],
+ ),
+ ],
+ ),
+ sizedBoxHeight(30.h),
+ text20400FCFCFC("Select other activity"),
+ sizedBoxHeight(25.h),
+ CustomDropDownRadio(
+ header: "",
+ title: "",
+ listData: [
+ "American football",
+ "Archery",
+ "Athletics",
+ "Baseball",
+ "Basketball",
+ "Boxing",
+ "Canoeing",
+ "Clay pigeon shooting",
+ "Climbing",
+ "Combat sports",
+ "Cricket",
+ "Dodgeball",
+ "Equestrian",
+ "Fencing",
+ "Gaelic football",
+ "Golf",
+ "Gymnastics",
+ "Handball",
+ "Hockey",
+ "Lacrosse",
+ "Modern biathlon and pentathlon",
+ "Netball",
+ "Orienteering",
+ "Pool and snooker",
+ "Powerlifting",
+ "Rifle",
+ "Rugby league",
+ "Rugby union",
+ "Sailing",
+ "Snowsports",
+ "Squash",
+ "Surfing",
+ "Swimming",
+ "Softball",
+ "Table tennis",
+ "Tennis",
+ "Touch rugby",
+ "Trampoline",
+ "Triathlon",
+ "Ultimate frisbee",
+ "Volleyball",
+ "Water polo",
+ "Windsurfing"
],
- ),
- ],
- ),
- Spacer(flex: 1),
- CustomButton(
- text: "Continue",
- onPressed: () {
- Get.toNamed(RouteName.individualgroupstep3);
- })
- ],
+ onItemSelected: (p0) {},
+ leadingImage: SizedBox()),
+ // Spacer(flex: 1),
+ sizedBoxHeight(35.h),
+ CustomButton(
+ text: "Continue",
+ onPressed: () {
+ Get.toNamed(RouteName.individualgroupstep3);
+ })
+ ],
+ ),
),
- )),
+ ),
+ ),
+ )
],
));
}
}
-class ActivityContainer extends StatefulWidget {
+class ActivityContainer extends StatelessWidget {
+ final int index;
final String titleString;
final String image;
+ final bool isSelected;
+ final Color gradientColor;
+ final Function(int) onTap;
ActivityContainer({
- Key? key,
+ required this.index,
required this.titleString,
required this.image,
- }) : super(key: key);
-
- @override
- State createState() => _ActivityContainerState();
-}
-
-class _ActivityContainerState extends State {
- bool _colorcontainer = false;
+ required this.isSelected,
+ required this.gradientColor,
+ required this.onTap,
+ });
@override
Widget build(BuildContext context) {
return GestureDetector(
- onTap: () {
- setState(() {
- _colorcontainer = !_colorcontainer;
- });
- // Set the selected ValueNotifier to true when tapped
- },
- child: Container(
- width: 110.w,
- height: 106.h,
- decoration: ShapeDecoration(
- gradient: LinearGradient(
- begin: Alignment(0.98, -0.21),
- end: Alignment(-0.98, 0.21),
- colors: _colorcontainer
- ? [
- Color(0XFFD90B2E).withOpacity(0.80),
- Color(0XFFD90B2E).withOpacity(0.77),
- Color(0XFFD90B2E).withOpacity(0.66),
- Color(0XFFD90B2E).withOpacity(0.18),
- ]
- : [
- Colors.white.withOpacity(0.05999999865889549),
- Colors.white.withOpacity(0.07999999821186066)
- ]),
- shape: RoundedRectangleBorder(
- side: BorderSide(width: 1, color: Color(0xFF434A53)),
- borderRadius: BorderRadius.circular(10),
- ),
+ onTap: () => onTap(index),
+ child: Container(
+ width: 110.w,
+ height: 120.h,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: isSelected
+ ? [
+ gradientColor.withOpacity(0.80),
+ gradientColor.withOpacity(0.77),
+ gradientColor.withOpacity(0.66),
+ gradientColor.withOpacity(0.18),
+ ]
+ : [
+ Colors.white.withOpacity(0.06),
+ Colors.white.withOpacity(0.08),
+ ],
),
- child: Padding(
- padding: EdgeInsets.symmetric(horizontal: 10.w, vertical: 10.h),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.center,
- children: [
- SvgPicture.asset(
- widget.image,
- width: 50.w,
- height: 50.h,
+ shape: RoundedRectangleBorder(
+ side: BorderSide(width: 1, color: Color(0xFF434A53)),
+ borderRadius: BorderRadius.circular(10),
+ ),
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 10.w, vertical: 10.h),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ SvgPicture.asset(
+ image,
+ width: 50.w,
+ height: 50.h,
+ ),
+ SizedBox(height: 10.h),
+ SizedBox(
+ child: Text(
+ titleString,
+ style: TextStyle(
+ fontSize: 14.sp,
+ color: Colors.white,
+ fontWeight: FontWeight.w400,
+ ),
+ textAlign: TextAlign.center,
),
- sizedBoxHeight(10.h),
- SizedBox(
- // width: 60,
- // height: 16,
- child: text14400white(widget.titleString)),
- ],
- ),
+ ),
+ ],
),
- ));
+ ),
+ ),
+ );
}
}
diff --git a/lib/onboarding/Signup/View/Individual/step3Selectyourgroup.dart b/lib/onboarding/Signup/View/Individual/step3Selectyourgroup.dart
index 27dca77..e1b432d 100644
--- a/lib/onboarding/Signup/View/Individual/step3Selectyourgroup.dart
+++ b/lib/onboarding/Signup/View/Individual/step3Selectyourgroup.dart
@@ -79,7 +79,7 @@ class _SelectIndividualGroupState extends State {
child: GestureDetector(
onTap: () {
Get.toNamed(RouteName.communitycommitscreen);
- },
+ },
child: Text(
'Skip',
style: TextStyle(
@@ -98,7 +98,7 @@ class _SelectIndividualGroupState extends State {
child: text16400white('Step 3 of 4')),
sizedBoxHeight(20.h),
Container(
- width: 358.w,
+ width: double.infinity,
height: 25.h,
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
@@ -113,7 +113,7 @@ class _SelectIndividualGroupState extends State {
child: Row(
children: [
Container(
- width: 178.w,
+ width: 240.w,
height: 15.h,
decoration: ShapeDecoration(
gradient: LinearGradient(
diff --git a/lib/onboarding/Signup/View/Individual/step4Selectyourcommunity.dart b/lib/onboarding/Signup/View/Individual/step4Selectyourcommunity.dart
index 9fbf8dd..a022118 100644
--- a/lib/onboarding/Signup/View/Individual/step4Selectyourcommunity.dart
+++ b/lib/onboarding/Signup/View/Individual/step4Selectyourcommunity.dart
@@ -71,76 +71,60 @@ class _SelectIndividualCommunityState extends State {
child: Padding(
padding:
EdgeInsets.symmetric(horizontal: 16.w, vertical: 50.h),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Align(
- alignment: Alignment.topRight,
- child: GestureDetector(
- onTap: () {
- Get.toNamed(RouteName.communitycommitscreen);
- },
- child: Text(
- 'Skip',
- style: TextStyle(
- color: Colors.white,
- fontSize: 16.sp,
- fontFamily: 'Helvetica',
- fontWeight: FontWeight.w400,
- decoration: TextDecoration.underline,
- decorationColor: Colors.white),
+ child: SingleChildScrollView(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Align(
+ alignment: Alignment.topRight,
+ child: GestureDetector(
+ onTap: () {
+ Get.toNamed(RouteName.communitycommitscreen);
+ },
+ child: Text(
+ 'Skip',
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 16.sp,
+ fontFamily: 'Helvetica',
+ fontWeight: FontWeight.w400,
+ decoration: TextDecoration.underline,
+ decorationColor: Colors.white),
+ ),
),
),
- ),
- sizedBoxHeight(30.h),
- Align(
- alignment: Alignment.center,
- child: text16400white('Step 4 of 4')),
- sizedBoxHeight(20.h),
- Container(
- width: 358.w,
- height: 25.h,
- decoration: ShapeDecoration(
- shape: RoundedRectangleBorder(
- side: BorderSide(
- width: 1, color: Color(0xFF434A53)),
- borderRadius: BorderRadius.circular(30),
+ sizedBoxHeight(30.h),
+ Align(
+ alignment: Alignment.center,
+ child: text16400white('Step 4 of 4')),
+ sizedBoxHeight(20.h),
+ Container(
+ width: double.infinity,
+ height: 25.h,
+ decoration: ShapeDecoration(
+ shape: RoundedRectangleBorder(
+ side: BorderSide(
+ width: 1, color: Color(0xFF434A53)),
+ borderRadius: BorderRadius.circular(30),
+ ),
),
- ),
- child: Padding(
- padding: EdgeInsets.symmetric(
- horizontal: 8.w, vertical: 2.h),
- child: Row(
- children: [
- Container(
- width: 260.w,
- height: 15.h,
- decoration: ShapeDecoration(
- gradient: LinearGradient(
- begin: Alignment(0.98, -0.21),
- end: Alignment(-0.98, 0.21),
- colors: [
- Color(0xA5D90B2E),
- Color(0x42D90B2E)
- ],
- ),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(30),
- ),
- ),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: [
- Container(
- width: 15,
- height: 15,
+ child: Padding(
+ padding: EdgeInsets.symmetric(
+ horizontal: 8.w, vertical: 2.h),
+ child: Row(
+ children: [
+ Expanded(
+ child: Container(
+ width: double.infinity,
+ child: Container(
+ height: 15.h,
decoration: ShapeDecoration(
gradient: LinearGradient(
begin: Alignment(0.98, -0.21),
end: Alignment(-0.98, 0.21),
colors: [
- Color(0xFFD90B2E),
- Color(0x60D90B2E)
+ Color(0xA5D90B2E),
+ Color(0x42D90B2E)
],
),
shape: RoundedRectangleBorder(
@@ -148,98 +132,134 @@ class _SelectIndividualCommunityState extends State {
BorderRadius.circular(30),
),
),
- )
- ],
- ))
- ],
+ child: Row(
+ mainAxisAlignment:
+ MainAxisAlignment.end,
+ children: [
+ Container(
+ width: 15,
+ height: 15,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin:
+ Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: [
+ Color(0xFFD90B2E),
+ Color(0x60D90B2E)
+ ],
+ ),
+ shape: RoundedRectangleBorder(
+ borderRadius:
+ BorderRadius.circular(
+ 30),
+ ),
+ ),
+ )
+ ],
+ )),
+ ),
+ )
+ ],
+ ),
),
),
- ),
- sizedBoxHeight(40.h),
- Center(
- child: Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- text20400white('Find your community'),
- sizedBoxWidth(5.w),
- Image.asset(
- 'assets/images/png/informationicon.png',
- )
- ],
- )),
- sizedBoxHeight(10.w),
- Center(
- child: Container(
- width: 108.w,
- decoration: ShapeDecoration(
- shape: RoundedRectangleBorder(
- side: BorderSide(
- width: 1,
- strokeAlign: BorderSide.strokeAlignCenter,
- color: Color(0xFF858585),
+ sizedBoxHeight(40.h),
+ Center(
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ text20400white('Find your community'),
+ sizedBoxWidth(5.w),
+ Image.asset(
+ 'assets/images/png/informationicon.png',
+ )
+ ],
+ )),
+ sizedBoxHeight(10.w),
+ Center(
+ child: Container(
+ width: 108.w,
+ decoration: ShapeDecoration(
+ shape: RoundedRectangleBorder(
+ side: BorderSide(
+ width: 1,
+ strokeAlign: BorderSide.strokeAlignCenter,
+ color: Color(0xFF858585),
+ ),
),
),
),
),
- ),
- sizedBoxHeight(30.h),
- CustomTextFormField(
- textEditingController: searchcontroller,
- texttype: TextInputType.text,
- hintText: "Search community",
- leadingIcon:
- // const Icon(Icons.mail_outline),
- // SvgPicture.asset(
- // // width: 23.w,
- // // height: 23.h,
- // 'assets/images/svg/search.svg',
- // ),
- Padding(
- padding: EdgeInsets.symmetric(horizontal: 16.w),
- child: Icon(
- Icons.search,
- size: 35,
- color: Colors.white,
+ sizedBoxHeight(30.h),
+ CustomTextFormField(
+ textEditingController: searchcontroller,
+ texttype: TextInputType.text,
+ hintText: "Search community",
+ leadingIcon:
+ // const Icon(Icons.mail_outline),
+ // SvgPicture.asset(
+ // // width: 23.w,
+ // // height: 23.h,
+ // 'assets/images/svg/search.svg',
+ // ),
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
+ child: Icon(
+ Icons.search,
+ size: 35,
+ color: Colors.white,
+ ),
),
+ // validatorText: "Enter your full name",
+ inputFormatters: [
+ // LengthLimitingTextInputFormatter(20),
+ RemoveEmojiInputFormatter(),
+ ],
),
- // validatorText: "Enter your full name",
- inputFormatters: [
- // LengthLimitingTextInputFormatter(20),
- RemoveEmojiInputFormatter(),
- ],
- ),
- sizedBoxHeight(30.h),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- CommunitySelect(
- titleString: 'Active alliance network ',
- image: 'assets/images/png/community1.png'),
- CommunitySelect(
- titleString: 'Fitfam federation',
- image: 'assets/images/png/community2.png'),
- ],
- ),
- sizedBoxHeight(30.h),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- CommunitySelect(
- titleString: 'The athletic town',
- image:
- 'assets/images/png/groupindividual3.png'),
- CommunitySelect(
- titleString: 'Football Fever',
- image: 'assets/images/png/community3.png'),
- ],
- ),
- Spacer(flex: 1),
- CustomButton(
- text: "Continue",
- onPressed: () {
- Get.toNamed(RouteName.communitycommitscreen);
- })
- ],
+ sizedBoxHeight(30.h),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ CommunitySelect(
+ titleString: 'Liverpool FC ',
+ image:
+ 'assets/images/png/groupindividual2.png'),
+ CommunitySelect(
+ titleString: 'Cambridge rugby Club',
+ image: 'assets/images/png/community2.png'),
+ CommunitySelect(
+ titleString: 'Cambridge rugby Club',
+ image: 'assets/images/png/community2.png'),
+ ],
+ ),
+ sizedBoxHeight(30.h),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ CommunitySelect(
+ titleString: 'The athletic town',
+ image:
+ 'assets/images/png/groupindividual3.png'),
+ CommunitySelect(
+ titleString: 'Football Fever',
+ image:
+ 'assets/images/png/groupindividual2.png'),
+ CommunitySelect(
+ titleString: 'Football Fever',
+ image:
+ 'assets/images/png/groupindividual2.png'),
+ ],
+ ),
+ // Spacer(flex: 1),
+ sizedBoxHeight(40.h),
+ CustomButton(
+ text: "Continue",
+ onPressed: () {
+ Get.toNamed(RouteName.communitycommitscreen);
+ })
+ ],
+ ),
),
)),
),
@@ -267,10 +287,10 @@ class _CommunitySelectState extends State {
@override
Widget build(BuildContext context) {
- return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
+ return Column(crossAxisAlignment: CrossAxisAlignment.center, children: [
Container(
- width: 169,
- height: 74,
+ width: 73.w,
+ height: 73.h,
decoration: ShapeDecoration(
image: DecorationImage(
image: AssetImage(
@@ -278,11 +298,13 @@ class _CommunitySelectState extends State {
widget.image),
fit: BoxFit.fill,
),
- shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5)),
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(100),
+ ),
),
),
sizedBoxHeight(15.h),
- text12400white(widget.titleString),
+ SizedBox(width: 94.w, child: text12400white(widget.titleString)),
sizedBoxHeight(15.h),
GestureDetector(
onTap: () {
@@ -291,8 +313,8 @@ class _CommunitySelectState extends State {
});
},
child: Container(
- width: 169,
- height: 23,
+ width: 100.w,
+ height: 23.h,
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
side: BorderSide(width: 1, color: Color(0xFFFF002B)),
diff --git a/lib/onboarding/Signup/View/signupendpage.dart b/lib/onboarding/Signup/View/signupendpage.dart
index 92cdc5c..d8d0eb7 100644
--- a/lib/onboarding/Signup/View/signupendpage.dart
+++ b/lib/onboarding/Signup/View/signupendpage.dart
@@ -95,7 +95,7 @@ class _SignupendPageState extends State {
// text16400white(
// '''Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.'''),
Text(
- '''Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.''',
+ '''Congratulations, your account has been successfully created. Get ready to regroup with your community''',
textAlign: TextAlign.center,
style: TextStyle(
color: Color(0xCCFCFCFC),
@@ -106,8 +106,9 @@ class _SignupendPageState extends State {
),
sizedBoxHeight(20.h),
CustomButton(
- text: 'Start your journey', onPressed: () {
- Get.toNamed(RouteName.mainscreen);
+ text: "Let's begin",
+ onPressed: () {
+ Get.toNamed(RouteName.mainscreen);
})
],
),
diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart
index 88ef2ee..779049b 100644
--- a/lib/resources/routes/route_name.dart
+++ b/lib/resources/routes/route_name.dart
@@ -90,11 +90,21 @@ class RouteName {
static const String groupinfo = '/groupinfo';
static const String newpost = '/newpost';
static const String groupevent = '/groupevent';
+ static const String connectcommunity = '/connectcommunity';
+//subgroup
+ static const String subgroups = '/subgroups';
+ static const String subgroupinfo = '/subgroupinfo';
+ static const String editsubgroupinfo = '/editsubgroupinfo';
+ static const String subgroupsetting = '/subgroupsetting';
+//ExploreDesign
+ static const String explorescreen = '/explorescreen';
+ static const String searchgroup = '/searchgroup';
+ static const String detailexplore = '/detailexplore';
-
+
static const String notificaationpage = '/notificationpage';
}
diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart
index 86d3788..aaaf76a 100644
--- a/lib/resources/routes/routes.dart
+++ b/lib/resources/routes/routes.dart
@@ -13,6 +13,10 @@ import 'package:regroup/Feed%20Module/Main_Screens/Chats/View/newchatpage.dart';
import 'package:regroup/Feed%20Module/Main_Screens/Chats/View/newgroup.dart';
import 'package:regroup/Feed%20Module/Main_Screens/Chats/View/userchat.dart';
import 'package:regroup/Feed%20Module/Main_Screens/Community/PostDetailScreen/View/ReactionView.dart';
+import 'package:regroup/Feed%20Module/Main_Screens/ExploreDesign/DetailExplore.dart';
+import 'package:regroup/Feed%20Module/Main_Screens/ExploreDesign/ExploreScreen.dart';
+import 'package:regroup/Feed%20Module/Main_Screens/ExploreDesign/SearchGroup.dart';
+import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/ConnectCommunity.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/GoupSettings.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/GroupDetail.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/GroupEvent.dart';
@@ -21,6 +25,10 @@ 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/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';
+import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/SubGroup/Subgroups.dart';
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Badges/Badges.dart';
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Clubs/Clubs.dart';
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/EditProfile/EditProfile.dart';
@@ -383,11 +391,11 @@ class AppRoutes {
name: RouteName.verifycode,
page: () => const VerifyCode(),
),
- GetPage(
+ GetPage(
name: RouteName.grouptab,
page: () => const GroupTab(),
),
- GetPage(
+ GetPage(
name: RouteName.requestedgroups,
page: () => const RequestedGroups(),
),
@@ -399,21 +407,57 @@ class AppRoutes {
name: RouteName.groupsettings,
page: () => const GroupSettings(),
),
- GetPage(
+ GetPage(
name: RouteName.groupmanage,
page: () => const GroupManage(),
),
- GetPage(
+ GetPage(
name: RouteName.groupinfo,
page: () => const GroupInfo(),
),
- GetPage(
+ GetPage(
name: RouteName.newpost,
page: () => const NewPost(),
),
- GetPage(
+ GetPage(
name: RouteName.groupevent,
page: () => const GroupEvent(),
),
+ GetPage(
+ name: RouteName.connectcommunity,
+ page: () => const ConnectCommunity(),
+ ),
+ GetPage(
+ name: RouteName.subgroups,
+ page: () => const SubGroups(),
+ ),
+ GetPage(
+ name: RouteName.subgroupinfo,
+ page: () => const SubGroupInfo(),
+ ),
+ GetPage(
+ name: RouteName.subgroupinfo,
+ page: () => const SubGroupInfo(),
+ ),
+ GetPage(
+ name: RouteName.editsubgroupinfo,
+ page: () => const EditSubgroupInfo(),
+ ),
+ GetPage(
+ name: RouteName.subgroupsetting,
+ page: () => const SubGroupSetting(),
+ ),
+ GetPage(
+ name: RouteName.explorescreen,
+ page: () => const ExploreScreen(),
+ ),
+ GetPage(
+ name: RouteName.searchgroup,
+ page: () => const SearchGroup(),
+ ),
+ GetPage(
+ name: RouteName.detailexplore,
+ page: () => const DetailExplore(),
+ ),
];
}
diff --git a/pubspec.lock b/pubspec.lock
index d5db80b..c9b3922 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -145,6 +145,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "5.4.3+1"
+ dotted_border:
+ dependency: "direct main"
+ description:
+ name: dotted_border
+ sha256: "108837e11848ca776c53b30bc870086f84b62ed6e01c503ed976e8f8c7df9c04"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.0"
dropdown_button2:
dependency: "direct main"
description:
@@ -217,6 +225,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.9.3+1"
+ fixnum:
+ dependency: transitive
+ description:
+ name: fixnum
+ sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.0"
flutter:
dependency: "direct main"
description: flutter
@@ -280,6 +296,54 @@ packages:
url: "https://pub.dev"
source: hosted
version: "8.2.5"
+ geolocator:
+ dependency: "direct main"
+ description:
+ name: geolocator
+ sha256: "6cb9fb6e5928b58b9a84bdf85012d757fd07aab8215c5205337021c4999bad27"
+ url: "https://pub.dev"
+ source: hosted
+ version: "11.1.0"
+ geolocator_android:
+ dependency: transitive
+ description:
+ name: geolocator_android
+ sha256: "00c7177a95823dd3ee35ef42fd8666cd27d219ae14cea472ac76a21dff43000b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.6.0"
+ geolocator_apple:
+ dependency: transitive
+ description:
+ name: geolocator_apple
+ sha256: bc2aca02423ad429cb0556121f56e60360a2b7d694c8570301d06ea0c00732fd
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.7"
+ geolocator_platform_interface:
+ dependency: transitive
+ description:
+ name: geolocator_platform_interface
+ sha256: "386ce3d9cce47838355000070b1d0b13efb5bc430f8ecda7e9238c8409ace012"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.2.4"
+ geolocator_web:
+ dependency: transitive
+ description:
+ name: geolocator_web
+ sha256: "49d8f846ebeb5e2b6641fe477a7e97e5dd73f03cbfef3fd5c42177b7300fb0ed"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.0"
+ geolocator_windows:
+ dependency: transitive
+ description:
+ name: geolocator_windows
+ sha256: "53da08937d07c24b0d9952eb57a3b474e29aae2abf9dd717f7e1230995f13f0e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.3"
get:
dependency: "direct main"
description:
@@ -296,6 +360,38 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.0"
+ google_maps_flutter:
+ dependency: "direct main"
+ description:
+ name: google_maps_flutter
+ sha256: abefcb1e5e5c96bdd8084939dda555257af272c7972902ca46d5631092c1df68
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.8"
+ google_maps_flutter_android:
+ dependency: transitive
+ description:
+ name: google_maps_flutter_android
+ sha256: "0bcadb80eba39afda77dede89a6caafd3b68f2786b90491eceea4a01c3db181c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.8.0"
+ google_maps_flutter_ios:
+ dependency: transitive
+ description:
+ name: google_maps_flutter_ios
+ sha256: c89556ed0338fcb4b843c9fcdafac7ad2df601c8b41286d82f0727f7f66434e4
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.6"
+ google_maps_flutter_platform_interface:
+ dependency: transitive
+ description:
+ name: google_maps_flutter_platform_interface
+ sha256: bd60ca330e3c7763b95b477054adec338a522d982af73ecc520b232474063ac5
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.8.0"
http:
dependency: transitive
description:
@@ -488,6 +584,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.8.3"
+ path_drawing:
+ dependency: transitive
+ description:
+ name: path_drawing
+ sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.1"
path_parsing:
dependency: transitive
description:
@@ -709,6 +813,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.10.0"
+ sprintf:
+ dependency: transitive
+ description:
+ name: sprintf
+ sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
+ url: "https://pub.dev"
+ source: hosted
+ version: "7.0.0"
stack_trace:
dependency: transitive
description:
@@ -725,6 +837,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.2"
+ stream_transform:
+ dependency: transitive
+ description:
+ name: stream_transform
+ sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.0"
string_scanner:
dependency: transitive
description:
@@ -789,6 +909,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.3.2"
+ uuid:
+ dependency: transitive
+ description:
+ name: uuid
+ sha256: "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.4.0"
vector_graphics:
dependency: transitive
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index a2e334e..fcf5a1a 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -61,6 +61,9 @@ dependencies:
flutter_reaction_button: any
syncfusion_flutter_calendar: ^25.2.7
calendar_date_picker2: ^1.0.3
+ dotted_border: ^2.1.0
+ google_maps_flutter: ^2.2.8
+ geolocator: ^11.1.0
dev_dependencies: