diff --git a/assets/images/png/community1.png b/assets/images/png/community1.png
new file mode 100644
index 0000000..1575fdd
Binary files /dev/null and b/assets/images/png/community1.png differ
diff --git a/assets/images/png/community2.png b/assets/images/png/community2.png
new file mode 100644
index 0000000..281350a
Binary files /dev/null and b/assets/images/png/community2.png differ
diff --git a/assets/images/png/community3.png b/assets/images/png/community3.png
new file mode 100644
index 0000000..07c9484
Binary files /dev/null and b/assets/images/png/community3.png differ
diff --git a/assets/images/png/globe.png b/assets/images/png/globe.png
new file mode 100644
index 0000000..ee93742
Binary files /dev/null and b/assets/images/png/globe.png differ
diff --git a/assets/images/png/groupindividual.png b/assets/images/png/groupindividual.png
new file mode 100644
index 0000000..0e97587
Binary files /dev/null and b/assets/images/png/groupindividual.png differ
diff --git a/assets/images/png/groupindividual2.png b/assets/images/png/groupindividual2.png
new file mode 100644
index 0000000..3563ffc
Binary files /dev/null and b/assets/images/png/groupindividual2.png differ
diff --git a/assets/images/png/groupindividual3.png b/assets/images/png/groupindividual3.png
new file mode 100644
index 0000000..1d87127
Binary files /dev/null and b/assets/images/png/groupindividual3.png differ
diff --git a/assets/images/png/hashtag.png b/assets/images/png/hashtag.png
new file mode 100644
index 0000000..0009ffd
Binary files /dev/null and b/assets/images/png/hashtag.png differ
diff --git a/assets/images/png/onlycamera.png b/assets/images/png/onlycamera.png
new file mode 100644
index 0000000..cfd0f78
Binary files /dev/null and b/assets/images/png/onlycamera.png differ
diff --git a/assets/images/png/phone.png b/assets/images/png/phone.png
new file mode 100644
index 0000000..f67ad01
Binary files /dev/null and b/assets/images/png/phone.png differ
diff --git a/assets/images/png/redregroup.png b/assets/images/png/redregroup.png
new file mode 100644
index 0000000..604a6f3
Binary files /dev/null and b/assets/images/png/redregroup.png differ
diff --git a/assets/images/png/regroupredtexticon.png b/assets/images/png/regroupredtexticon.png
new file mode 100644
index 0000000..cc6e749
Binary files /dev/null and b/assets/images/png/regroupredtexticon.png differ
diff --git a/assets/images/svg/coachindividual.svg b/assets/images/svg/coachindividual.svg
new file mode 100644
index 0000000..8f2a20f
--- /dev/null
+++ b/assets/images/svg/coachindividual.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/svg/individualact1.svg b/assets/images/svg/individualact1.svg
new file mode 100644
index 0000000..f75ad5b
--- /dev/null
+++ b/assets/images/svg/individualact1.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/svg/individualact2.svg b/assets/images/svg/individualact2.svg
new file mode 100644
index 0000000..fad43fc
--- /dev/null
+++ b/assets/images/svg/individualact2.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/svg/individualact3.svg b/assets/images/svg/individualact3.svg
new file mode 100644
index 0000000..5ecb601
--- /dev/null
+++ b/assets/images/svg/individualact3.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/svg/individualact4.svg b/assets/images/svg/individualact4.svg
new file mode 100644
index 0000000..4c6bd28
--- /dev/null
+++ b/assets/images/svg/individualact4.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/svg/individualact5.svg b/assets/images/svg/individualact5.svg
new file mode 100644
index 0000000..8744547
--- /dev/null
+++ b/assets/images/svg/individualact5.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/svg/individualact6.svg b/assets/images/svg/individualact6.svg
new file mode 100644
index 0000000..bf1a7ae
--- /dev/null
+++ b/assets/images/svg/individualact6.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/images/svg/individualact7.svg b/assets/images/svg/individualact7.svg
new file mode 100644
index 0000000..865f399
--- /dev/null
+++ b/assets/images/svg/individualact7.svg
@@ -0,0 +1,11 @@
+
diff --git a/assets/images/svg/individualact8.svg b/assets/images/svg/individualact8.svg
new file mode 100644
index 0000000..ced7374
--- /dev/null
+++ b/assets/images/svg/individualact8.svg
@@ -0,0 +1,11 @@
+
diff --git a/assets/images/svg/redregroupicon.svg b/assets/images/svg/redregroupicon.svg
new file mode 100644
index 0000000..b93644c
--- /dev/null
+++ b/assets/images/svg/redregroupicon.svg
@@ -0,0 +1,9 @@
+
diff --git a/assets/images/svg/runningindividual.svg b/assets/images/svg/runningindividual.svg
new file mode 100644
index 0000000..8eeb7b6
--- /dev/null
+++ b/assets/images/svg/runningindividual.svg
@@ -0,0 +1,8 @@
+
diff --git a/assets/images/svg/search.svg b/assets/images/svg/search.svg
new file mode 100644
index 0000000..446ad93
--- /dev/null
+++ b/assets/images/svg/search.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/images/svg/userindividual.svg b/assets/images/svg/userindividual.svg
new file mode 100644
index 0000000..1a8e536
--- /dev/null
+++ b/assets/images/svg/userindividual.svg
@@ -0,0 +1,3 @@
+
diff --git a/lib/Utils/Common/CustomTextformfield.dart b/lib/Utils/Common/CustomTextformfield.dart
index d5c0e1c..7e6674a 100644
--- a/lib/Utils/Common/CustomTextformfield.dart
+++ b/lib/Utils/Common/CustomTextformfield.dart
@@ -22,9 +22,7 @@ class CustomTextFormField extends StatefulWidget {
this.value,
this.readonly = false,
this.enabled = true,
-
this.outlineColor = Colors.black,
-
this.maxlines = 1,
this.texttype,
this.inputFormatters,
@@ -66,14 +64,13 @@ class _CustomTextFormFieldState extends State {
void validateField(String value) {
setState(() {
- widget.validationMessage = widget.validator?.call(value) ??
- (value.isEmpty ? "Empty value" : null);
+ widget.validationMessage =
+ widget.validator?.call(value) ?? (value.isEmpty ? "" : null);
});
}
@override
Widget build(BuildContext context) {
-
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -168,7 +165,6 @@ class _CustomTextFormFieldState extends State {
},
),
),
-
sizedBoxHeight(5.h),
Text(
widget.validationMessage ?? '',
@@ -176,7 +172,6 @@ class _CustomTextFormFieldState extends State {
overflow: TextOverflow.ellipsis,
),
],
-
);
}
}
@@ -289,7 +284,6 @@ class _CustomTextFormField2State extends State {
prefixIconColor: widget.prefixIconColor,
constraints: BoxConstraints(minHeight: 50),
-
hintStyle: TextStyle(
fontSize: 16.sp,
color: Colors.white,
@@ -536,7 +530,173 @@ class _CustomtextFormFieldPasswordState
overflow: TextOverflow.ellipsis,
),
],
-
+ );
+ }
+}
+
+class SearchTextFormField extends StatefulWidget {
+ SearchTextFormField({
+ Key? key,
+ this.validator,
+ this.validationMessage,
+ this.textEditingController,
+ this.hintText,
+ this.leadingIcon,
+ this.prefixIconColor = const Color(0xFF737373),
+ this.isInputPassword = false,
+ this.value,
+ this.readonly = false,
+ this.enabled = true,
+ this.outlineColor = Colors.black,
+ this.maxlines = 1,
+ this.texttype,
+ this.inputFormatters,
+ this.onInput,
+ this.onTap,
+ this.suffixIcon,
+ }) : super(key: key);
+
+ final String? Function(String?)? validator;
+ final TextEditingController? textEditingController;
+ final String? hintText;
+ final Widget? leadingIcon;
+ final Color prefixIconColor;
+ final bool isInputPassword;
+ final String? value;
+ final bool readonly;
+ final bool enabled;
+ final int maxlines;
+ final TextInputType? texttype;
+ final List? inputFormatters;
+ final Color outlineColor;
+ final Function(String)? onInput;
+ final VoidCallback? onTap;
+ final Widget? suffixIcon;
+ String? validationMessage;
+
+ @override
+ State createState() => _SearchTextFormFieldState();
+}
+
+class _SearchTextFormFieldState extends State {
+ late bool obscureText;
+
+ @override
+ void initState() {
+ super.initState();
+ obscureText = widget.isInputPassword;
+ }
+
+ void validateField(String value) {
+ setState(() {
+ widget.validationMessage =
+ widget.validator?.call(value) ?? (value.isEmpty ? "" : null);
+ });
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ GlassmorphicContainer(
+ width: double.infinity,
+ height: 50,
+ borderRadius: 10,
+ blur: 10,
+ alignment: Alignment.bottomCenter,
+ border: 0.8,
+ linearGradient: LinearGradient(
+ begin: Alignment.topLeft,
+ end: Alignment.bottomRight,
+ colors: [
+ const Color(0xFFffffff).withOpacity(0.04),
+ const Color(0xFFFFFFFF).withOpacity(0.05),
+ ],
+ stops: [
+ 0.1,
+ 1,
+ ]),
+ borderGradient: const LinearGradient(
+ begin: Alignment.topLeft,
+ end: Alignment.bottomRight,
+ colors: [
+ Color(0xff434A53),
+ Color(0xFF434A53),
+ ],
+ ),
+ child: TextFormField(
+ style: TextStyle(
+ fontSize: 16.sp, color: Colors.white, fontFamily: 'Helvetica'),
+ cursorColor: Colors.red,
+ initialValue: widget.value,
+ readOnly: widget.readonly,
+ onTap: widget.onTap,
+ enabled: widget.enabled,
+ enableInteractiveSelection: false,
+ maxLines: widget.maxlines,
+ obscureText: obscureText,
+ controller: widget.textEditingController,
+ decoration: InputDecoration(
+ hintText: widget.hintText,
+ prefixIconColor: widget.prefixIconColor,
+ constraints: BoxConstraints(minHeight: 50),
+ hintStyle: TextStyle(
+ fontSize: 16.sp,
+ color: Colors.white,
+ fontWeight: FontWeight.w400,
+ fontFamily: 'Helvetica'),
+ prefixIcon:
+ widget.leadingIcon == null ? null : widget.leadingIcon!,
+ suffixIcon: widget.isInputPassword
+ ? GestureDetector(
+ onTap: () => setState(() => obscureText = !obscureText),
+ child: obscureText
+ ? Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Padding(
+ padding: EdgeInsets.only(right: 20.0),
+ child: SvgPicture.asset(
+ "assets/images/svg/loginpasswordclose.svg",
+ ),
+ ),
+ ],
+ )
+ : Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Padding(
+ padding: EdgeInsets.only(right: 20.0),
+ child: SvgPicture.asset(
+ 'assets/images/svg/loginpasswordopen.svg',
+ ),
+ ),
+ ],
+ ),
+ )
+ : widget.suffixIcon == null
+ ? null
+ : widget.suffixIcon!,
+ border: InputBorder.none,
+ contentPadding:
+ const EdgeInsets.symmetric(horizontal: 10, vertical: 10),
+ ),
+ keyboardType: widget.texttype,
+ inputFormatters: widget.inputFormatters,
+ onChanged: (value) {
+ widget.onInput?.call(value);
+ validateField(value);
+ },
+ ),
+ ),
+ sizedBoxHeight(5.h),
+ Text(
+ widget.validationMessage ?? '',
+ style: TextStyle(color: Colors.red, fontSize: 12.sp),
+ overflow: TextOverflow.ellipsis,
+ ),
+ ],
);
}
}
diff --git a/lib/Utils/texts.dart b/lib/Utils/texts.dart
index d382983..b16a056 100644
--- a/lib/Utils/texts.dart
+++ b/lib/Utils/texts.dart
@@ -36,7 +36,7 @@ Widget text20400white(String text) {
Widget text16400white(String text) {
return Text(
text,
- textAlign: TextAlign.center,
+ // textAlign: TextAlign.center,
style: TextStyle(
fontSize: 16.sp,
color: AppColors.white,
@@ -45,6 +45,29 @@ Widget text16400white(String text) {
);
}
+Widget text25700white(String text) {
+ return Text(
+ text,
+ // textAlign: TextAlign.center,
+ style: TextStyle(
+ fontSize: 25.sp,
+ color: AppColors.white,
+ fontWeight: FontWeight.w700,
+ fontFamily: 'Helvetica'),
+ );
+}
+
+Widget text12400white(String text) {
+ return Text(
+ text,
+ style: TextStyle(
+ fontSize: 12.sp,
+ color: AppColors.white,
+ fontWeight: FontWeight.w400,
+ fontFamily: 'Helvetica'),
+ );
+}
+
Widget text14400white(String text) {
return Text(
text,
@@ -215,6 +238,17 @@ Widget text16w400_FCFCFC(String text) {
);
}
+Widget text10400white(String text) {
+ return Text(
+ text,
+ style: TextStyle(
+ fontSize: 10.sp,
+ color: Colors.white,
+ fontFamily: 'Helvetica',
+ fontWeight: FontWeight.w400),
+ );
+}
+
Widget text16w700_FCFCFC(String text) {
return Text(
text,
diff --git a/lib/onboarding/Signup/View/Business/step1Letusunderstandbetter.dart b/lib/onboarding/Signup/View/Business/step1Letusunderstandbetter.dart
new file mode 100644
index 0000000..ecd4d2e
--- /dev/null
+++ b/lib/onboarding/Signup/View/Business/step1Letusunderstandbetter.dart
@@ -0,0 +1,672 @@
+import 'dart:io';
+
+import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:glassmorphism/glassmorphism.dart';
+import 'package:regroup/Common/controller/CommonTextFormField.dart';
+import 'package:regroup/Utils/Common/CustomNextButton.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/resources/routes/route_name.dart';
+import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
+
+class LetusUnderstand extends StatefulWidget {
+ const LetusUnderstand({super.key});
+
+ @override
+ State createState() => _LetusUnderstandState();
+}
+
+class _LetusUnderstandState extends State {
+ TextEditingController busunesscontactcontroller = TextEditingController();
+ TextEditingController emailidcontroller = TextEditingController();
+ TextEditingController businesshandlecontroller = TextEditingController();
+ TextEditingController openinghourscontroller = TextEditingController();
+ TextEditingController websitelinkcontroller = TextEditingController();
+ TextEditingController googlereviewlinkcontroller = TextEditingController();
+
+ bool isValidPhoneNumber(String phoneNumber) {
+ final RegExp phoneNumberExpression = RegExp(r"^0{10}$");
+
+ return !phoneNumberExpression.hasMatch(phoneNumber);
+ }
+
+ List filePath = [];
+ List bannerPath = [];
+
+ bool isImageAdded = false;
+ bool isbannerAdded = false;
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color.fromARGB(255, 18, 32, 47),
+ body: Stack(
+ children: [
+ Positioned(top: 70, left: -30, child: CommonBlurLeftSecond()),
+ Positioned(top: 310, right: -30, child: CommonBlurRightSecond()),
+ Positioned(top: 540, 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),
+
+ // 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: ListView(children: [
+ 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),
+ ),
+ ),
+ ),
+ sizedBoxHeight(30.h),
+ Align(
+ alignment: Alignment.center,
+ child: text16400white('Step 1 of 3')),
+ 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: 15,
+ height: 15,
+ 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),
+ ),
+ ),
+ )
+ ],
+ ),
+ ),
+ ),
+ sizedBoxHeight(30.h),
+ Center(
+ child:
+ text20400white('Let us understand you better')),
+ 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),
+ text16400white('Business contact number'),
+ sizedBoxHeight(10.h),
+ CustomTextFormField(
+ textEditingController: busunesscontactcontroller,
+ texttype: TextInputType.text,
+ hintText: "Enter your business contact number",
+ leadingIcon:
+ // const Icon(Icons.mail_outline),
+ Image.asset(
+ width: 22.w,
+ height: 17.h,
+ 'assets/images/png/phone.png',
+ ),
+ // validatorText: "Enter your business owner name",
+ validator: (value) {
+ if (value.isEmpty) {
+ return 'Enter your phone number';
+ } else if (!RegExp(r'(^(?:[+0]9)?[0-9]{10}$)')
+ .hasMatch(value)) {
+ return 'Enter a valid phone number';
+ } else if (!isValidPhoneNumber(value)) {
+ return 'Phone number cannot contain 10 zeros';
+ }
+ return null;
+ },
+ inputFormatters: [
+ // LengthLimitingTextInputFormatter(20),
+ RemoveEmojiInputFormatter(),
+ FilteringTextInputFormatter.allow(RegExp('[0-9]')),
+ ],
+ ),
+ sizedBoxHeight(15.h),
+ text16400white('Business email address'),
+ sizedBoxHeight(10.h),
+ CustomTextFormField(
+ textEditingController: emailidcontroller,
+ hintText: "Enter your email address",
+ leadingIcon:
+ // const Icon(Icons.mail_outline),
+ SizedBox(
+ width: 22.w,
+ height: 17.h,
+ child: Image.asset(
+ 'assets/images/png/mail.png',
+ width: 22.w,
+ height: 17.h,
+ ),
+ ),
+ // validatorText: "Email Id",
+ validator: (value) {
+ if (value!.isEmpty) {
+ return 'Enter your e-mail address';
+ }
+ if (!RegExp(
+ r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$')
+ .hasMatch(value)) {
+ return 'Enter a valid e-mail address';
+ }
+ return null;
+ },
+ inputFormatters: [
+ LengthLimitingTextInputFormatter(20),
+ RemoveEmojiInputFormatter()
+ ],
+ ),
+ // sizedBoxHeight(10.h),
+ sizedBoxHeight(15.h),
+
+ text16400white('Business handle'),
+ sizedBoxHeight(10.h),
+ CustomTextFormField(
+ textEditingController: businesshandlecontroller,
+ texttype: TextInputType.text,
+ hintText: "Enter your business handle",
+ leadingIcon:
+ // const Icon(Icons.mail_outline),
+ Image.asset(
+ width: 22.w,
+ height: 17.h,
+ 'assets/images/png/user.png',
+ ),
+ // validatorText: "Enter your business owner name",
+ validator: (value) {
+ if (value!.isEmpty) {
+ return 'Enter your business handle';
+ }
+ return null;
+ },
+ inputFormatters: [
+ // LengthLimitingTextInputFormatter(20),
+ RemoveEmojiInputFormatter(),
+ FilteringTextInputFormatter.allow(
+ RegExp('[a-zA-Z ]'))
+ ],
+ ),
+ // sizedBoxHeight(10.h),
+ sizedBoxHeight(15.h),
+
+ text16400white('Opening hours'),
+ sizedBoxHeight(10.h),
+ CustomTextFormField(
+ textEditingController: openinghourscontroller,
+ texttype: TextInputType.text,
+ hintText: "Enter your opening hours",
+ leadingIcon:
+ // const Icon(Icons.mail_outline),
+ Image.asset(
+ width: 22.w,
+ height: 17.h,
+ 'assets/images/png/clock.png',
+ ),
+ // validatorText: "Enter your business owner name",
+ validator: (value) {
+ if (value!.isEmpty) {
+ return 'Enter your opening hours';
+ }
+ return null;
+ },
+ inputFormatters: [
+ // LengthLimitingTextInputFormatter(20),
+ RemoveEmojiInputFormatter(),
+ FilteringTextInputFormatter.allow(
+ RegExp('[a-zA-ZS0-9 ]')),
+ ],
+ ),
+ // sizedBoxHeight(10.h),
+ sizedBoxHeight(15.h),
+
+ text16400white('Website link'),
+ sizedBoxHeight(10.h),
+ CustomTextFormField(
+ textEditingController: websitelinkcontroller,
+ texttype: TextInputType.text,
+ hintText: "Enter your website link",
+ leadingIcon:
+ // const Icon(Icons.mail_outline),
+ Image.asset(
+ width: 22.w,
+ height: 17.h,
+ 'assets/images/png/globe.png',
+ ),
+ // validatorText: "Enter your business owner name",
+ validator: (value) {
+ if (value!.isEmpty) {
+ return 'Enter your website link';
+ }
+ return null;
+ },
+ inputFormatters: [
+ // LengthLimitingTextInputFormatter(20),
+ RemoveEmojiInputFormatter(),
+ FilteringTextInputFormatter.allow(
+ RegExp('[a-zA-ZS0-9 ]')),
+ ],
+ ),
+ // sizedBoxHeight(10.h),
+ sizedBoxHeight(15.h),
+
+ text16400white('Google review link'),
+ sizedBoxHeight(10.h),
+ CustomTextFormField(
+ textEditingController: googlereviewlinkcontroller,
+ texttype: TextInputType.text,
+ hintText: "Enter your google review link",
+ leadingIcon:
+ // const Icon(Icons.mail_outline),
+ Image.asset(
+ width: 22.w,
+ height: 17.h,
+ 'assets/images/png/globe.png',
+ ),
+ // validatorText: "Enter your business owner name",
+ validator: (value) {
+ if (value!.isEmpty) {
+ return 'Enter your google review link';
+ }
+ return null;
+ },
+ inputFormatters: [
+ // LengthLimitingTextInputFormatter(20),
+ RemoveEmojiInputFormatter(),
+ FilteringTextInputFormatter.allow(
+ RegExp('[a-zA-ZS0-9 ]')),
+ ],
+ ),
+ // sizedBoxHeight(10.h),
+ sizedBoxHeight(15.h),
+
+ text16400white('Tags'),
+ sizedBoxHeight(10.h),
+ CustomTextFormField(
+ textEditingController: googlereviewlinkcontroller,
+ texttype: TextInputType.text,
+ hintText: "Enter your Tags",
+ leadingIcon:
+ // const Icon(Icons.mail_outline),
+ Image.asset(
+ width: 22.w,
+ height: 17.h,
+ 'assets/images/png/hashtag.png',
+ ),
+ // validatorText: "Enter your business owner name",
+ validator: (value) {
+ if (value!.isEmpty) {
+ return 'Enter your tags';
+ }
+ return null;
+ },
+ inputFormatters: [
+ // LengthLimitingTextInputFormatter(20),
+ RemoveEmojiInputFormatter(),
+ FilteringTextInputFormatter.allow(
+ RegExp('[a-zA-ZS0-9 ]')),
+ ],
+ ),
+ // sizedBoxHeight(10.h),
+ sizedBoxHeight(15.h),
+
+ text16400white('Images upload'),
+ sizedBoxHeight(10.h),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ filePath.isNotEmpty && isImageAdded
+ ? Container(
+ width: 169,
+ height: 115,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: [
+ Colors.white
+ .withOpacity(0.30000001192092896),
+ Colors.white
+ .withOpacity(0.2800000011920929)
+ ],
+ ),
+ shape: RoundedRectangleBorder(
+ side: BorderSide(
+ width: 0.50,
+ color: Color(0xFF7E7E7E)),
+ borderRadius: BorderRadius.circular(10),
+ ),
+ ),
+ child: Stack(
+ children: [
+ Image.file(
+ filePath[0]!,
+ fit: BoxFit.cover,
+ width: double.infinity,
+ ),
+ Positioned(
+ // top: 0,
+ // left: 0,
+ right: 5,
+ bottom: 5,
+ child: GestureDetector(
+ onTap: () {
+ // Clear the list and show the upload button
+ filePath.clear();
+ isImageAdded = 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,
+ )
+
+ // SvgPicture.asset(
+ // "assets/images/SVG/trash-2.svg",
+ // width: 17.w,
+ // height: 17.h,
+ // ),
+ )),
+ ),
+ ],
+ ),
+ )
+ : GestureDetector(
+ onTap: () {
+ ImageUploadBottomSheet().showModal(
+ context,
+ false,
+ (result) {
+ var file = File(result);
+
+ // filePath[0] = file;
+ // filePath.clear();
+ filePath.add(file);
+ isImageAdded = true;
+ // isImageAdded = true;
+ setState(() {});
+ },
+ );
+ },
+ child: Container(
+ width: 169,
+ height: 115,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: [
+ Colors.white.withOpacity(
+ 0.30000001192092896),
+ Colors.white
+ .withOpacity(0.2800000011920929)
+ ],
+ ),
+ shape: RoundedRectangleBorder(
+ side: BorderSide(
+ width: 0.50,
+ color: Color(0xFF7E7E7E)),
+ borderRadius:
+ BorderRadius.circular(10),
+ ),
+ ),
+ child: Column(
+ crossAxisAlignment:
+ CrossAxisAlignment.center,
+ mainAxisAlignment:
+ MainAxisAlignment.center,
+ children: [
+ Image.asset(
+ 'assets/images/png/onlycamera.png'),
+ sizedBoxHeight(5.h),
+ Text(
+ 'Upload business \nlogo',
+ textAlign: TextAlign.center,
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 14.sp,
+ fontFamily: 'Poppins',
+ fontWeight: FontWeight.w400,
+ ),
+ ),
+ ],
+ ),
+ ),
+ ),
+ bannerPath.isNotEmpty && isbannerAdded
+ ? Container(
+ width: 169,
+ height: 115,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: [
+ Colors.white
+ .withOpacity(0.30000001192092896),
+ Colors.white
+ .withOpacity(0.2800000011920929)
+ ],
+ ),
+ shape: RoundedRectangleBorder(
+ side: BorderSide(
+ width: 0.50,
+ color: Color(0xFF7E7E7E)),
+ borderRadius: BorderRadius.circular(10),
+ ),
+ ),
+ child: Stack(
+ children: [
+ Image.file(
+ bannerPath[0]!,
+ fit: BoxFit.cover,
+ width: double.infinity,
+ ),
+ Positioned(
+ // top: 0,
+ // left: 0,
+ right: 5,
+ bottom: 5,
+ child: GestureDetector(
+ onTap: () {
+ // Clear the list and show the upload button
+ 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,
+ )
+
+ // SvgPicture.asset(
+ // "assets/images/SVG/trash-2.svg",
+ // width: 17.w,
+ // height: 17.h,
+ // ),
+ )),
+ ),
+ ],
+ ),
+ )
+ : GestureDetector(
+ onTap: () {
+ ImageUploadBottomSheet().showModal(
+ context,
+ false,
+ (result) {
+ var file = File(result);
+
+ // filePath[0] = file;
+ // filePath.clear();
+ bannerPath.add(file);
+ isbannerAdded = true;
+ // isImageAdded = true;
+ setState(() {});
+ },
+ );
+ },
+ child: Container(
+ width: 169,
+ height: 115,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: [
+ Colors.white.withOpacity(
+ 0.30000001192092896),
+ Colors.white
+ .withOpacity(0.2800000011920929)
+ ],
+ ),
+ shape: RoundedRectangleBorder(
+ side: BorderSide(
+ width: 0.50,
+ color: Color(0xFF7E7E7E)),
+ borderRadius:
+ BorderRadius.circular(10),
+ ),
+ ),
+ child: Column(
+ crossAxisAlignment:
+ CrossAxisAlignment.center,
+ mainAxisAlignment:
+ MainAxisAlignment.center,
+ children: [
+ Image.asset(
+ 'assets/images/png/onlycamera.png'),
+ sizedBoxHeight(5.h),
+ Text(
+ 'Upload banner \nimage',
+ textAlign: TextAlign.center,
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 14.sp,
+ fontFamily: 'Poppins',
+ fontWeight: FontWeight.w400,
+ ),
+ ),
+ ],
+ ),
+ ),
+ )
+ ],
+ ),
+ sizedBoxHeight(40.h),
+ CustomButton(text: 'Continue', onPressed: () {
+ Get.toNamed(RouteName.businessSelectgroupstep2);
+ })
+ ],
+ ),
+ ),
+ ])),
+ ],
+ ));
+ }
+}
diff --git a/lib/onboarding/Signup/View/Business/step2Selectgroup.dart b/lib/onboarding/Signup/View/Business/step2Selectgroup.dart
new file mode 100644
index 0000000..c8c6c38
--- /dev/null
+++ b/lib/onboarding/Signup/View/Business/step2Selectgroup.dart
@@ -0,0 +1,312 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+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/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';
+import 'package:regroup/resources/routes/route_name.dart';
+import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
+
+class SelectgroupStep2 extends StatefulWidget {
+ const SelectgroupStep2({super.key});
+
+ @override
+ State createState() => _SelectgroupStep2State();
+}
+
+class _SelectgroupStep2State extends State {
+ TextEditingController searchcontroller = TextEditingController();
+ // StreamController blogsController = StreamController();
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color.fromARGB(255, 18, 32, 47),
+ body: Stack(
+ children: [
+ Positioned(top: 70, left: -30, child: CommonBlurLeftSecond()),
+ Positioned(top: 400, right: -30, child: CommonBlurRightSecond()),
+ Positioned(top: 630, left: -30, child: CommonBlurLeftBlue()),
+ SingleChildScrollView(
+ child: 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),
+
+ // 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: () {
+ 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 2 of 3')),
+ 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: 148.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: Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ text20400white('Find your group'),
+ 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),
+ SearchTextFormField(
+ textEditingController: searchcontroller,
+ texttype: TextInputType.text,
+ hintText: "Search groups",
+ isInputPassword: false,
+ suffixIcon:
+ // 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(),
+ ],
+ ),
+ sizedBoxHeight(30.h),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ GroupSelect(
+ titleString: 'Cambridge university Boat ..',
+ image: 'assets/images/png/groupindividual.png'),
+ GroupSelect(
+ titleString: 'Liverpool FC',
+ image:
+ 'assets/images/png/groupindividual2.png'),
+ ],
+ ),
+ sizedBoxHeight(30.h),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ GroupSelect(
+ titleString: 'Cambridge rugby Club',
+ image:
+ 'assets/images/png/groupindividual3.png'),
+ GroupSelect(
+ titleString: 'Cambridge university Boat ..',
+ image: 'assets/images/png/groupindividual.png'),
+ ],
+ ),
+ Spacer(flex: 1),
+ CustomButton(
+ text: "Continue",
+ onPressed: () {
+ Get.toNamed(RouteName.businessSelectcommunitystep3);
+ })
+ ],
+ ),
+ )),
+ ),
+ ],
+ ));
+ }
+}
+
+class GroupSelect extends StatefulWidget {
+ final String titleString;
+ final String image;
+
+ GroupSelect({
+ Key? key,
+ required this.titleString,
+ required this.image,
+ }) : super(key: key);
+
+ @override
+ State createState() => _GroupSelectState();
+}
+
+class _GroupSelectState extends State {
+ bool _text = false;
+
+ @override
+ Widget build(BuildContext context) {
+ return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
+ Container(
+ width: 169,
+ height: 74,
+ decoration: ShapeDecoration(
+ image: DecorationImage(
+ image: AssetImage(
+ // "https://via.placeholder.com/169x74"
+ widget.image),
+ fit: BoxFit.fill,
+ ),
+ shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5)),
+ ),
+ ),
+ sizedBoxHeight(15.h),
+ text12400white(widget.titleString),
+ sizedBoxHeight(15.h),
+ GestureDetector(
+ onTap: () {
+ setState(() {
+ _text = !_text;
+ });
+ },
+ child: Container(
+ width: 169,
+ height: 23,
+ decoration: ShapeDecoration(
+ shape: RoundedRectangleBorder(
+ side: BorderSide(width: 1, color: Color(0xFFFF002B)),
+ borderRadius: BorderRadius.circular(30),
+ ),
+ ),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ _text ? text10400white('Regrouping') : text10400white('Join')
+ ],
+ ),
+ ),
+ ),
+ ]);
+ }
+}
diff --git a/lib/onboarding/Signup/View/Business/step3SelectCommunity.dart b/lib/onboarding/Signup/View/Business/step3SelectCommunity.dart
new file mode 100644
index 0000000..3ac4dac
--- /dev/null
+++ b/lib/onboarding/Signup/View/Business/step3SelectCommunity.dart
@@ -0,0 +1,313 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:glassmorphism/glassmorphism.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';
+import 'package:regroup/resources/routes/route_name.dart';
+import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
+
+class SelectBusinessCommunity extends StatefulWidget {
+ const SelectBusinessCommunity({super.key});
+
+ @override
+ State createState() =>
+ _SelectBusinessCommunityState();
+}
+
+class _SelectBusinessCommunityState extends State {
+ TextEditingController searchcontroller = TextEditingController();
+ // StreamController blogsController = StreamController();
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color.fromARGB(255, 18, 32, 47),
+ body: Stack(
+ children: [
+ Positioned(top: 70, left: -30, child: CommonBlurLeftSecond()),
+ Positioned(top: 400, right: -30, child: CommonBlurRightSecond()),
+ Positioned(top: 630, left: -30, child: CommonBlurLeftBlue()),
+ SingleChildScrollView(
+ child: 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),
+
+ // 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: () {
+ 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 3 of 3')),
+ 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: 273.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: 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),
+ SearchTextFormField(
+ textEditingController: searchcontroller,
+ texttype: TextInputType.text,
+ hintText: "Search groups",
+ isInputPassword: false,
+ suffixIcon:
+ // 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(),
+ ],
+ ),
+ 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);
+ })
+ ],
+ ),
+ )),
+ ),
+ ],
+ ));
+ }
+}
+
+class CommunitySelect extends StatefulWidget {
+ final String titleString;
+ final String image;
+
+ CommunitySelect({
+ Key? key,
+ required this.titleString,
+ required this.image,
+ }) : super(key: key);
+
+ @override
+ State createState() => _CommunitySelectState();
+}
+
+class _CommunitySelectState extends State {
+ bool _text = false;
+
+ @override
+ Widget build(BuildContext context) {
+ return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
+ Container(
+ width: 169,
+ height: 74,
+ decoration: ShapeDecoration(
+ image: DecorationImage(
+ image: AssetImage(
+ // "https://via.placeholder.com/169x74"
+ widget.image),
+ fit: BoxFit.fill,
+ ),
+ shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5)),
+ ),
+ ),
+ sizedBoxHeight(15.h),
+ text12400white(widget.titleString),
+ sizedBoxHeight(15.h),
+ GestureDetector(
+ onTap: () {
+ setState(() {
+ _text = !_text;
+ });
+ },
+ child: Container(
+ width: 169,
+ height: 23,
+ decoration: ShapeDecoration(
+ shape: RoundedRectangleBorder(
+ side: BorderSide(width: 1, color: Color(0xFFFF002B)),
+ borderRadius: BorderRadius.circular(30),
+ ),
+ ),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ _text ? text10400white('Regrouping') : text10400white('Join')
+ ],
+ ),
+ ),
+ ),
+ ]);
+ }
+}
diff --git a/lib/onboarding/Signup/View/Business/tellusbusiness.dart b/lib/onboarding/Signup/View/Business/tellusbusiness.dart
index c7c0dca..5503541 100644
--- a/lib/onboarding/Signup/View/Business/tellusbusiness.dart
+++ b/lib/onboarding/Signup/View/Business/tellusbusiness.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Utils/Common/CommonDropdown.dart';
import 'package:regroup/Utils/Common/CustomNextButton.dart';
@@ -9,6 +10,7 @@ import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/dialogs.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 TellusaboutBusiness extends StatefulWidget {
@@ -127,7 +129,7 @@ class _TellusaboutBusinessState extends State {
// validatorText: "Enter your business owner name",
validator: (value) {
if (value!.isEmpty) {
- return 'Enter your business owner name ';
+ return 'Enter your business owner name';
}
return null;
},
@@ -211,7 +213,7 @@ class _TellusaboutBusinessState extends State {
text: "Continue",
onPressed: () {
if (_selectedbusinesstype.isNotEmpty) {
- // Get.toNamed(page)
+ Get.toNamed(RouteName.businessletusunderstandstep1);
// Get.to(() => BusinessPage());
} else {
diff --git a/lib/onboarding/Signup/View/Individual/step1Selectprofile.dart b/lib/onboarding/Signup/View/Individual/step1Selectprofile.dart
new file mode 100644
index 0000000..7ea0ecb
--- /dev/null
+++ b/lib/onboarding/Signup/View/Individual/step1Selectprofile.dart
@@ -0,0 +1,271 @@
+import 'package:flutter/material.dart';
+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/Utils/Common/CustomNextButton.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 SelectIndividualProfile extends StatefulWidget {
+ const SelectIndividualProfile({super.key});
+
+ @override
+ State createState() =>
+ _SelectIndividualProfileState();
+}
+
+class _SelectIndividualProfileState extends State {
+ ValueNotifier selectedIndex = ValueNotifier(-1);
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color.fromARGB(255, 18, 32, 47),
+ body: Stack(
+ children: [
+ Positioned(top: 70, left: -30, child: CommonBlurLeftSecond()),
+ Positioned(top: 310, right: -30, child: CommonBlurRightSecond()),
+ Positioned(top: 540, 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),
+
+ // 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: () {
+ 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 1 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: 15,
+ height: 15,
+ 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),
+ ),
+ ),
+ )
+ ],
+ ),
+ ),
+ ),
+ sizedBoxHeight(30.h),
+ Center(child: text20400white('Select your profile type')),
+ 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),
+ ProfileContainer(
+ titleString: "Athlete",
+ contentString:
+ "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.",
+ image: 'assets/images/svg/runningindividual.svg',
+ selectedIndex: selectedIndex,
+ index: 0,
+ ),
+ sizedBoxHeight(20.h),
+ ProfileContainer(
+ titleString: "Coach",
+ contentString:
+ "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.",
+ image: 'assets/images/svg/coachindividual.svg',
+ selectedIndex: selectedIndex,
+ index: 1,
+ ),
+ sizedBoxHeight(20.h),
+ ProfileContainer(
+ titleString: "Social",
+ contentString:
+ "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.",
+ image: 'assets/images/svg/userindividual.svg',
+ selectedIndex: selectedIndex,
+ index: 2,
+ ),
+ Spacer(flex: 1),
+ CustomButton(
+ text: "Continue",
+ onPressed: () {
+ Get.toNamed(RouteName.individualactivitystep2);
+ })
+ ],
+ ),
+ )),
+ ],
+ ));
+ }
+}
+
+class ProfileContainer extends StatefulWidget {
+ final String titleString;
+ final String contentString;
+ final String image;
+ final ValueNotifier selectedIndex;
+ final int index;
+
+ ProfileContainer({
+ Key? key,
+ required this.titleString,
+ required this.contentString,
+ required this.image,
+ required this.selectedIndex,
+ required this.index,
+ }) : super(key: key);
+
+ @override
+ State createState() => _ProfileContainerState();
+}
+
+class _ProfileContainerState extends State {
+ @override
+ Widget build(BuildContext context) {
+ return GestureDetector(
+ onTap: () {
+ // Set the selected ValueNotifier to true when tapped
+ widget.selectedIndex.value = widget.index;
+ },
+ child: ValueListenableBuilder(
+ valueListenable: widget.selectedIndex,
+ builder: (context, selectedIndex, child) {
+ bool isSelected = selectedIndex == widget.index;
+ return Container(
+ width: 358.w,
+ height: 100.h,
+ decoration: BoxDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: isSelected
+ ? [
+ Color(0XFFD90B2E).withOpacity(0.80),
+ Color(0XFFD90B2E).withOpacity(0.77),
+ Color(0XFFD90B2E).withOpacity(0.66),
+ Color(0XFFD90B2E).withOpacity(0.18),
+ ]
+ : [
+ Colors.white.withOpacity(0.06),
+ Colors.white.withOpacity(0.08)
+ ],
+ ),
+ border: Border.all(width: 1, color: Color(0xFF434A53)),
+ borderRadius: BorderRadius.circular(10),
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.start,
+ children: [
+ SvgPicture.asset(widget.image),
+ sizedBoxWidth(10.w),
+ SizedBox(
+ width: 241.w,
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ text16400white(widget.titleString),
+ sizedBoxHeight(3.h),
+ text12400white(widget.contentString)
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ );
+ },
+ ),
+ );
+ }
+}
diff --git a/lib/onboarding/Signup/View/Individual/step2Selectactivity.dart b/lib/onboarding/Signup/View/Individual/step2Selectactivity.dart
new file mode 100644
index 0000000..f4c1c1f
--- /dev/null
+++ b/lib/onboarding/Signup/View/Individual/step2Selectactivity.dart
@@ -0,0 +1,310 @@
+import 'package:flutter/material.dart';
+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/Utils/Common/CustomNextButton.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 SelectIndividualActivity extends StatefulWidget {
+ const SelectIndividualActivity({super.key});
+
+ @override
+ State createState() =>
+ _SelectIndividualActivityState();
+}
+
+class _SelectIndividualActivityState extends State {
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color.fromARGB(255, 18, 32, 47),
+ body: Stack(
+ children: [
+ Positioned(top: 220, left: -30, child: CommonBlurLeftSecond()),
+ 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),
+
+ // 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: () {
+ 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 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,
+ 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(
+ 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(
+ titleString: 'Football',
+ image:
+ 'assets/images/svg/individualact7.svg'),
+ sizedBoxWidth(20.w),
+ ActivityContainer(
+ titleString: 'Rugby',
+ image:
+ 'assets/images/svg/individualact8.svg'),
+ ],
+ ),
+ ],
+ ),
+ Spacer(flex: 1),
+ CustomButton(
+ text: "Continue",
+ onPressed: () {
+ Get.toNamed(RouteName.individualgroupstep3);
+ })
+ ],
+ ),
+ )),
+ ],
+ ));
+ }
+}
+
+class ActivityContainer extends StatefulWidget {
+ final String titleString;
+ final String image;
+
+ ActivityContainer({
+ Key? key,
+ required this.titleString,
+ required this.image,
+ }) : super(key: key);
+
+ @override
+ State createState() => _ActivityContainerState();
+}
+
+class _ActivityContainerState extends State {
+ bool _colorcontainer = false;
+
+ @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),
+ ),
+ ),
+ 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,
+ ),
+ 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
new file mode 100644
index 0000000..27dca77
--- /dev/null
+++ b/lib/onboarding/Signup/View/Individual/step3Selectyourgroup.dart
@@ -0,0 +1,311 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+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/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';
+import 'package:regroup/resources/routes/route_name.dart';
+import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
+
+class SelectIndividualGroup extends StatefulWidget {
+ const SelectIndividualGroup({super.key});
+
+ @override
+ State createState() => _SelectIndividualGroupState();
+}
+
+class _SelectIndividualGroupState extends State {
+ TextEditingController searchcontroller = TextEditingController();
+ // StreamController blogsController = StreamController();
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color.fromARGB(255, 18, 32, 47),
+ body: Stack(
+ children: [
+ Positioned(top: 70, left: -30, child: CommonBlurLeftSecond()),
+ Positioned(top: 400, right: -30, child: CommonBlurRightSecond()),
+ Positioned(top: 630, left: -30, child: CommonBlurLeftBlue()),
+ SingleChildScrollView(
+ child: 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),
+
+ // 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: () {
+ 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 3 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: 178.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: Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ text20400white('Find your group'),
+ 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 groups",
+ 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(),
+ ],
+ ),
+ sizedBoxHeight(30.h),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ GroupSelect(
+ titleString: 'Cambridge university Boat ..',
+ image: 'assets/images/png/groupindividual.png'),
+ GroupSelect(
+ titleString: 'Liverpool FC',
+ image:
+ 'assets/images/png/groupindividual2.png'),
+ ],
+ ),
+ sizedBoxHeight(30.h),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ GroupSelect(
+ titleString: 'Cambridge rugby Club',
+ image:
+ 'assets/images/png/groupindividual3.png'),
+ GroupSelect(
+ titleString: 'Cambridge university Boat ..',
+ image: 'assets/images/png/groupindividual.png'),
+ ],
+ ),
+ Spacer(flex: 1),
+ CustomButton(
+ text: "Continue",
+ onPressed: () {
+ Get.toNamed(RouteName.individualcommunitystep4);
+ })
+ ],
+ ),
+ )),
+ ),
+ ],
+ ));
+ }
+}
+
+class GroupSelect extends StatefulWidget {
+ final String titleString;
+ final String image;
+
+ GroupSelect({
+ Key? key,
+ required this.titleString,
+ required this.image,
+ }) : super(key: key);
+
+ @override
+ State createState() => _GroupSelectState();
+}
+
+class _GroupSelectState extends State {
+ bool _text = false;
+
+ @override
+ Widget build(BuildContext context) {
+ return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
+ Container(
+ width: 169,
+ height: 74,
+ decoration: ShapeDecoration(
+ image: DecorationImage(
+ image: AssetImage(
+ // "https://via.placeholder.com/169x74"
+ widget.image),
+ fit: BoxFit.fill,
+ ),
+ shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5)),
+ ),
+ ),
+ sizedBoxHeight(15.h),
+ text12400white(widget.titleString),
+ sizedBoxHeight(15.h),
+ GestureDetector(
+ onTap: () {
+ setState(() {
+ _text = !_text;
+ });
+ },
+ child: Container(
+ width: 169,
+ height: 23,
+ decoration: ShapeDecoration(
+ shape: RoundedRectangleBorder(
+ side: BorderSide(width: 1, color: Color(0xFFFF002B)),
+ borderRadius: BorderRadius.circular(30),
+ ),
+ ),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ _text ? text10400white('Regrouping') : text10400white('Join')
+ ],
+ ),
+ ),
+ ),
+ ]);
+ }
+}
diff --git a/lib/onboarding/Signup/View/Individual/step4Selectyourcommunity.dart b/lib/onboarding/Signup/View/Individual/step4Selectyourcommunity.dart
new file mode 100644
index 0000000..9fbf8dd
--- /dev/null
+++ b/lib/onboarding/Signup/View/Individual/step4Selectyourcommunity.dart
@@ -0,0 +1,312 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:glassmorphism/glassmorphism.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';
+import 'package:regroup/resources/routes/route_name.dart';
+import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
+
+class SelectIndividualCommunity extends StatefulWidget {
+ const SelectIndividualCommunity({super.key});
+
+ @override
+ State createState() =>
+ _SelectIndividualCommunityState();
+}
+
+class _SelectIndividualCommunityState extends State {
+ TextEditingController searchcontroller = TextEditingController();
+ // StreamController blogsController = StreamController();
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color.fromARGB(255, 18, 32, 47),
+ body: Stack(
+ children: [
+ Positioned(top: 70, left: -30, child: CommonBlurLeftSecond()),
+ Positioned(top: 400, right: -30, child: CommonBlurRightSecond()),
+ Positioned(top: 630, left: -30, child: CommonBlurLeftBlue()),
+ SingleChildScrollView(
+ child: 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),
+
+ // 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: () {
+ 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),
+ ),
+ ),
+ 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,
+ 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(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(),
+ ],
+ ),
+ 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);
+ })
+ ],
+ ),
+ )),
+ ),
+ ],
+ ));
+ }
+}
+
+class CommunitySelect extends StatefulWidget {
+ final String titleString;
+ final String image;
+
+ CommunitySelect({
+ Key? key,
+ required this.titleString,
+ required this.image,
+ }) : super(key: key);
+
+ @override
+ State createState() => _CommunitySelectState();
+}
+
+class _CommunitySelectState extends State {
+ bool _text = false;
+
+ @override
+ Widget build(BuildContext context) {
+ return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
+ Container(
+ width: 169,
+ height: 74,
+ decoration: ShapeDecoration(
+ image: DecorationImage(
+ image: AssetImage(
+ // "https://via.placeholder.com/169x74"
+ widget.image),
+ fit: BoxFit.fill,
+ ),
+ shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5)),
+ ),
+ ),
+ sizedBoxHeight(15.h),
+ text12400white(widget.titleString),
+ sizedBoxHeight(15.h),
+ GestureDetector(
+ onTap: () {
+ setState(() {
+ _text = !_text;
+ });
+ },
+ child: Container(
+ width: 169,
+ height: 23,
+ decoration: ShapeDecoration(
+ shape: RoundedRectangleBorder(
+ side: BorderSide(width: 1, color: Color(0xFFFF002B)),
+ borderRadius: BorderRadius.circular(30),
+ ),
+ ),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ _text ? text10400white('Regrouping') : text10400white('Join')
+ ],
+ ),
+ ),
+ ),
+ ]);
+ }
+}
diff --git a/lib/onboarding/Signup/View/Individual/tellusindividual.dart b/lib/onboarding/Signup/View/Individual/tellusindividual.dart
index 6a391b1..865f0b1 100644
--- a/lib/onboarding/Signup/View/Individual/tellusindividual.dart
+++ b/lib/onboarding/Signup/View/Individual/tellusindividual.dart
@@ -15,6 +15,7 @@ import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/dialogs.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 TellusaboutIndividual extends StatefulWidget {
@@ -407,7 +408,7 @@ class _TellusaboutIndividualState extends State {
text: "Continue",
onPressed: () {
if (_selectedgendertype.isNotEmpty) {
- // Get.toNamed(page)
+ Get.toNamed(RouteName.individualprofilestep1);
// Get.to(() => BusinessPage());
} else {
diff --git a/lib/onboarding/Signup/View/communitycommitment.dart b/lib/onboarding/Signup/View/communitycommitment.dart
new file mode 100644
index 0000000..ba526ce
--- /dev/null
+++ b/lib/onboarding/Signup/View/communitycommitment.dart
@@ -0,0 +1,153 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:glassmorphism/glassmorphism.dart';
+import 'package:regroup/Utils/Common/CustomNextButton.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 Communitycommitment extends StatefulWidget {
+ const Communitycommitment({super.key});
+
+ @override
+ State createState() => _CommunitycommitmentState();
+}
+
+class _CommunitycommitmentState extends State {
+ final ScrollController _scrollController = ScrollController();
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color.fromARGB(255, 18, 32, 47),
+ body: Stack(
+ children: [
+ // Positioned(top: 220, left: -30, child: CommonBlurLeftSecond()),
+ Positioned(top: 230, 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),
+
+ // 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: [
+ // SvgPicture.asset('assets/images/svg/redregroupicon.svg'),
+ Image.asset('assets/images/png/redregroup.png'),
+ sizedBoxHeight(30.h),
+ Container(
+ width: 358.w,
+ height: 519.h,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: [
+ Colors.white.withOpacity(0.05999999865889549),
+ Colors.white.withOpacity(0.07999999821186066)
+ ],
+ ),
+ shape: RoundedRectangleBorder(
+ side: BorderSide(
+ width: 0.80, color: Color(0xFF434A53)),
+ borderRadius: BorderRadius.circular(5),
+ ),
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(
+ horizontal: 16.w, vertical: 0.h),
+ child: Scrollbar(
+ thumbVisibility: true,
+ radius: Radius.circular(20.r),
+ // thickness: 6,
+ controller: _scrollController,
+ child: SingleChildScrollView(
+ controller: _scrollController,
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ sizedBoxHeight(10.h),
+ text16400white('Our community commitment'),
+ sizedBoxHeight(10.h),
+ Container(
+ width: 222.w,
+ decoration: ShapeDecoration(
+ shape: RoundedRectangleBorder(
+ side: BorderSide(
+ width: 1,
+ strokeAlign:
+ BorderSide.strokeAlignCenter,
+ color: Color(0xFF858585),
+ ),
+ ),
+ ),
+ ),
+ sizedBoxHeight(20.h),
+ text20400white(
+ 'Regroup is a community where everyone ca belong'),
+ sizedBoxHeight(15.h),
+ text16400white(
+ '''Lorem ipsum dolor sit amet, consectetur adipis elit. Ut et massa mi. Aliquam in hendrerit urna.\n\nPellentesque sit amet sapien fringilla, mattis ligula consectetur, ultrices mauris. Maecenas vitae mattis tellus. Nullam quis imperdiet augue. Vestibulum auctor ornare leo, non suscipit magna interdum eu. Curabitur pellentesque nibh nibh, at maximus ante fermentum sit amet. Pellentesque commodo lacus at sodales sodales. Quisque sagittis orci ut diam condimentum, vel euismod erat placerat. In iaculis arcu eros, Quisque sagittis orci ut diam condimentum, vel euismod erat placerat. In iaculis arcu eros, Quisque sagittis orci ut diam condimentum, vel euismod erat placerat. '''),
+ sizedBoxHeight(10.h),
+ ],
+ ),
+ ),
+ ),
+ ),
+ ),
+ Spacer(
+ flex: 2,
+ ),
+ CustomButton(
+ text: 'Agree & continue',
+ onPressed: () {
+ Get.toNamed(RouteName.signupendpage);
+ }),
+ sizedBoxHeight(20.h),
+ CustomButton2(
+ text: 'Decline',
+ onPressed: () {
+ Get.offAllNamed(RouteName.loginScreen);
+ })
+ ],
+ ),
+ )),
+ ],
+ ));
+ }
+}
diff --git a/lib/onboarding/Signup/View/signupendpage.dart b/lib/onboarding/Signup/View/signupendpage.dart
new file mode 100644
index 0000000..f456e27
--- /dev/null
+++ b/lib/onboarding/Signup/View/signupendpage.dart
@@ -0,0 +1,117 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:glassmorphism/glassmorphism.dart';
+import 'package:regroup/Utils/Common/CustomNextButton.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 SignupendPage extends StatefulWidget {
+ const SignupendPage({super.key});
+
+ @override
+ State createState() => _SignupendPageState();
+}
+
+class _SignupendPageState extends State {
+ final ScrollController _scrollController = ScrollController();
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ backgroundColor: Color.fromARGB(255, 18, 32, 47),
+ body: Stack(
+ children: [
+ Positioned(top: 100, left: -30, child: CommonBlurLeftSecond()),
+ Positioned(top: 300, right: -30, child: CommonBlurRightSecond()),
+ Positioned(top: 530, left: -30, child: CommonBlurLeftBlue()),
+ Positioned(top: 750, right: 40, child: CommonBlurRightSecond()),
+ 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),
+
+ // 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: Center(
+ child: Container(
+ width: 358.w,
+ height: 519.h,
+ decoration: ShapeDecoration(
+ gradient: LinearGradient(
+ begin: Alignment(0.98, -0.21),
+ end: Alignment(-0.98, 0.21),
+ colors: [
+ Colors.white.withOpacity(0.05999999865889549),
+ Colors.white.withOpacity(0.07999999821186066)
+ ],
+ ),
+ shape: RoundedRectangleBorder(
+ side:
+ BorderSide(width: 0.80, color: Color(0xFF434A53)),
+ borderRadius: BorderRadius.circular(5),
+ ),
+ ),
+ child: Padding(
+ padding: EdgeInsets.symmetric(horizontal: 30.h),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.center,
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Image.asset(
+ 'assets/images/png/regroupredtexticon.png'),
+ sizedBoxHeight(30.h),
+ text25700white('Welcome Edward '),
+ sizedBoxHeight(20.h),
+ // 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.''',
+ textAlign: TextAlign.center,
+ style: TextStyle(
+ color: Color(0xCCFCFCFC),
+ fontSize: 16.sp,
+ fontFamily: 'Helvetica',
+ fontWeight: FontWeight.w400,
+ ),
+ ),
+ sizedBoxHeight(20.h),
+ CustomButton(
+ text: 'Start your journey', onPressed: () {})
+ ],
+ ),
+ )),
+ )),
+ ],
+ ));
+ }
+}
diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart
index a263040..b9ac546 100644
--- a/lib/resources/routes/route_name.dart
+++ b/lib/resources/routes/route_name.dart
@@ -9,6 +9,20 @@ class RouteName {
static const String tellusindividualscreen = '/tellusindividualscreen';
static const String tellusbusinessscreen = '/tellusbusinessscreen';
+ static const String individualprofilestep1 = '/individualprofilestep1';
+ static const String individualactivitystep2 = '/individualactivitystep2';
+ static const String individualgroupstep3 = '/individualgroupstep3';
+ static const String individualcommunitystep4 = '/individualcommunitystep4';
+ static const String communitycommitscreen = '/communitycommitscreen';
+ static const String signupendpage = '/signupendpage';
+
+
+ static const String businessletusunderstandstep1 = '/businessletusunderstand';
+ static const String businessSelectgroupstep2 = '/businessselectgroup';
+ static const String businessSelectcommunitystep3 = '/businessselectcommunity';
+
+
+
static const String communityScreen = '/communityScreen';
static const String mainscreen = '/mainscreen';
static const String sidemenu = '/sidemenu';
diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart
index 72ad9a9..d7f797b 100644
--- a/lib/resources/routes/routes.dart
+++ b/lib/resources/routes/routes.dart
@@ -23,8 +23,17 @@ import 'package:regroup/Feed%20Module/sidemenu/SavedPosts/SavedPosts.dart';
import 'package:regroup/Feed%20Module/sidemenu/sidemenu.dart';
import 'package:regroup/Utils/Common/NoInternet.dart';
+import 'package:regroup/onboarding/Signup/View/Business/step1Letusunderstandbetter.dart';
+import 'package:regroup/onboarding/Signup/View/Business/step2Selectgroup.dart';
+import 'package:regroup/onboarding/Signup/View/Business/step3SelectCommunity.dart';
import 'package:regroup/onboarding/Signup/View/Business/tellusbusiness.dart';
+import 'package:regroup/onboarding/Signup/View/Individual/step1Selectprofile.dart';
+import 'package:regroup/onboarding/Signup/View/Individual/step2Selectactivity.dart';
+import 'package:regroup/onboarding/Signup/View/Individual/step3Selectyourgroup.dart';
+import 'package:regroup/onboarding/Signup/View/Individual/step4Selectyourcommunity.dart';
import 'package:regroup/onboarding/Signup/View/Individual/tellusindividual.dart';
+import 'package:regroup/onboarding/Signup/View/communitycommitment.dart';
+import 'package:regroup/onboarding/Signup/View/signupendpage.dart';
import 'package:regroup/onboarding/Signup/View/signupscreen.dart';
import 'package:regroup/onboarding/Signup/View/verifyuser.dart';
import 'package:regroup/onboarding/onboarding1.dart';
@@ -113,7 +122,46 @@ class AppRoutes {
name: RouteName.group,
page: () => const Group(),
),
- GetPage(
+ GetPage(
+ name: RouteName.individualprofilestep1,
+ page: () => const SelectIndividualProfile(),
+ ),
+ GetPage(
+ name: RouteName.individualactivitystep2,
+ page: () => const SelectIndividualActivity(),
+ ),
+ GetPage(
+ name: RouteName.individualgroupstep3,
+ page: () => const SelectIndividualGroup(),
+ ),
+ GetPage(
+ name: RouteName.individualcommunitystep4,
+ page: () => const SelectIndividualCommunity(),
+ ),
+ GetPage(
+ name: RouteName.communitycommitscreen,
+ page: () => const Communitycommitment(),
+ ),
+ GetPage(
+ name: RouteName.signupendpage,
+ page: () => const SignupendPage(),
+ ),
+ GetPage(
+ name: RouteName.businessletusunderstandstep1,
+ page: () => const LetusUnderstand(),
+ ),
+ GetPage(
+ name: RouteName.businessSelectgroupstep2,
+ page: () => const SelectgroupStep2(),
+ ),
+ GetPage(
+ name: RouteName.businessSelectcommunitystep3,
+ page: () => const SelectBusinessCommunity(),
+ ),
+
+
+
+ GetPage(
name: RouteName.communitysetting,
page: () => const CommunitySetting(),
),
@@ -141,5 +189,6 @@ class AppRoutes {
name: RouteName.managemembers,
page: () => const ManageMembers(),
),
+
];
}