Compare commits
50 Commits
Developmen
...
newchanges
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4ee967cfd6 | ||
|
|
0b7d366d60 | ||
|
|
a93cb7214f | ||
|
|
143912fa1a | ||
|
|
4b0f264d53 | ||
|
|
02405fc097 | ||
|
|
b0040e84b8 | ||
|
|
190c72de1c | ||
|
|
00b2e87126 | ||
|
|
50102b9e7b | ||
|
|
166cf2e257 | ||
|
|
d5c4896fc4 | ||
|
|
39f4e6a6a3 | ||
|
|
d05c4fe467 | ||
|
|
174455ced9 | ||
|
|
57135da8ec | ||
|
|
59a5ca924b | ||
|
|
67df2a802d | ||
|
|
640be1823e | ||
|
|
5271dfe1cb | ||
|
|
9e86590e72 | ||
|
|
3f0514801e | ||
|
|
8365ca11bc | ||
|
|
4abc8103a2 | ||
|
|
089af9df2c | ||
|
|
8d99c7ea2b | ||
|
|
634b1a3bc4 | ||
|
|
725d2cb01d | ||
|
|
79105e3813 | ||
|
|
eeafd92625 | ||
|
|
435cdf0909 | ||
|
|
dcabb4966e | ||
|
|
c5b6a2e536 | ||
|
|
a67bcf9100 | ||
|
|
fc0a71d3c1 | ||
|
|
40ac2bef76 | ||
|
|
e9521c9315 | ||
|
|
417d3e6a63 | ||
|
|
562eec187e | ||
|
|
78c6999f94 | ||
|
|
b9d038b167 | ||
|
|
f46732290b | ||
|
|
abf668e14c | ||
|
|
43f4e2ddfc | ||
|
|
157ce0b4a9 | ||
|
|
4cebac15f6 | ||
|
|
03e2d5c817 | ||
|
|
d3618b1535 | ||
|
|
07f9168053 | ||
|
|
4a72a9c718 |
@@ -19,7 +19,9 @@
|
|||||||
android:label="ReGroup"
|
android:label="ReGroup"
|
||||||
android:requestLegacyExternalStorage="true"
|
android:requestLegacyExternalStorage="true"
|
||||||
android:name="${applicationName}"
|
android:name="${applicationName}"
|
||||||
android:icon="@mipmap/ic_launcher">
|
android:icon="@mipmap/launcher_icon"
|
||||||
|
android:allowBackup="false"
|
||||||
|
android:fullBackupContent="false">
|
||||||
<activity
|
<activity
|
||||||
android:name="com.yalantis.ucrop.UCropActivity"
|
android:name="com.yalantis.ucrop.UCropActivity"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
|
|||||||
BIN
android/app/src/main/res/mipmap-hdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
android/app/src/main/res/mipmap-mdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
assets/images/jpg/AppLogo.jpg
Normal file
|
After Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 467 KiB |
|
Before Width: | Height: | Size: 295 B After Width: | Height: | Size: 613 B |
|
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 1018 B |
|
Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 586 B After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 862 B After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 862 B After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 22 KiB |
@@ -1,9 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:glassmorphism/glassmorphism.dart';
|
|
||||||
import 'package:glassmorphism_ui/glassmorphism_ui.dart';
|
import 'package:glassmorphism_ui/glassmorphism_ui.dart';
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
|
||||||
import 'package:regroup/Common/controller/MainController.dart';
|
import 'package:regroup/Common/controller/MainController.dart';
|
||||||
|
|
||||||
GlassContainer bottomnavigationbar(MainController _mainController) {
|
GlassContainer bottomnavigationbar(MainController _mainController) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// ignore_for_file: prefer_const_constructors
|
// ignore_for_file: prefer_const_constructors
|
||||||
|
|
||||||
import 'dart:ui';
|
|
||||||
|
|
||||||
import 'package:dropdown_button2/dropdown_button2.dart';
|
import 'package:dropdown_button2/dropdown_button2.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -8,7 +8,6 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
|
||||||
|
|
||||||
class CommonDropdownBtn extends StatefulWidget {
|
class CommonDropdownBtn extends StatefulWidget {
|
||||||
CommonDropdownBtn({
|
CommonDropdownBtn({
|
||||||
@@ -107,7 +106,7 @@ class _CommonDropdownBtnState extends State<CommonDropdownBtn> {
|
|||||||
Color(0xFFffffff).withOpacity(0.8),
|
Color(0xFFffffff).withOpacity(0.8),
|
||||||
Color(0xFFFFFFFF).withOpacity(0.8),
|
Color(0xFFFFFFFF).withOpacity(0.8),
|
||||||
],
|
],
|
||||||
stops: [
|
stops: const [
|
||||||
0.1,
|
0.1,
|
||||||
1,
|
1,
|
||||||
]),
|
]),
|
||||||
@@ -245,7 +244,7 @@ class _CommonDropdownradioBtnState extends State<CommonDropdownradioBtn> {
|
|||||||
Color(0xFFffffff).withOpacity(0.8),
|
Color(0xFFffffff).withOpacity(0.8),
|
||||||
Color(0xFFFFFFFF).withOpacity(0.8),
|
Color(0xFFFFFFFF).withOpacity(0.8),
|
||||||
],
|
],
|
||||||
stops: [0.1, 1],
|
stops: const [0.1, 1],
|
||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(30),
|
borderRadius: BorderRadius.circular(30),
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
@@ -589,7 +588,7 @@ class _CommonDropdownCheckboxState extends State<CommonDropdownCheckbox> {
|
|||||||
Color(0xFFffffff).withOpacity(0.8),
|
Color(0xFFffffff).withOpacity(0.8),
|
||||||
Color(0xFFFFFFFF).withOpacity(0.8),
|
Color(0xFFFFFFFF).withOpacity(0.8),
|
||||||
],
|
],
|
||||||
stops: [0.1, 1],
|
stops: const [0.1, 1],
|
||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(30.r),
|
borderRadius: BorderRadius.circular(30.r),
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
|
|||||||
@@ -12,7 +12,10 @@ Widget commonGlassContainer({
|
|||||||
double opacity2 = 0.05,
|
double opacity2 = 0.05,
|
||||||
Color borderColor = const Color(0xff434A53),
|
Color borderColor = const Color(0xff434A53),
|
||||||
}) {
|
}) {
|
||||||
return GlassmorphicContainer(
|
return
|
||||||
|
|
||||||
|
|
||||||
|
GlassmorphicContainer(
|
||||||
width: width,
|
width: width,
|
||||||
height: height,
|
height: height,
|
||||||
borderRadius: borderradius,
|
borderRadius: borderradius,
|
||||||
@@ -23,7 +26,7 @@ Widget commonGlassContainer({
|
|||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0xFFFFFFFF).withOpacity(opacity1),
|
const Color(0xFFFFFFFF).withOpacity(opacity1),
|
||||||
const Color(0xFFFFFFFF).withOpacity(opacity2),
|
const Color(0xFFFFFFFF).withOpacity(opacity2),
|
||||||
],
|
],
|
||||||
stops: const [
|
stops: const [
|
||||||
@@ -61,8 +64,8 @@ Widget commonGlassContainerblue({
|
|||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0xFF009DAB).withOpacity(0.48),
|
const Color(0xFF009DAB).withOpacity(0.48),
|
||||||
Color(0xFF009DAB).withOpacity(0.12),
|
const Color(0xFF009DAB).withOpacity(0.12),
|
||||||
],
|
],
|
||||||
stops: const [
|
stops: const [
|
||||||
0.1,
|
0.1,
|
||||||
@@ -99,8 +102,8 @@ Widget commonGlassUIBlue({
|
|||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0xFF009DAB).withOpacity(0.48),
|
const Color(0xFF009DAB).withOpacity(0.48),
|
||||||
Color(0xFF009DAB).withOpacity(0.12),
|
const Color(0xFF009DAB).withOpacity(0.12),
|
||||||
],
|
],
|
||||||
stops: const [
|
stops: const [
|
||||||
0.1,
|
0.1,
|
||||||
@@ -133,7 +136,7 @@ Widget commonGlassUI({
|
|||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0xFFFFFFFF).withOpacity(opacity1),
|
const Color(0xFFFFFFFF).withOpacity(opacity1),
|
||||||
const Color(0xFFFFFFFF).withOpacity(opacity2),
|
const Color(0xFFFFFFFF).withOpacity(opacity2),
|
||||||
],
|
],
|
||||||
stops: const [
|
stops: const [
|
||||||
@@ -167,7 +170,7 @@ Widget commonContainer({
|
|||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0xFFFFFFFF).withOpacity(opacity1),
|
const Color(0xFFFFFFFF).withOpacity(opacity1),
|
||||||
const Color(0xFFFFFFFF).withOpacity(opacity2),
|
const Color(0xFFFFFFFF).withOpacity(opacity2),
|
||||||
],
|
],
|
||||||
stops: const [
|
stops: const [
|
||||||
|
|||||||
@@ -5,15 +5,16 @@ class CommonTabBar extends StatelessWidget {
|
|||||||
// Set the desired height
|
// Set the desired height
|
||||||
|
|
||||||
final List<Tab> tabs;
|
final List<Tab> tabs;
|
||||||
CommonTabBar({required this.tabs,});
|
const CommonTabBar({super.key, required this.tabs,});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return TabBar(
|
return TabBar(
|
||||||
dividerColor: Color(0xFFFFFFFF).withOpacity(0.07),
|
|
||||||
|
dividerColor: const Color(0xFFFFFFFF).withOpacity(0.07),
|
||||||
labelStyle: TextStyle(
|
labelStyle: TextStyle(
|
||||||
fontSize: 14.sp,
|
fontSize: 14.sp,
|
||||||
color: Color(0xFFFCFCFC),
|
color: const Color(0xFFFCFCFC),
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
fontFamily: 'Helvetica'),
|
fontFamily: 'Helvetica'),
|
||||||
indicatorSize: TabBarIndicatorSize.tab,
|
indicatorSize: TabBarIndicatorSize.tab,
|
||||||
@@ -21,7 +22,7 @@ class CommonTabBar extends StatelessWidget {
|
|||||||
// labelColor: Colors.white,
|
// labelColor: Colors.white,
|
||||||
indicatorWeight: 2.h,
|
indicatorWeight: 2.h,
|
||||||
dividerHeight: 2.h,
|
dividerHeight: 2.h,
|
||||||
unselectedLabelColor: Color(0xFFFCFCFC),
|
unselectedLabelColor: const Color(0xFFFCFCFC),
|
||||||
overlayColor: MaterialStateProperty.all(const Color(0xFFD90B2E)),
|
overlayColor: MaterialStateProperty.all(const Color(0xFFD90B2E)),
|
||||||
tabs: tabs);
|
tabs: tabs);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
|
||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||||
|
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
@@ -78,13 +77,13 @@ Widget MessageTextInputField(
|
|||||||
labelStyle: const TextStyle(color: Colors.black),
|
labelStyle: const TextStyle(color: Colors.black),
|
||||||
errorStyle: TextStyle(
|
errorStyle: TextStyle(
|
||||||
fontSize: 13.sp,
|
fontSize: 13.sp,
|
||||||
color: Color.fromARGB(255, 245, 130, 122),
|
color: const Color.fromARGB(255, 245, 130, 122),
|
||||||
),
|
),
|
||||||
contentPadding: const EdgeInsets.symmetric(
|
contentPadding: const EdgeInsets.symmetric(
|
||||||
vertical: 12.0,
|
vertical: 12.0,
|
||||||
horizontal: 16), //<-- Adjust the vertical padding as needed
|
horizontal: 16), //<-- Adjust the vertical padding as needed
|
||||||
filled: true,
|
filled: true,
|
||||||
fillColor: Color(0xFFFFF3E4),
|
fillColor: const Color(0xFFFFF3E4),
|
||||||
border: OutlineInputBorder(
|
border: OutlineInputBorder(
|
||||||
borderRadius: BorderRadius.circular(5),
|
borderRadius: BorderRadius.circular(5),
|
||||||
borderSide: const BorderSide(color: Color(0xFFE8C69F80), width: 1),
|
borderSide: const BorderSide(color: Color(0xFFE8C69F80), width: 1),
|
||||||
@@ -124,7 +123,7 @@ Widget commonDivider() {
|
|||||||
return Container(
|
return Container(
|
||||||
height: 1.5.h,
|
height: 1.5.h,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
@@ -154,7 +153,7 @@ Future<void> datePicker(
|
|||||||
onSecondary: Colors.white),
|
onSecondary: Colors.white),
|
||||||
textButtonTheme: TextButtonThemeData(
|
textButtonTheme: TextButtonThemeData(
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
foregroundColor: Color(0xFFD90B2E),
|
foregroundColor: const Color(0xFFD90B2E),
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
final DateTime? picked = await showDatePicker(
|
final DateTime? picked = await showDatePicker(
|
||||||
@@ -171,7 +170,7 @@ Future<void> datePicker(
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (picked != null) {
|
if (picked != null) {
|
||||||
controller.text = DateFormat('dd-MM-yyyy').format(picked);
|
controller.text = DateFormat('yyyy-MM-dd').format(picked);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,11 +185,11 @@ Future<TimeOfDay?> showCustomTimePicker(BuildContext context,
|
|||||||
onSurface: Colors.white,
|
onSurface: Colors.white,
|
||||||
),
|
),
|
||||||
textTheme: Theme.of(context).textTheme.copyWith(
|
textTheme: Theme.of(context).textTheme.copyWith(
|
||||||
headline6: TextStyle(color: Colors.blue), // Change the title color
|
titleLarge: const TextStyle(color: Colors.blue), // Change the title color
|
||||||
),
|
),
|
||||||
textButtonTheme: TextButtonThemeData(
|
textButtonTheme: TextButtonThemeData(
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
foregroundColor: Color(0xFFD90B2E),
|
foregroundColor: const Color(0xFFD90B2E),
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
return showTimePicker(
|
return showTimePicker(
|
||||||
@@ -219,13 +218,13 @@ Widget stackContainers({
|
|||||||
width: 30,
|
width: 30,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
color: Color(0xFFD90B2E),
|
color: const Color(0xFFD90B2E),
|
||||||
border: Border.all(color: Color(0xFF2C3742), width: 1),
|
border: Border.all(color: const Color(0xFF2C3742), width: 1),
|
||||||
),
|
),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Text(
|
child: Text(
|
||||||
number,
|
number,
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
fontSize: 8,
|
fontSize: 8,
|
||||||
@@ -248,7 +247,7 @@ Widget stackContainers({
|
|||||||
width: 30,
|
width: 30,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
border: Border.all(color: Color(0xFF2C3742), width: 1),
|
border: Border.all(color: const Color(0xFF2C3742), width: 1),
|
||||||
),
|
),
|
||||||
child: CircleAvatar(
|
child: CircleAvatar(
|
||||||
foregroundImage: AssetImage(containerImages[index]),
|
foregroundImage: AssetImage(containerImages[index]),
|
||||||
@@ -265,6 +264,73 @@ Widget stackContainers({
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget stackContainersGroups({
|
||||||
|
required String number,
|
||||||
|
required List<String> containerImages,
|
||||||
|
}) {
|
||||||
|
// Define the maximum number of images to display
|
||||||
|
const maxImagesToShow = 3;
|
||||||
|
|
||||||
|
// Calculate the number of images to show and the remaining count
|
||||||
|
final remainingCount = containerImages.length - maxImagesToShow;
|
||||||
|
final imagesToShow = containerImages.take(maxImagesToShow).toList();
|
||||||
|
|
||||||
|
return Row(
|
||||||
|
children: [
|
||||||
|
Stack(
|
||||||
|
clipBehavior: Clip.none,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
height: 30,
|
||||||
|
width: 30,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
color: const Color(0xFFD90B2E),
|
||||||
|
border: Border.all(color: const Color(0xFF2C3742), width: 1),
|
||||||
|
),
|
||||||
|
child: Center(
|
||||||
|
child: Text(
|
||||||
|
remainingCount > 0 ? '+$remainingCount' : '',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontWeight: FontWeight.w400,
|
||||||
|
fontSize: 8,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Positioned(
|
||||||
|
left: 22.w,
|
||||||
|
child: SizedBox(
|
||||||
|
height: 30,
|
||||||
|
width: 30 * maxImagesToShow.toDouble(),
|
||||||
|
child: Stack(
|
||||||
|
clipBehavior: Clip.none,
|
||||||
|
children: List.generate(imagesToShow.length, (index) {
|
||||||
|
return Positioned(
|
||||||
|
left: index * 22.0,
|
||||||
|
child: Container(
|
||||||
|
height: 30,
|
||||||
|
width: 30,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
border: Border.all(color: const Color(0xFF2C3742), width: 1),
|
||||||
|
),
|
||||||
|
child: CircleAvatar(
|
||||||
|
backgroundImage: NetworkImage(imagesToShow[index]),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
Widget stackContainers2({
|
Widget stackContainers2({
|
||||||
required List<String> containerImages,
|
required List<String> containerImages,
|
||||||
}) {
|
}) {
|
||||||
@@ -284,7 +350,7 @@ Widget stackContainers2({
|
|||||||
width: 40,
|
width: 40,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
border: Border.all(color: Color(0xFF2C3742), width: 1),
|
border: Border.all(color: const Color(0xFF2C3742), width: 1),
|
||||||
),
|
),
|
||||||
child: CircleAvatar(
|
child: CircleAvatar(
|
||||||
foregroundImage: AssetImage(containerImages[index]),
|
foregroundImage: AssetImage(containerImages[index]),
|
||||||
@@ -321,7 +387,7 @@ Widget stackReaction({
|
|||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0xFFFFFFFF).withOpacity(0.1),
|
const Color(0xFFFFFFFF).withOpacity(0.1),
|
||||||
const Color(0xFFFFFFFF).withOpacity(0.06),
|
const Color(0xFFFFFFFF).withOpacity(0.06),
|
||||||
],
|
],
|
||||||
stops: const [
|
stops: const [
|
||||||
@@ -329,7 +395,7 @@ Widget stackReaction({
|
|||||||
1,
|
1,
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
border: Border.all(color: Color(0xFF1E3A46), width: 1.71)),
|
border: Border.all(color: const Color(0xFF1E3A46), width: 1.71)),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
containerImages[index],
|
containerImages[index],
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ class ApiUrls {
|
|||||||
|
|
||||||
static const getuserdetails = "${baseUrl}get-auth-user-data";
|
static const getuserdetails = "${baseUrl}get-auth-user-data";
|
||||||
|
|
||||||
|
|
||||||
static const getfaqs = "${baseUrl}fetch-faqs";
|
static const getfaqs = "${baseUrl}fetch-faqs";
|
||||||
|
|
||||||
static const getprivacypolicy = "${baseUrl}fetch-privacy-policy";
|
static const getprivacypolicy = "${baseUrl}fetch-privacy-policy";
|
||||||
@@ -59,7 +58,33 @@ class ApiUrls {
|
|||||||
|
|
||||||
static const postchangepassverify = "${baseUrl}verify-update-password-otp";
|
static const postchangepassverify = "${baseUrl}verify-update-password-otp";
|
||||||
|
|
||||||
|
static const gettimelineabilitylist = "${baseUrl}list-of-abilities";
|
||||||
|
|
||||||
|
static const posttimeline = "${baseUrl}create-timeline";
|
||||||
|
|
||||||
|
static const postaccountvisibility = "${baseUrl}account-visibility";
|
||||||
|
|
||||||
|
static const postdeleteaccount = "${baseUrl}delete-my-account";
|
||||||
|
|
||||||
|
static const postlogoutaccount = "${baseUrl}logout";
|
||||||
|
|
||||||
|
static const getedittimeline = "${baseUrl}get-timeline-data";
|
||||||
|
|
||||||
|
static const postedittimeline = "${baseUrl}update-timeline";
|
||||||
|
|
||||||
|
static const postremovetimeline = "${baseUrl}delete-timeline";
|
||||||
|
|
||||||
|
static const postremovecertification = "${baseUrl}delete-certification";
|
||||||
|
|
||||||
|
static const postcertification = "${baseUrl}store-certification";
|
||||||
|
|
||||||
|
static const getaccountsessions = "${baseUrl}get-account-session";
|
||||||
|
|
||||||
|
static const postuserdevice = "${baseUrl}store-account-session";
|
||||||
|
|
||||||
|
static const getmyjoinedgroups = "${baseUrl}my-joined-groups";
|
||||||
|
|
||||||
|
static const getusercertificates = "${baseUrl}my-certificates";
|
||||||
|
|
||||||
static const postnotification = "${baseUrl}update-notification-settings";
|
static const postnotification = "${baseUrl}update-notification-settings";
|
||||||
static const getnotification = "${baseUrl}fetch-notification-settings";
|
static const getnotification = "${baseUrl}fetch-notification-settings";
|
||||||
@@ -67,15 +92,24 @@ class ApiUrls {
|
|||||||
static const getblockuser = "${baseUrl}fetch-blocked-profile";
|
static const getblockuser = "${baseUrl}fetch-blocked-profile";
|
||||||
static const postblockuser = "${baseUrl}block-profile";
|
static const postblockuser = "${baseUrl}block-profile";
|
||||||
|
|
||||||
|
|
||||||
// Individual
|
// Individual
|
||||||
static const posteditprofile = "${baseUrl}update-profile";
|
static const posteditprofile = "${baseUrl}update-profile";
|
||||||
static const geteditprofile = "${baseUrl}fetch-profile";
|
static const geteditprofile = "${baseUrl}fetch-profile";
|
||||||
|
static const getinterestlist = "${baseUrl}fetch-interests";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Business
|
// Business
|
||||||
static const posteditprofilebusiness = "${baseUrl}update-business-profile";
|
static const posteditprofilebusiness = "${baseUrl}update-business-profile";
|
||||||
static const geteditprofilebusiness = "${baseUrl}fetch-business-profile";
|
static const geteditprofilebusiness = "${baseUrl}fetch-business-profile";
|
||||||
|
|
||||||
|
//Guest
|
||||||
|
|
||||||
|
static const getGuestProfileInd =
|
||||||
|
"${baseUrl}get-guest-view-of-individual-user-profile";
|
||||||
|
static const getGuestProfileBus =
|
||||||
|
"${baseUrl}get-guest-view-of-business-user-profile";
|
||||||
|
|
||||||
|
static const getGuestfollowers = "${baseUrl}get-guest-user-followers";
|
||||||
|
static const getGuestfollowing = "${baseUrl}get-guest-user-following";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,10 +9,8 @@ import 'package:regroup/Common/CommonDropDown.dart';
|
|||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.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/CustomTextformfield.dart';
|
||||||
import 'package:regroup/Utils/Common/ImageUpload.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -33,8 +31,8 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
TextEditingController dateController = TextEditingController();
|
TextEditingController dateController = TextEditingController();
|
||||||
TextEditingController dateController2 = TextEditingController();
|
TextEditingController dateController2 = TextEditingController();
|
||||||
|
|
||||||
TimeOfDay? starttime = TimeOfDay(hour: 15, minute: 0);
|
TimeOfDay? starttime = const TimeOfDay(hour: 15, minute: 0);
|
||||||
TimeOfDay? endtime = TimeOfDay(hour: 15, minute: 0);
|
TimeOfDay? endtime = const TimeOfDay(hour: 15, minute: 0);
|
||||||
|
|
||||||
String formatTimeOfDay(TimeOfDay time) {
|
String formatTimeOfDay(TimeOfDay time) {
|
||||||
final now = DateTime.now();
|
final now = DateTime.now();
|
||||||
@@ -48,10 +46,10 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "",
|
titleTxt: "",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
@@ -69,7 +67,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
text16400white("Event Title"),
|
text16400white("Event Title"),
|
||||||
sizedBoxHeight(14.h),
|
sizedBoxHeight(14.h),
|
||||||
CustomTextFormField(
|
CustomTextFormField(
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 22.h,
|
height: 22.h,
|
||||||
width: 18.w,
|
width: 18.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -101,10 +99,10 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
},
|
},
|
||||||
child: DottedBorder(
|
child: DottedBorder(
|
||||||
strokeWidth: 1,
|
strokeWidth: 1,
|
||||||
dashPattern: [7, 4],
|
dashPattern: const [7, 4],
|
||||||
borderType: BorderType.RRect,
|
borderType: BorderType.RRect,
|
||||||
radius: Radius.circular(14.r),
|
radius: Radius.circular(14.r),
|
||||||
color: Color(0xFF434A53),
|
color: const Color(0xFF434A53),
|
||||||
child: commonGlassContainer(
|
child: commonGlassContainer(
|
||||||
border: 0,
|
border: 0,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
@@ -130,12 +128,12 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
width: 27,
|
width: 27,
|
||||||
height: 27,
|
height: 27,
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
color: Color(0xFF7E7E7E),
|
color: const Color(0xFF7E7E7E),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(5)),
|
BorderRadius.circular(5)),
|
||||||
),
|
),
|
||||||
child: Icon(
|
child: const Icon(
|
||||||
Icons.delete_outline_outlined,
|
Icons.delete_outline_outlined,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
))),
|
))),
|
||||||
@@ -190,7 +188,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
text12w400_FCFCFC_blur("10 kb")
|
text12w400_FCFCFC_blur("10 kb")
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/cancelicon.png',
|
'assets/images/png/cancelicon.png',
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
@@ -205,8 +203,8 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
sizedBoxHeight(14.h),
|
sizedBoxHeight(14.h),
|
||||||
CommonDropdownBtn(
|
CommonDropdownBtn(
|
||||||
hint: 'Race',
|
hint: 'Race',
|
||||||
items: [],
|
items: const ['', ''],
|
||||||
leadingImage: Container(
|
leadingImage: SizedBox(
|
||||||
height: 22.h,
|
height: 22.h,
|
||||||
width: 18.w,
|
width: 18.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -221,8 +219,8 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
sizedBoxHeight(14.h),
|
sizedBoxHeight(14.h),
|
||||||
CommonDropdownBtn(
|
CommonDropdownBtn(
|
||||||
hint: 'Cycling',
|
hint: 'Cycling',
|
||||||
items: [],
|
items: const [],
|
||||||
leadingImage: Container(
|
leadingImage: SizedBox(
|
||||||
height: 22.h,
|
height: 22.h,
|
||||||
width: 18.w,
|
width: 18.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -250,7 +248,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
child: CustomTextFormField(
|
child: CustomTextFormField(
|
||||||
textEditingController: dateController,
|
textEditingController: dateController,
|
||||||
hintText: "1-4-2024",
|
hintText: "1-4-2024",
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 20.w,
|
width: 20.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -281,7 +279,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
child: CustomTextFormField(
|
child: CustomTextFormField(
|
||||||
textEditingController: dateController2,
|
textEditingController: dateController2,
|
||||||
hintText: "4-4-2024",
|
hintText: "4-4-2024",
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 20.w,
|
width: 20.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -336,7 +334,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@@ -390,7 +388,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
customWidget: Transform.scale(
|
customWidget: Transform.scale(
|
||||||
scale: 1.4,
|
scale: 1.4,
|
||||||
child: Checkbox(
|
child: Checkbox(
|
||||||
side: BorderSide(color: Color(0xFF434A53)),
|
side: const BorderSide(color: Color(0xFF434A53)),
|
||||||
value: isChecked.value,
|
value: isChecked.value,
|
||||||
activeColor: Colors.transparent,
|
activeColor: Colors.transparent,
|
||||||
checkColor: Colors.white,
|
checkColor: Colors.white,
|
||||||
@@ -410,8 +408,8 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
sizedBoxHeight(14.h),
|
sizedBoxHeight(14.h),
|
||||||
CommonDropdownBtn(
|
CommonDropdownBtn(
|
||||||
hint: '',
|
hint: '',
|
||||||
items: [],
|
items: const [],
|
||||||
leadingImage: Container(
|
leadingImage: SizedBox(
|
||||||
height: 22.h,
|
height: 22.h,
|
||||||
width: 28.w,
|
width: 28.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -426,7 +424,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.addUsers);
|
Get.toNamed(RouteName.addUsers);
|
||||||
},
|
},
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 22.h,
|
height: 22.h,
|
||||||
width: 18.w,
|
width: 18.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -440,7 +438,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
),
|
),
|
||||||
hintText: "",
|
hintText: "",
|
||||||
suffixIcon:
|
suffixIcon:
|
||||||
Icon(Icons.arrow_forward, color: Color(0xFFFFFFFF)),
|
const Icon(Icons.arrow_forward, color: Color(0xFFFFFFFF)),
|
||||||
),
|
),
|
||||||
sizedBoxHeight(20.h),
|
sizedBoxHeight(20.h),
|
||||||
containerWidget(
|
containerWidget(
|
||||||
@@ -458,7 +456,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
text16400white("Location"),
|
text16400white("Location"),
|
||||||
sizedBoxHeight(14.h),
|
sizedBoxHeight(14.h),
|
||||||
CustomTextFormField(
|
CustomTextFormField(
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 19.h,
|
height: 19.h,
|
||||||
width: 15.w,
|
width: 15.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -495,7 +493,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
children: [
|
children: [
|
||||||
text16400white("Minutes"),
|
text16400white("Minutes"),
|
||||||
sizedBoxWidth(5.w),
|
sizedBoxWidth(5.w),
|
||||||
Icon(
|
const Icon(
|
||||||
Icons.keyboard_arrow_down,
|
Icons.keyboard_arrow_down,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
)
|
)
|
||||||
@@ -532,7 +530,7 @@ class _AddEventState extends State<AddEvent> {
|
|||||||
),
|
),
|
||||||
sizedBoxWidth(8.w),
|
sizedBoxWidth(8.w),
|
||||||
text16400white(title),
|
text16400white(title),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/cancelicon.png",
|
"assets/images/png/cancelicon.png",
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
|
|||||||
@@ -64,21 +64,22 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Add users",
|
titleTxt: "Add users",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
Container(
|
Container(
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
||||||
fit: BoxFit.fill)),
|
fit: BoxFit.fill)),
|
||||||
), SingleChildScrollView(
|
),
|
||||||
child: Column(
|
SingleChildScrollView(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
child: Column(
|
||||||
children: [
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
sizedBoxHeight(10.h),
|
sizedBoxHeight(10.h),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
@@ -102,7 +103,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
length: 3,
|
length: 3,
|
||||||
// initialIndex: selectedIndex.value,
|
// initialIndex: selectedIndex.value,
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
CommonTabBar(tabs: const [
|
const CommonTabBar(tabs: [
|
||||||
Tab(
|
Tab(
|
||||||
text: 'Group',
|
text: 'Group',
|
||||||
),
|
),
|
||||||
@@ -117,9 +118,9 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
height: 600.h,
|
height: 600.h,
|
||||||
child: TabBarView(
|
child: TabBarView(
|
||||||
children: [
|
children: [
|
||||||
GroupTab(),
|
groupTab(),
|
||||||
SubgroupTab(),
|
subgroupTab(),
|
||||||
FollowersTab(),
|
followersTab(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -128,7 +129,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget GroupTab() {
|
Widget groupTab() {
|
||||||
return Column(
|
return Column(
|
||||||
children: [
|
children: [
|
||||||
sizedBoxHeight(30.h),
|
sizedBoxHeight(30.h),
|
||||||
@@ -137,7 +138,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
text18w700_FCFCFC("Group members"),
|
text18w700_FCFCFC("Group members"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
width: 35.w,
|
width: 35.w,
|
||||||
height: 35.h,
|
height: 35.h,
|
||||||
@@ -236,7 +237,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
text12w400_FCFCFC_blur(subtitle),
|
text12w400_FCFCFC_blur(subtitle),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
border: 1,
|
border: 1,
|
||||||
borderradius: 2,
|
borderradius: 2,
|
||||||
@@ -247,7 +248,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
customWidget: Transform.scale(
|
customWidget: Transform.scale(
|
||||||
scale: 1.4,
|
scale: 1.4,
|
||||||
child: Checkbox(
|
child: Checkbox(
|
||||||
side: BorderSide(color: Color(0xFF434A53)),
|
side: const BorderSide(color: Color(0xFF434A53)),
|
||||||
value: isChecked,
|
value: isChecked,
|
||||||
activeColor: Colors.transparent,
|
activeColor: Colors.transparent,
|
||||||
checkColor: Colors.white,
|
checkColor: Colors.white,
|
||||||
@@ -270,7 +271,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
Container(
|
Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(10.r),
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
color: Color(0xFF222935)),
|
color: const Color(0xFF222935)),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 20.h),
|
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 20.h),
|
||||||
child: Column(
|
child: Column(
|
||||||
@@ -306,7 +307,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
opacity2: 0.24,
|
opacity2: 0.24,
|
||||||
customWidget: Center(child: text16w400_FCFCFC("W")),
|
customWidget: Center(child: text16w400_FCFCFC("W")),
|
||||||
border: 0.5),
|
border: 0.5),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Image.asset(
|
Image.asset(
|
||||||
@@ -351,7 +352,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
opacity2: 0.24,
|
opacity2: 0.24,
|
||||||
customWidget: Center(child: text16w400_FCFCFC("Sa")),
|
customWidget: Center(child: text16w400_FCFCFC("Sa")),
|
||||||
border: 0.5),
|
border: 0.5),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Image.asset(
|
Image.asset(
|
||||||
@@ -379,7 +380,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0xFFD90B2E).withOpacity(0.18),
|
const Color(0xFFD90B2E).withOpacity(0.18),
|
||||||
const Color(0xFFD90B2E).withOpacity(0.4),
|
const Color(0xFFD90B2E).withOpacity(0.4),
|
||||||
],
|
],
|
||||||
stops: const [
|
stops: const [
|
||||||
@@ -387,7 +388,7 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
1,
|
1,
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
borderGradient: LinearGradient(
|
borderGradient: const LinearGradient(
|
||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
@@ -411,14 +412,14 @@ class _AddUsersState extends State<AddUsers> {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget SubgroupTab() {
|
Widget subgroupTab() {
|
||||||
return Column(
|
return const Column(
|
||||||
children: [],
|
children: [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget FollowersTab() {
|
Widget followersTab() {
|
||||||
return Column(
|
return const Column(
|
||||||
children: [],
|
children: [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
|
||||||
import 'package:syncfusion_flutter_calendar/calendar.dart';
|
import 'package:syncfusion_flutter_calendar/calendar.dart';
|
||||||
|
|
||||||
class Availability extends StatefulWidget {
|
class Availability extends StatefulWidget {
|
||||||
@@ -29,13 +28,13 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
endTime: DateTime(2024, 6, 26, 10, 30),
|
endTime: DateTime(2024, 6, 26, 10, 30),
|
||||||
subject: 'Development Meeting',
|
subject: 'Development Meeting',
|
||||||
resourceIds: [4],
|
resourceIds: [4],
|
||||||
color: Color(0XFFFC571D)),
|
color: const Color(0XFFFC571D)),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime(2024, 6, 26, 18, 0),
|
startTime: DateTime(2024, 6, 26, 18, 0),
|
||||||
endTime: DateTime(2024, 6, 26, 18, 30),
|
endTime: DateTime(2024, 6, 26, 18, 30),
|
||||||
subject: 'GeneralMeeting',
|
subject: 'GeneralMeeting',
|
||||||
resourceIds: [2],
|
resourceIds: [2],
|
||||||
color: Color(0xFF8B1FA9)),
|
color: const Color(0xFF8B1FA9)),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime(2024, 6, 28, 9, 0),
|
startTime: DateTime(2024, 6, 28, 9, 0),
|
||||||
endTime: DateTime(2024, 6, 28, 10, 30),
|
endTime: DateTime(2024, 6, 28, 10, 30),
|
||||||
@@ -50,13 +49,13 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
),
|
),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime.now(),
|
startTime: DateTime.now(),
|
||||||
endTime: DateTime.now().add(Duration(hours: 3)),
|
endTime: DateTime.now().add(const Duration(hours: 3)),
|
||||||
subject: 'Match day',
|
subject: 'Match day',
|
||||||
resourceIds: [3],
|
resourceIds: [3],
|
||||||
),
|
),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime.now(),
|
startTime: DateTime.now(),
|
||||||
endTime: DateTime.now().add(Duration(hours: 3)),
|
endTime: DateTime.now().add(const Duration(hours: 3)),
|
||||||
subject: 'Muharram/Ashura',
|
subject: 'Muharram/Ashura',
|
||||||
resourceIds: [3],
|
resourceIds: [3],
|
||||||
),
|
),
|
||||||
@@ -64,37 +63,37 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
_employeeCollection = <CalendarResource>[
|
_employeeCollection = <CalendarResource>[
|
||||||
CalendarResource(
|
CalendarResource(
|
||||||
id: 1,
|
id: 1,
|
||||||
image: AssetImage("assets/images/png/cimg1.png"),
|
image: const AssetImage("assets/images/png/cimg1.png"),
|
||||||
displayName: 'Kaylly Vaccaro',
|
displayName: 'Kaylly Vaccaro',
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
CalendarResource(
|
CalendarResource(
|
||||||
id: 2,
|
id: 2,
|
||||||
image: AssetImage("assets/images/png/cimg2.png"),
|
image: const AssetImage("assets/images/png/cimg2.png"),
|
||||||
displayName: 'Ryan Dorwart',
|
displayName: 'Ryan Dorwart',
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
CalendarResource(
|
CalendarResource(
|
||||||
id: 3,
|
id: 3,
|
||||||
image: AssetImage("assets/images/png/cimg3.png"),
|
image: const AssetImage("assets/images/png/cimg3.png"),
|
||||||
displayName: 'Ahmad Rhiel',
|
displayName: 'Ahmad Rhiel',
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
CalendarResource(
|
CalendarResource(
|
||||||
id: 4,
|
id: 4,
|
||||||
image: AssetImage("assets/images/png/cimg3.png"),
|
image: const AssetImage("assets/images/png/cimg3.png"),
|
||||||
displayName: 'Ahmad Rhiel',
|
displayName: 'Ahmad Rhiel',
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
CalendarResource(
|
CalendarResource(
|
||||||
id: 5,
|
id: 5,
|
||||||
image: AssetImage("assets/images/png/Ellipse 52.png"),
|
image: const AssetImage("assets/images/png/Ellipse 52.png"),
|
||||||
displayName: 'Ahmad Rhiel',
|
displayName: 'Ahmad Rhiel',
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
CalendarResource(
|
CalendarResource(
|
||||||
id: 6,
|
id: 6,
|
||||||
image: AssetImage("assets/images/png/Ellipse 48.png"),
|
image: const AssetImage("assets/images/png/Ellipse 48.png"),
|
||||||
displayName: 'Ahmad Rhiel',
|
displayName: 'Ahmad Rhiel',
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
@@ -105,10 +104,10 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Availability",
|
titleTxt: "Availability",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
@@ -129,16 +128,16 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
border: 0,
|
border: 0,
|
||||||
customWidget: SfCalendar(
|
customWidget: SfCalendar(
|
||||||
view: CalendarView.timelineMonth,
|
view: CalendarView.timelineMonth,
|
||||||
appointmentTextStyle: TextStyle(color: Colors.white),
|
appointmentTextStyle: const TextStyle(color: Colors.white),
|
||||||
headerStyle: CalendarHeaderStyle(
|
headerStyle: const CalendarHeaderStyle(
|
||||||
textStyle: TextStyle(
|
textStyle: TextStyle(
|
||||||
color: Colors.blue,
|
color: Colors.blue,
|
||||||
)),
|
)),
|
||||||
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
|
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
|
||||||
|
|
||||||
weekNumberStyle: WeekNumberStyle(
|
weekNumberStyle: const WeekNumberStyle(
|
||||||
textStyle: TextStyle(color: Colors.white)),
|
textStyle: TextStyle(color: Colors.white)),
|
||||||
viewHeaderStyle: ViewHeaderStyle(
|
viewHeaderStyle: const ViewHeaderStyle(
|
||||||
// backgroundColor: Colors.amber,
|
// backgroundColor: Colors.amber,
|
||||||
dateTextStyle: TextStyle(color: Colors.white),
|
dateTextStyle: TextStyle(color: Colors.white),
|
||||||
dayTextStyle: TextStyle(
|
dayTextStyle: TextStyle(
|
||||||
@@ -150,18 +149,18 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
// firstDayOfWeek: 3,
|
// firstDayOfWeek: 3,
|
||||||
cellBorderColor: Colors.white,
|
cellBorderColor: Colors.white,
|
||||||
todayHighlightColor: Color(0xFFD90B2E),
|
todayHighlightColor: const Color(0xFFD90B2E),
|
||||||
todayTextStyle: const TextStyle(color: Colors.white),
|
todayTextStyle: const TextStyle(color: Colors.white),
|
||||||
controller: _calendarController,
|
controller: _calendarController,
|
||||||
showNavigationArrow: true,
|
showNavigationArrow: true,
|
||||||
allowViewNavigation: true,
|
allowViewNavigation: true,
|
||||||
showDatePickerButton: true,
|
showDatePickerButton: true,
|
||||||
monthViewSettings: MonthViewSettings(
|
monthViewSettings: const MonthViewSettings(
|
||||||
navigationDirection:
|
navigationDirection:
|
||||||
MonthNavigationDirection.horizontal,
|
MonthNavigationDirection.horizontal,
|
||||||
),
|
),
|
||||||
allowDragAndDrop: true,
|
allowDragAndDrop: true,
|
||||||
allowedViews: [
|
allowedViews: const [
|
||||||
// CalendarView.month,
|
// CalendarView.month,
|
||||||
// CalendarView.day,
|
// CalendarView.day,
|
||||||
// CalendarView.schedule,
|
// CalendarView.schedule,
|
||||||
@@ -175,7 +174,7 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
onTap: calendarTapped,
|
onTap: calendarTapped,
|
||||||
timeSlotViewSettings: TimeSlotViewSettings(
|
timeSlotViewSettings: TimeSlotViewSettings(
|
||||||
// minimumAppointmentDuration: Duration(hours: 5),
|
// minimumAppointmentDuration: Duration(hours: 5),
|
||||||
timeTextStyle: TextStyle(
|
timeTextStyle: const TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
timelineAppointmentHeight: 60.h,
|
timelineAppointmentHeight: 60.h,
|
||||||
@@ -186,20 +185,20 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
),
|
),
|
||||||
monthCellBuilder: (context, details) {
|
monthCellBuilder: (context, details) {
|
||||||
return Container(
|
return Container(
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Text(
|
child: Text(
|
||||||
details.date.day.toString(),
|
details.date.day.toString(),
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
color:
|
color:
|
||||||
Colors.white), // Set text color to white
|
Colors.white), // Set text color to white
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
resourceViewSettings: ResourceViewSettings(
|
resourceViewSettings: const ResourceViewSettings(
|
||||||
displayNameTextStyle:
|
displayNameTextStyle:
|
||||||
TextStyle(color: Colors.white, fontSize: 10),
|
TextStyle(color: Colors.white, fontSize: 10),
|
||||||
showAvatar: true,
|
showAvatar: true,
|
||||||
@@ -244,7 +243,7 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: Text('Event Details'),
|
title: const Text('Event Details'),
|
||||||
content: Column(
|
content: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
@@ -255,7 +254,7 @@ class _AvailabilityState extends State<Availability> {
|
|||||||
),
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
child: Text('Close'),
|
child: const Text('Close'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import 'package:regroup/Common/CommonBottomNavigationBar.dart';
|
|||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Common/CommonTabBar.dart';
|
import 'package:regroup/Common/CommonTabBar.dart';
|
||||||
import 'package:regroup/Common/controller/MainScreen.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -72,12 +70,12 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
startTime: DateTime(2024, 6, 26, 9, 0),
|
startTime: DateTime(2024, 6, 26, 9, 0),
|
||||||
endTime: DateTime(2024, 6, 26, 10, 30),
|
endTime: DateTime(2024, 6, 26, 10, 30),
|
||||||
subject: 'Development Meeting',
|
subject: 'Development Meeting',
|
||||||
color: Color(0XFFFC571D)),
|
color: const Color(0XFFFC571D)),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime(2024, 6, 26, 18, 0),
|
startTime: DateTime(2024, 6, 26, 18, 0),
|
||||||
endTime: DateTime(2024, 6, 26, 18, 30),
|
endTime: DateTime(2024, 6, 26, 18, 30),
|
||||||
subject: 'GeneralMeeting',
|
subject: 'GeneralMeeting',
|
||||||
color: Color(0xFF8B1FA9)),
|
color: const Color(0xFF8B1FA9)),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime(2024, 6, 28, 9, 0),
|
startTime: DateTime(2024, 6, 28, 9, 0),
|
||||||
endTime: DateTime(2024, 6, 28, 10, 30),
|
endTime: DateTime(2024, 6, 28, 10, 30),
|
||||||
@@ -90,12 +88,12 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
),
|
),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime.now(),
|
startTime: DateTime.now(),
|
||||||
endTime: DateTime.now().add(Duration(hours: 3)),
|
endTime: DateTime.now().add(const Duration(hours: 3)),
|
||||||
subject: 'Match day',
|
subject: 'Match day',
|
||||||
),
|
),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime.now(),
|
startTime: DateTime.now(),
|
||||||
endTime: DateTime.now().add(Duration(hours: 3)),
|
endTime: DateTime.now().add(const Duration(hours: 3)),
|
||||||
subject: 'Muharram/Ashura',
|
subject: 'Muharram/Ashura',
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
@@ -107,11 +105,11 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
scrolledUnderElevation: 0.0,
|
scrolledUnderElevation: 0.0,
|
||||||
backgroundColor: Color(0xff222935),
|
backgroundColor: const Color(0xff222935),
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
title: text20700white("Sessions"),
|
title: text20700white("Sessions"),
|
||||||
@@ -123,7 +121,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
child: Container(
|
child: Container(
|
||||||
height: 35.h,
|
height: 35.h,
|
||||||
width: 35.w,
|
width: 35.w,
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
color: Color(0xFFD90B2E),
|
color: Color(0xFFD90B2E),
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
boxShadow: [
|
boxShadow: [
|
||||||
@@ -135,7 +133,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
child: Icon(Icons.add, color: Colors.white, weight: 2),
|
child: const Icon(Icons.add, color: Colors.white, weight: 2),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
sizedBoxWidth(14.w),
|
sizedBoxWidth(14.w),
|
||||||
@@ -179,7 +177,10 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
// initialIndex: selectedIndex.value,
|
// initialIndex: selectedIndex.value,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
CommonTabBar(tabs: const [
|
const CommonTabBar(
|
||||||
|
|
||||||
|
|
||||||
|
tabs: [
|
||||||
Tab(
|
Tab(
|
||||||
text: 'My sessions',
|
text: 'My sessions',
|
||||||
),
|
),
|
||||||
@@ -189,9 +190,10 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
]),
|
]),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: TabBarView(
|
child: TabBarView(
|
||||||
|
|
||||||
children: [
|
children: [
|
||||||
MySessionsTab(),
|
mySessionsTab(),
|
||||||
ComSessionTab(),
|
comSessionTab(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -206,7 +208,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget MySessionsTab() {
|
Widget mySessionsTab() {
|
||||||
return SingleChildScrollView(
|
return SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
@@ -239,7 +241,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset("assets/images/png/Rectangle 45.png")
|
Image.asset("assets/images/png/Rectangle 45.png")
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -254,16 +256,16 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
border: 0,
|
border: 0,
|
||||||
customWidget: SfCalendar(
|
customWidget: SfCalendar(
|
||||||
view: CalendarView.month,
|
view: CalendarView.month,
|
||||||
appointmentTextStyle: TextStyle(color: Colors.white),
|
appointmentTextStyle: const TextStyle(color: Colors.white),
|
||||||
headerStyle: CalendarHeaderStyle(
|
headerStyle: const CalendarHeaderStyle(
|
||||||
textStyle: TextStyle(
|
textStyle: TextStyle(
|
||||||
color: Color(0xFFD90B2E),
|
color: Color(0xFFD90B2E),
|
||||||
)),
|
)),
|
||||||
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
|
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
|
||||||
|
|
||||||
weekNumberStyle: WeekNumberStyle(
|
weekNumberStyle: const WeekNumberStyle(
|
||||||
textStyle: TextStyle(color: Colors.white)),
|
textStyle: TextStyle(color: Colors.white)),
|
||||||
viewHeaderStyle: ViewHeaderStyle(
|
viewHeaderStyle: const ViewHeaderStyle(
|
||||||
// backgroundColor: Colors.amber,
|
// backgroundColor: Colors.amber,
|
||||||
dateTextStyle: TextStyle(color: Colors.white),
|
dateTextStyle: TextStyle(color: Colors.white),
|
||||||
dayTextStyle: TextStyle(
|
dayTextStyle: TextStyle(
|
||||||
@@ -275,17 +277,17 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
// firstDayOfWeek: 3,
|
// firstDayOfWeek: 3,
|
||||||
cellBorderColor: Colors.white,
|
cellBorderColor: Colors.white,
|
||||||
todayHighlightColor: Color(0xFFD90B2E),
|
todayHighlightColor: const Color(0xFFD90B2E),
|
||||||
todayTextStyle: const TextStyle(color: Colors.white),
|
todayTextStyle: const TextStyle(color: Colors.white),
|
||||||
controller: _sessionCalController,
|
controller: _sessionCalController,
|
||||||
showNavigationArrow: true,
|
showNavigationArrow: true,
|
||||||
allowViewNavigation: true,
|
allowViewNavigation: true,
|
||||||
allowDragAndDrop: true,
|
allowDragAndDrop: true,
|
||||||
showDatePickerButton: true,
|
showDatePickerButton: true,
|
||||||
monthViewSettings: MonthViewSettings(
|
monthViewSettings: const MonthViewSettings(
|
||||||
navigationDirection: MonthNavigationDirection.horizontal,
|
navigationDirection: MonthNavigationDirection.horizontal,
|
||||||
),
|
),
|
||||||
allowedViews: [
|
allowedViews: const [
|
||||||
CalendarView.month,
|
CalendarView.month,
|
||||||
// CalendarView.day,
|
// CalendarView.day,
|
||||||
CalendarView.schedule,
|
CalendarView.schedule,
|
||||||
@@ -296,7 +298,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
onTap: calendarTapped,
|
onTap: calendarTapped,
|
||||||
timeSlotViewSettings: TimeSlotViewSettings(
|
timeSlotViewSettings: TimeSlotViewSettings(
|
||||||
// minimumAppointmentDuration: Duration(hours: 5),
|
// minimumAppointmentDuration: Duration(hours: 5),
|
||||||
timeTextStyle: TextStyle(
|
timeTextStyle: const TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
timelineAppointmentHeight: 60.h,
|
timelineAppointmentHeight: 60.h,
|
||||||
@@ -307,19 +309,19 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
),
|
),
|
||||||
monthCellBuilder: (context, details) {
|
monthCellBuilder: (context, details) {
|
||||||
return Container(
|
return Container(
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Text(
|
child: Text(
|
||||||
details.date.day.toString(),
|
details.date.day.toString(),
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.white), // Set text color to white
|
color: Colors.white), // Set text color to white
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
resourceViewSettings: ResourceViewSettings(
|
resourceViewSettings: const ResourceViewSettings(
|
||||||
displayNameTextStyle:
|
displayNameTextStyle:
|
||||||
TextStyle(color: Colors.white, fontSize: 10),
|
TextStyle(color: Colors.white, fontSize: 10),
|
||||||
showAvatar: true,
|
showAvatar: true,
|
||||||
@@ -327,7 +329,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
// scheduleViewSettings: ScheduleViewSettings(
|
// scheduleViewSettings: ScheduleViewSettings(
|
||||||
// appointmentTextStyle: TextStyle(color: Colors.red)),
|
// appointmentTextStyle: TextStyle(color: Colors.red)),
|
||||||
|
|
||||||
scheduleViewSettings: ScheduleViewSettings(
|
scheduleViewSettings: const ScheduleViewSettings(
|
||||||
placeholderTextStyle: TextStyle(color: Colors.white),
|
placeholderTextStyle: TextStyle(color: Colors.white),
|
||||||
dayHeaderSettings: DayHeaderSettings(
|
dayHeaderSettings: DayHeaderSettings(
|
||||||
dateTextStyle: TextStyle(color: Colors.white),
|
dateTextStyle: TextStyle(color: Colors.white),
|
||||||
@@ -368,7 +370,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
height: 25.h,
|
height: 25.h,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
color: Color(0xFFD90B2E),
|
color: const Color(0xFFD90B2E),
|
||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(15.r)),
|
borderRadius: BorderRadius.circular(15.r)),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -528,7 +530,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
CircleAvatar(
|
CircleAvatar(
|
||||||
radius: 12.r,
|
radius: 12.r,
|
||||||
backgroundImage:
|
backgroundImage:
|
||||||
AssetImage("assets/images/png/Ellipse 52.png"),
|
const AssetImage("assets/images/png/Ellipse 52.png"),
|
||||||
),
|
),
|
||||||
sizedBoxWidth(8.w),
|
sizedBoxWidth(8.w),
|
||||||
text14w400_FCFCFC("Ryan dorwat"),
|
text14w400_FCFCFC("Ryan dorwat"),
|
||||||
@@ -542,7 +544,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget ComSessionTab() {
|
Widget comSessionTab() {
|
||||||
return SingleChildScrollView(
|
return SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
@@ -556,16 +558,16 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
border: 0,
|
border: 0,
|
||||||
customWidget: SfCalendar(
|
customWidget: SfCalendar(
|
||||||
view: CalendarView.month,
|
view: CalendarView.month,
|
||||||
appointmentTextStyle: TextStyle(color: Colors.white),
|
appointmentTextStyle: const TextStyle(color: Colors.white),
|
||||||
headerStyle: CalendarHeaderStyle(
|
headerStyle: const CalendarHeaderStyle(
|
||||||
textStyle: TextStyle(
|
textStyle: TextStyle(
|
||||||
color: Color(0xFFD90B2E),
|
color: Color(0xFFD90B2E),
|
||||||
)),
|
)),
|
||||||
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
|
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
|
||||||
|
|
||||||
weekNumberStyle: WeekNumberStyle(
|
weekNumberStyle: const WeekNumberStyle(
|
||||||
textStyle: TextStyle(color: Colors.white)),
|
textStyle: TextStyle(color: Colors.white)),
|
||||||
viewHeaderStyle: ViewHeaderStyle(
|
viewHeaderStyle: const ViewHeaderStyle(
|
||||||
// backgroundColor: Colors.amber,
|
// backgroundColor: Colors.amber,
|
||||||
dateTextStyle: TextStyle(color: Colors.white),
|
dateTextStyle: TextStyle(color: Colors.white),
|
||||||
dayTextStyle: TextStyle(
|
dayTextStyle: TextStyle(
|
||||||
@@ -577,17 +579,17 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
// firstDayOfWeek: 3,
|
// firstDayOfWeek: 3,
|
||||||
cellBorderColor: Colors.white,
|
cellBorderColor: Colors.white,
|
||||||
todayHighlightColor: Color(0xFFD90B2E),
|
todayHighlightColor: const Color(0xFFD90B2E),
|
||||||
todayTextStyle: const TextStyle(color: Colors.white),
|
todayTextStyle: const TextStyle(color: Colors.white),
|
||||||
controller: _comCalController,
|
controller: _comCalController,
|
||||||
showNavigationArrow: true,
|
showNavigationArrow: true,
|
||||||
allowViewNavigation: true,
|
allowViewNavigation: true,
|
||||||
allowDragAndDrop: true,
|
allowDragAndDrop: true,
|
||||||
showDatePickerButton: true,
|
showDatePickerButton: true,
|
||||||
monthViewSettings: MonthViewSettings(
|
monthViewSettings: const MonthViewSettings(
|
||||||
navigationDirection: MonthNavigationDirection.horizontal,
|
navigationDirection: MonthNavigationDirection.horizontal,
|
||||||
),
|
),
|
||||||
allowedViews: [
|
allowedViews: const [
|
||||||
CalendarView.month,
|
CalendarView.month,
|
||||||
// CalendarView.day,
|
// CalendarView.day,
|
||||||
CalendarView.schedule,
|
CalendarView.schedule,
|
||||||
@@ -598,7 +600,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
onTap: calendarTapped,
|
onTap: calendarTapped,
|
||||||
timeSlotViewSettings: TimeSlotViewSettings(
|
timeSlotViewSettings: TimeSlotViewSettings(
|
||||||
// minimumAppointmentDuration: Duration(hours: 5),
|
// minimumAppointmentDuration: Duration(hours: 5),
|
||||||
timeTextStyle: TextStyle(
|
timeTextStyle: const TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
timelineAppointmentHeight: 60.h,
|
timelineAppointmentHeight: 60.h,
|
||||||
@@ -609,19 +611,19 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
),
|
),
|
||||||
monthCellBuilder: (context, details) {
|
monthCellBuilder: (context, details) {
|
||||||
return Container(
|
return Container(
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Text(
|
child: Text(
|
||||||
details.date.day.toString(),
|
details.date.day.toString(),
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.white), // Set text color to white
|
color: Colors.white), // Set text color to white
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
resourceViewSettings: ResourceViewSettings(
|
resourceViewSettings: const ResourceViewSettings(
|
||||||
displayNameTextStyle:
|
displayNameTextStyle:
|
||||||
TextStyle(color: Colors.white, fontSize: 10),
|
TextStyle(color: Colors.white, fontSize: 10),
|
||||||
showAvatar: true,
|
showAvatar: true,
|
||||||
@@ -776,7 +778,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
sizedBoxWidth(16.w),
|
sizedBoxWidth(16.w),
|
||||||
CircleAvatar(
|
CircleAvatar(
|
||||||
radius: 12.r,
|
radius: 12.r,
|
||||||
backgroundImage: AssetImage(
|
backgroundImage: const AssetImage(
|
||||||
"assets/images/png/Ellipse 52.png"),
|
"assets/images/png/Ellipse 52.png"),
|
||||||
),
|
),
|
||||||
sizedBoxWidth(8.w),
|
sizedBoxWidth(8.w),
|
||||||
@@ -784,12 +786,12 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
]),
|
]),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Container(
|
Container(
|
||||||
height: 138.h,
|
height: 138.h,
|
||||||
width: 143.w,
|
width: 143.w,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Color(0xFFD90B2E),
|
color: const Color(0xFFD90B2E),
|
||||||
borderRadius: BorderRadius.only(
|
borderRadius: BorderRadius.only(
|
||||||
bottomRight: Radius.circular(10.r),
|
bottomRight: Radius.circular(10.r),
|
||||||
),
|
),
|
||||||
@@ -821,7 +823,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: Text('Event Details'),
|
title: const Text('Event Details'),
|
||||||
content: Column(
|
content: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
@@ -832,7 +834,7 @@ class _CalenderTabState extends State<CalenderTab> {
|
|||||||
),
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
child: Text('Close'),
|
child: const Text('Close'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ class _EventDetailsState extends State<EventDetails> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: CommonAppbar(
|
||||||
@@ -306,7 +306,7 @@ class _EventDetailsState extends State<EventDetails> {
|
|||||||
),
|
),
|
||||||
sizedBoxWidth(10.w),
|
sizedBoxWidth(10.w),
|
||||||
text16w400_white("Send message to invites"),
|
text16w400_white("Send message to invites"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
width: 98.w,
|
width: 98.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
@@ -327,7 +327,7 @@ class _EventDetailsState extends State<EventDetails> {
|
|||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
CircleAvatar(
|
const CircleAvatar(
|
||||||
radius: 33.5,
|
radius: 33.5,
|
||||||
backgroundImage:
|
backgroundImage:
|
||||||
AssetImage("assets/images/png/cimg1.png"),
|
AssetImage("assets/images/png/cimg1.png"),
|
||||||
@@ -345,7 +345,7 @@ class _EventDetailsState extends State<EventDetails> {
|
|||||||
children: [
|
children: [
|
||||||
CircleAvatar(
|
CircleAvatar(
|
||||||
radius: 12.5.r,
|
radius: 12.5.r,
|
||||||
backgroundImage: AssetImage(
|
backgroundImage: const AssetImage(
|
||||||
"assets/images/png/img322.png"),
|
"assets/images/png/img322.png"),
|
||||||
),
|
),
|
||||||
sizedBoxWidth(8.w),
|
sizedBoxWidth(8.w),
|
||||||
@@ -374,7 +374,7 @@ class _EventDetailsState extends State<EventDetails> {
|
|||||||
Image.asset("assets/images/png/Red.png", height: 22.h, width: 16.w),
|
Image.asset("assets/images/png/Red.png", height: 22.h, width: 16.w),
|
||||||
sizedBoxWidth(10.w),
|
sizedBoxWidth(10.w),
|
||||||
SizedBox(width: 250.w, child: text16w400_white(text)),
|
SizedBox(width: 250.w, child: text16w400_white(text)),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
text16400white(count),
|
text16400white(count),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import 'package:regroup/Common/CommonGlassmorphism.dart';
|
|||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -60,7 +59,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: CommonAppbar(
|
||||||
@@ -72,7 +71,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
|
|||||||
child: Container(
|
child: Container(
|
||||||
height: 35.h,
|
height: 35.h,
|
||||||
width: 35.w,
|
width: 35.w,
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
color: Color(0xFFD90B2E),
|
color: Color(0xFFD90B2E),
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
boxShadow: [
|
boxShadow: [
|
||||||
@@ -84,7 +83,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
child: Icon(Icons.add, color: Colors.white, weight: 2),
|
child: const Icon(Icons.add, color: Colors.white, weight: 2),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -180,13 +179,13 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
|
|||||||
text12w400_FCFCFC_blur(subtitle),
|
text12w400_FCFCFC_blur(subtitle),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Container(
|
Container(
|
||||||
height: 25.h,
|
height: 25.h,
|
||||||
width: 72.w,
|
width: 72.w,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(5.r),
|
borderRadius: BorderRadius.circular(5.r),
|
||||||
border: Border.all(color: Color(0xFFFF002B), width: 1.w)),
|
border: Border.all(color: const Color(0xFFFF002B), width: 1.w)),
|
||||||
child: Center(child: text10400white("Attending")),
|
child: Center(child: text10400white("Attending")),
|
||||||
),
|
),
|
||||||
sizedBoxWidth(8.w),
|
sizedBoxWidth(8.w),
|
||||||
@@ -235,7 +234,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
|
|||||||
Container(
|
Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(10.r),
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
color: Color(0xFF222935)),
|
color: const Color(0xFF222935)),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 20.h),
|
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 20.h),
|
||||||
child: Column(
|
child: Column(
|
||||||
@@ -271,7 +270,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
|
|||||||
opacity2: 0.24,
|
opacity2: 0.24,
|
||||||
customWidget: Center(child: text16w400_FCFCFC("W")),
|
customWidget: Center(child: text16w400_FCFCFC("W")),
|
||||||
border: 0.5),
|
border: 0.5),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Image.asset(
|
Image.asset(
|
||||||
@@ -316,7 +315,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
|
|||||||
opacity2: 0.24,
|
opacity2: 0.24,
|
||||||
customWidget: Center(child: text16w400_FCFCFC("Sa")),
|
customWidget: Center(child: text16w400_FCFCFC("Sa")),
|
||||||
border: 0.5),
|
border: 0.5),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Image.asset(
|
Image.asset(
|
||||||
@@ -344,7 +343,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
|
|||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0xFFD90B2E).withOpacity(0.18),
|
const Color(0xFFD90B2E).withOpacity(0.18),
|
||||||
const Color(0xFFD90B2E).withOpacity(0.4),
|
const Color(0xFFD90B2E).withOpacity(0.4),
|
||||||
],
|
],
|
||||||
stops: const [
|
stops: const [
|
||||||
@@ -352,7 +351,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
|
|||||||
1,
|
1,
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
borderGradient: LinearGradient(
|
borderGradient: const LinearGradient(
|
||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [
|
colors: [
|
||||||
|
|||||||
@@ -5,10 +5,8 @@ import 'package:regroup/Common/CommonGlassmorphism.dart';
|
|||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
|
||||||
|
|
||||||
class ResourcePool extends StatefulWidget {
|
class ResourcePool extends StatefulWidget {
|
||||||
const ResourcePool({super.key});
|
const ResourcePool({super.key});
|
||||||
@@ -42,9 +40,9 @@ class _ResourcePoolState extends State<ResourcePool> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Resource pool",
|
titleTxt: "Resource pool",
|
||||||
),
|
),
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
@@ -103,7 +101,7 @@ class _ResourcePoolState extends State<ResourcePool> {
|
|||||||
children: [
|
children: [
|
||||||
CircleAvatar(
|
CircleAvatar(
|
||||||
backgroundImage:
|
backgroundImage:
|
||||||
AssetImage("assets/images/png/Ellipse 52.png"),
|
const AssetImage("assets/images/png/Ellipse 52.png"),
|
||||||
radius: 25.r,
|
radius: 25.r,
|
||||||
),
|
),
|
||||||
sizedBoxWidth(8.w),
|
sizedBoxWidth(8.w),
|
||||||
@@ -115,7 +113,7 @@ class _ResourcePoolState extends State<ResourcePool> {
|
|||||||
text12w400_FCFCFC_blur("Row row row your boat")
|
text12w400_FCFCFC_blur("Row row row your boat")
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
InkWell(
|
InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
inviteBottomSheet();
|
inviteBottomSheet();
|
||||||
@@ -124,7 +122,7 @@ class _ResourcePoolState extends State<ResourcePool> {
|
|||||||
height: 30.h,
|
height: 30.h,
|
||||||
width: 95.w,
|
width: 95.w,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Color(0xFFD90B2E),
|
color: const Color(0xFFD90B2E),
|
||||||
borderRadius: BorderRadius.circular(30.r)),
|
borderRadius: BorderRadius.circular(30.r)),
|
||||||
child: Center(child: text14400white("Invite")),
|
child: Center(child: text14400white("Invite")),
|
||||||
),
|
),
|
||||||
@@ -192,7 +190,7 @@ class _ResourcePoolState extends State<ResourcePool> {
|
|||||||
topLeft: Radius.circular(30.r),
|
topLeft: Radius.circular(30.r),
|
||||||
topRight: Radius.circular(30.r),
|
topRight: Radius.circular(30.r),
|
||||||
),
|
),
|
||||||
color: Color(0xFF222935),
|
color: const Color(0xFF222935),
|
||||||
),
|
),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
@@ -259,7 +257,7 @@ class _ResourcePoolState extends State<ResourcePool> {
|
|||||||
),
|
),
|
||||||
sizedBoxWidth(10.w),
|
sizedBoxWidth(10.w),
|
||||||
text16w400_FCFCFC(title),
|
text16w400_FCFCFC(title),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
border: 1,
|
border: 1,
|
||||||
borderradius: 2,
|
borderradius: 2,
|
||||||
@@ -270,7 +268,7 @@ class _ResourcePoolState extends State<ResourcePool> {
|
|||||||
customWidget: Transform.scale(
|
customWidget: Transform.scale(
|
||||||
scale: 1.4,
|
scale: 1.4,
|
||||||
child: Checkbox(
|
child: Checkbox(
|
||||||
side: BorderSide(color: Color(0xFF434A53)),
|
side: const BorderSide(color: Color(0xFF434A53)),
|
||||||
value: isChecked,
|
value: isChecked,
|
||||||
activeColor: Colors.transparent,
|
activeColor: Colors.transparent,
|
||||||
checkColor: Colors.white,
|
checkColor: Colors.white,
|
||||||
|
|||||||
@@ -2,12 +2,10 @@ import 'package:flutter/cupertino.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:glassmorphism/glassmorphism.dart';
|
|
||||||
import 'package:regroup/Common/CommonButton.dart';
|
import 'package:regroup/Common/CommonButton.dart';
|
||||||
import 'package:regroup/Common/CommonDropDown.dart';
|
import 'package:regroup/Common/CommonDropDown.dart';
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
|
|
||||||
@@ -35,10 +33,10 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Set availability",
|
titleTxt: "Set availability",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
@@ -57,30 +55,30 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
|
|||||||
sizedBoxHeight(10.h),
|
sizedBoxHeight(10.h),
|
||||||
text16400white("Select event type"),
|
text16400white("Select event type"),
|
||||||
sizedBoxHeight(15.h),
|
sizedBoxHeight(15.h),
|
||||||
CommonDropdownBtn(hint: "", items: []),
|
CommonDropdownBtn(hint: "", items: const ['']),
|
||||||
sizedBoxHeight(18.h),
|
sizedBoxHeight(18.h),
|
||||||
text16400white("Select sport"),
|
text16400white("Select sport"),
|
||||||
sizedBoxHeight(15.h),
|
sizedBoxHeight(15.h),
|
||||||
CommonDropdownBtn(hint: "", items: []),
|
CommonDropdownBtn(hint: "", items: const ['']),
|
||||||
sizedBoxHeight(18.h),
|
sizedBoxHeight(18.h),
|
||||||
text16400white("Select role "),
|
text16400white("Select role "),
|
||||||
sizedBoxHeight(15.h),
|
sizedBoxHeight(15.h),
|
||||||
CommonDropdownBtn(hint: "", items: []),
|
CommonDropdownBtn(hint: "", items: const ['']),
|
||||||
sizedBoxHeight(18.h),
|
sizedBoxHeight(18.h),
|
||||||
text16400white("Space selection"),
|
text16400white("Space selection"),
|
||||||
sizedBoxHeight(15.h),
|
sizedBoxHeight(15.h),
|
||||||
CommonDropdownBtn(hint: "", items: []),
|
CommonDropdownBtn(hint: "", items: const ['']),
|
||||||
sizedBoxHeight(18.h),
|
sizedBoxHeight(18.h),
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
text16w400_white("Availability"),
|
text16w400_white("Availability"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Transform.scale(
|
Transform.scale(
|
||||||
scaleY: 1,
|
scaleY: 1,
|
||||||
child: CupertinoSwitch(
|
child: CupertinoSwitch(
|
||||||
value: swichvalue,
|
value: swichvalue,
|
||||||
trackColor: Colors.white.withOpacity(0.4),
|
trackColor: Colors.white.withOpacity(0.4),
|
||||||
activeColor: Color(0xFF3192D8),
|
activeColor: const Color(0xFF3192D8),
|
||||||
onChanged: (bool? value) {
|
onChanged: (bool? value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
swichvalue = value ?? false;
|
swichvalue = value ?? false;
|
||||||
@@ -159,7 +157,7 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
|
|||||||
border: 1)
|
border: 1)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@@ -208,10 +206,10 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
|
|||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
color: selectedContainerIndices.contains(index)
|
color: selectedContainerIndices.contains(index)
|
||||||
? Color(0xFFD90B2E).withOpacity(0.4)
|
? const Color(0xFFD90B2E).withOpacity(0.4)
|
||||||
: Color(0xFFFFFFFF).withOpacity(0.2),
|
: const Color(0xFFFFFFFF).withOpacity(0.2),
|
||||||
border: selectedContainerIndices.contains(index)
|
border: selectedContainerIndices.contains(index)
|
||||||
? Border.all(color: Color(0xFFD90B2E), width: 1)
|
? Border.all(color: const Color(0xFFD90B2E), width: 1)
|
||||||
: null),
|
: null),
|
||||||
child: Center(child: text16w400_FCFCFC(text)),
|
child: Center(child: text16w400_FCFCFC(text)),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import 'package:get/get.dart';
|
|||||||
import 'package:regroup/Common/CommonBottomNavigationBar.dart';
|
import 'package:regroup/Common/CommonBottomNavigationBar.dart';
|
||||||
import 'package:regroup/Common/controller/MainScreen.dart';
|
import 'package:regroup/Common/controller/MainScreen.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -19,7 +18,7 @@ class ChatsMainScreen extends StatefulWidget {
|
|||||||
|
|
||||||
class _ChatsMainScreenState extends State<ChatsMainScreen> {
|
class _ChatsMainScreenState extends State<ChatsMainScreen> {
|
||||||
TextEditingController searchcontroller = TextEditingController();
|
TextEditingController searchcontroller = TextEditingController();
|
||||||
GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
|
final GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
|
||||||
|
|
||||||
List chatcontents = [
|
List chatcontents = [
|
||||||
{
|
{
|
||||||
@@ -121,10 +120,10 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
key: _scaffoldKey1,
|
key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
scrolledUnderElevation: 0.0,
|
scrolledUnderElevation: 0.0,
|
||||||
backgroundColor: Color(0xff222935),
|
backgroundColor: const Color(0xff222935),
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
titleSpacing: 0,
|
titleSpacing: 0,
|
||||||
@@ -174,7 +173,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
|
|||||||
hintText: "Search chats",
|
hintText: "Search chats",
|
||||||
leadingIcon: Padding(
|
leadingIcon: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
child: Icon(
|
child: const Icon(
|
||||||
Icons.search,
|
Icons.search,
|
||||||
size: 35,
|
size: 35,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
@@ -196,7 +195,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
|
|||||||
// initialIndex: selectedIndex.value,
|
// initialIndex: selectedIndex.value,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
MyTabBar(),
|
const MyTabBar(),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: TabBarView(
|
child: TabBarView(
|
||||||
children: [feedTab(), clubsTab(), teamsTab()],
|
children: [feedTab(), clubsTab(), teamsTab()],
|
||||||
@@ -223,7 +222,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
|
|||||||
separatorBuilder: (context, index) {
|
separatorBuilder: (context, index) {
|
||||||
return Divider(
|
return Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
itemCount: chatcontents.length,
|
itemCount: chatcontents.length,
|
||||||
@@ -263,7 +262,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
|
|||||||
separatorBuilder: (context, index) {
|
separatorBuilder: (context, index) {
|
||||||
return Divider(
|
return Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
itemCount: clubcontents.length,
|
itemCount: clubcontents.length,
|
||||||
@@ -298,7 +297,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
|
|||||||
separatorBuilder: (context, index) {
|
separatorBuilder: (context, index) {
|
||||||
return Divider(
|
return Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
itemCount: teamcontents.length,
|
itemCount: teamcontents.length,
|
||||||
@@ -326,15 +325,17 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class MyTabBar extends StatelessWidget {
|
class MyTabBar extends StatelessWidget {
|
||||||
|
const MyTabBar({super.key});
|
||||||
|
|
||||||
// Set the desired height
|
// Set the desired height
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return TabBar(
|
return TabBar(
|
||||||
dividerColor: Color(0xFFFFFFFF).withOpacity(0.07),
|
dividerColor: const Color(0xFFFFFFFF).withOpacity(0.07),
|
||||||
labelStyle: TextStyle(
|
labelStyle: TextStyle(
|
||||||
fontSize: 14.sp,
|
fontSize: 14.sp,
|
||||||
color: Color(0xFFFCFCFC),
|
color: const Color(0xFFFCFCFC),
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
fontFamily: 'Helvetica'),
|
fontFamily: 'Helvetica'),
|
||||||
indicatorSize: TabBarIndicatorSize.tab,
|
indicatorSize: TabBarIndicatorSize.tab,
|
||||||
@@ -342,7 +343,7 @@ class MyTabBar extends StatelessWidget {
|
|||||||
// labelColor: Colors.white,
|
// labelColor: Colors.white,
|
||||||
indicatorWeight: 2.h,
|
indicatorWeight: 2.h,
|
||||||
dividerHeight: 2.h,
|
dividerHeight: 2.h,
|
||||||
unselectedLabelColor: Color(0xFFFCFCFC),
|
unselectedLabelColor: const Color(0xFFFCFCFC),
|
||||||
overlayColor: MaterialStateProperty.all(const Color(0xFFD90B2E)),
|
overlayColor: MaterialStateProperty.all(const Color(0xFFD90B2E)),
|
||||||
tabs: const [
|
tabs: const [
|
||||||
Tab(
|
Tab(
|
||||||
@@ -386,7 +387,7 @@ class ChatList extends StatefulWidget {
|
|||||||
class _ChatListState extends State<ChatList> {
|
class _ChatListState extends State<ChatList> {
|
||||||
void _showContextMenu(BuildContext context, Offset offset) {
|
void _showContextMenu(BuildContext context, Offset offset) {
|
||||||
showMenu(
|
showMenu(
|
||||||
color: Color(0XFf222935),
|
color: const Color(0XFf222935),
|
||||||
context: context,
|
context: context,
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
|
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
|
||||||
position:
|
position:
|
||||||
@@ -398,7 +399,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Mute chat", style: TextStyle(color: Colors.white)),
|
const Text("Mute chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/mute.png',
|
'assets/images/png/mute.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -408,7 +409,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
@@ -419,7 +420,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Pin chat", style: TextStyle(color: Colors.white)),
|
const Text("Pin chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/pin.png',
|
'assets/images/png/pin.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -429,7 +430,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -439,7 +440,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Delete chat", style: TextStyle(color: Colors.red)),
|
const Text("Delete chat", style: TextStyle(color: Colors.red)),
|
||||||
// Icon(Icons.delete, color: Colors.red),
|
// Icon(Icons.delete, color: Colors.red),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/deletetred.png',
|
'assets/images/png/deletetred.png',
|
||||||
@@ -503,7 +504,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
? Container(
|
? Container(
|
||||||
width: 10.w,
|
width: 10.w,
|
||||||
height: 10.h,
|
height: 10.h,
|
||||||
decoration: ShapeDecoration(
|
decoration: const ShapeDecoration(
|
||||||
color: Color(0xFF32D74B),
|
color: Color(0xFF32D74B),
|
||||||
shape: OvalBorder(),
|
shape: OvalBorder(),
|
||||||
),
|
),
|
||||||
@@ -511,7 +512,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
: Container(
|
: Container(
|
||||||
width: 10.w,
|
width: 10.w,
|
||||||
height: 10.h,
|
height: 10.h,
|
||||||
decoration: ShapeDecoration(
|
decoration: const ShapeDecoration(
|
||||||
color: Color(0xFFFF453A),
|
color: Color(0xFFFF453A),
|
||||||
shape: OvalBorder(),
|
shape: OvalBorder(),
|
||||||
)),
|
)),
|
||||||
@@ -535,7 +536,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
child: Text(
|
child: Text(
|
||||||
widget.message,
|
widget.message,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Color(0xCCFCFCFC),
|
color: const Color(0xCCFCFCFC),
|
||||||
fontSize: 12.sp,
|
fontSize: 12.sp,
|
||||||
fontFamily: 'Helvetica',
|
fontFamily: 'Helvetica',
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
@@ -546,7 +547,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
@@ -557,7 +558,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
children: [
|
children: [
|
||||||
widget.ispinned == true
|
widget.ispinned == true
|
||||||
? Image.asset('assets/images/png/pin.png')
|
? Image.asset('assets/images/png/pin.png')
|
||||||
: SizedBox(
|
: const SizedBox(
|
||||||
width: 25,
|
width: 25,
|
||||||
),
|
),
|
||||||
sizedBoxWidth(3.w),
|
sizedBoxWidth(3.w),
|
||||||
@@ -565,7 +566,7 @@ class _ChatListState extends State<ChatList> {
|
|||||||
? Container(
|
? Container(
|
||||||
width: 18,
|
width: 18,
|
||||||
height: 18,
|
height: 18,
|
||||||
decoration: ShapeDecoration(
|
decoration: const ShapeDecoration(
|
||||||
color: Color(0xFFD90B2E),
|
color: Color(0xFFD90B2E),
|
||||||
shape: OvalBorder(),
|
shape: OvalBorder(),
|
||||||
),
|
),
|
||||||
@@ -573,14 +574,14 @@ class _ChatListState extends State<ChatList> {
|
|||||||
'1',
|
'1',
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Color(0xFFFCFCFC),
|
color: const Color(0xFFFCFCFC),
|
||||||
fontSize: 12.sp,
|
fontSize: 12.sp,
|
||||||
fontFamily: 'Helvetica',
|
fontFamily: 'Helvetica',
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
: SizedBox()
|
: const SizedBox()
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
@@ -598,7 +599,7 @@ class SecondChatList extends StatefulWidget {
|
|||||||
final String message;
|
final String message;
|
||||||
final bool isMessageRead;
|
final bool isMessageRead;
|
||||||
|
|
||||||
SecondChatList({
|
const SecondChatList({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.name,
|
required this.name,
|
||||||
required this.imageurl,
|
required this.imageurl,
|
||||||
@@ -613,7 +614,7 @@ class SecondChatList extends StatefulWidget {
|
|||||||
class _SecondChatListState extends State<SecondChatList> {
|
class _SecondChatListState extends State<SecondChatList> {
|
||||||
void _showContextMenu(BuildContext context, Offset offset) {
|
void _showContextMenu(BuildContext context, Offset offset) {
|
||||||
showMenu(
|
showMenu(
|
||||||
color: Color(0XFf222935),
|
color: const Color(0XFf222935),
|
||||||
context: context,
|
context: context,
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
|
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
|
||||||
position:
|
position:
|
||||||
@@ -625,7 +626,7 @@ class _SecondChatListState extends State<SecondChatList> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Mute chat", style: TextStyle(color: Colors.white)),
|
const Text("Mute chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/mute.png',
|
'assets/images/png/mute.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -635,7 +636,7 @@ class _SecondChatListState extends State<SecondChatList> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
@@ -646,7 +647,7 @@ class _SecondChatListState extends State<SecondChatList> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Pin chat", style: TextStyle(color: Colors.white)),
|
const Text("Pin chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/pin.png',
|
'assets/images/png/pin.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -656,7 +657,7 @@ class _SecondChatListState extends State<SecondChatList> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -666,7 +667,7 @@ class _SecondChatListState extends State<SecondChatList> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Delete chat", style: TextStyle(color: Colors.red)),
|
const Text("Delete chat", style: TextStyle(color: Colors.red)),
|
||||||
// Icon(Icons.delete, color: Colors.red),
|
// Icon(Icons.delete, color: Colors.red),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/deletetred.png',
|
'assets/images/png/deletetred.png',
|
||||||
@@ -750,7 +751,7 @@ class _SecondChatListState extends State<SecondChatList> {
|
|||||||
Text(
|
Text(
|
||||||
widget.message,
|
widget.message,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Color(0xCCFCFCFC),
|
color: const Color(0xCCFCFCFC),
|
||||||
fontSize: 12.sp,
|
fontSize: 12.sp,
|
||||||
fontFamily: 'Helvetica',
|
fontFamily: 'Helvetica',
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import 'package:glassmorphism/glassmorphism.dart';
|
|||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/ImageUpload.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/Common/sized_box.dart';
|
||||||
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
|
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
|
||||||
|
|
||||||
@@ -54,7 +53,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
|
|
||||||
void _showContextMenu(BuildContext context, Offset offset) {
|
void _showContextMenu(BuildContext context, Offset offset) {
|
||||||
showMenu(
|
showMenu(
|
||||||
color: Color(0XFf222935),
|
color: const Color(0XFf222935),
|
||||||
context: context,
|
context: context,
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
|
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
|
||||||
position:
|
position:
|
||||||
@@ -67,7 +66,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Mute chat", style: TextStyle(color: Colors.white)),
|
const Text("Mute chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/mute.png',
|
'assets/images/png/mute.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -77,7 +76,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
@@ -88,7 +87,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Pin chat", style: TextStyle(color: Colors.white)),
|
const Text("Pin chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/pin.png',
|
'assets/images/png/pin.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -98,7 +97,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -107,7 +106,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
value: 1,
|
value: 1,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Row(
|
const Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Search", style: TextStyle(color: Colors.white)),
|
Text("Search", style: TextStyle(color: Colors.white)),
|
||||||
@@ -120,7 +119,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -132,7 +131,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Profile", style: TextStyle(color: Colors.white)),
|
const Text("Profile", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/profile.png',
|
'assets/images/png/profile.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -142,7 +141,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -154,7 +153,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Block chat", style: TextStyle(color: Colors.white)),
|
const Text("Block chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/blockchat.png',
|
'assets/images/png/blockchat.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -164,7 +163,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -176,7 +175,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Delete chat", style: TextStyle(color: Colors.red)),
|
const Text("Delete chat", style: TextStyle(color: Colors.red)),
|
||||||
// Icon(Icons.delete, color: Colors.red),
|
// Icon(Icons.delete, color: Colors.red),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/deletetred.png',
|
'assets/images/png/deletetred.png',
|
||||||
@@ -246,11 +245,11 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
Get.focusScope?.unfocus();
|
Get.focusScope?.unfocus();
|
||||||
},
|
},
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
backgroundColor: Color.fromARGB(255, 18, 32, 47),
|
backgroundColor: const Color.fromARGB(255, 18, 32, 47),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
backgroundColor: Color(0xFF222935).withOpacity(0.50),
|
backgroundColor: const Color(0xFF222935).withOpacity(0.50),
|
||||||
flexibleSpace: SafeArea(
|
flexibleSpace: SafeArea(
|
||||||
child: Container(
|
child: Container(
|
||||||
// height: 90.h,
|
// height: 90.h,
|
||||||
@@ -292,7 +291,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
height: 40.h,
|
height: 40.h,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(25.h),
|
borderRadius: BorderRadius.circular(25.h),
|
||||||
image: DecorationImage(
|
image: const DecorationImage(
|
||||||
image:
|
image:
|
||||||
AssetImage("assets/images/png/groupchat.png"),
|
AssetImage("assets/images/png/groupchat.png"),
|
||||||
fit: BoxFit.cover)),
|
fit: BoxFit.cover)),
|
||||||
@@ -325,7 +324,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
Text(
|
Text(
|
||||||
"Ryan, Jaxson, Dulce, Nolan ",
|
"Ryan, Jaxson, Dulce, Nolan ",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Color(0xffFCFCFC).withOpacity(0.80),
|
color: const Color(0xffFCFCFC).withOpacity(0.80),
|
||||||
fontSize: 12.sp,
|
fontSize: 12.sp,
|
||||||
fontWeight: FontWeight.w400),
|
fontWeight: FontWeight.w400),
|
||||||
),
|
),
|
||||||
@@ -369,18 +368,18 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
begin: Alignment.topCenter,
|
begin: Alignment.topCenter,
|
||||||
end: Alignment.bottomCenter,
|
end: Alignment.bottomCenter,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0XFF222935).withOpacity(0.60),
|
const Color(0XFF222935).withOpacity(0.60),
|
||||||
Color(0XFF222935).withOpacity(0.60),
|
const Color(0XFF222935).withOpacity(0.60),
|
||||||
Color(0XFF222935).withOpacity(0.60),
|
const Color(0XFF222935).withOpacity(0.60),
|
||||||
Color(0XFF222935).withOpacity(0.60),
|
const Color(0XFF222935).withOpacity(0.60),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
borderGradient: LinearGradient(
|
borderGradient: LinearGradient(
|
||||||
begin: Alignment.topCenter,
|
begin: Alignment.topCenter,
|
||||||
end: Alignment.bottomCenter,
|
end: Alignment.bottomCenter,
|
||||||
colors: [
|
colors: [
|
||||||
Color(0XFF222935).withOpacity(0.60),
|
const Color(0XFF222935).withOpacity(0.60),
|
||||||
Color(0XFF222935).withOpacity(0.60),
|
const Color(0XFF222935).withOpacity(0.60),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
child: Stack(
|
child: Stack(
|
||||||
@@ -415,7 +414,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
),
|
),
|
||||||
fit: BoxFit.fill,
|
fit: BoxFit.fill,
|
||||||
),
|
),
|
||||||
shape: OvalBorder(),
|
shape: const OvalBorder(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
sizedBoxWidth(2.w),
|
sizedBoxWidth(2.w),
|
||||||
@@ -423,8 +422,8 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
child: Container(
|
child: Container(
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
begin: Alignment(1.00, -0.03),
|
begin: const Alignment(1.00, -0.03),
|
||||||
end: Alignment(-1, 0.03),
|
end: const Alignment(-1, 0.03),
|
||||||
colors: [
|
colors: [
|
||||||
Colors.white.withOpacity(
|
Colors.white.withOpacity(
|
||||||
0.05999999865889549),
|
0.05999999865889549),
|
||||||
@@ -432,7 +431,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
0.07999999821186066)
|
0.07999999821186066)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
shape: RoundedRectangleBorder(
|
shape: const RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.only(
|
borderRadius: BorderRadius.only(
|
||||||
topLeft: Radius.circular(20),
|
topLeft: Radius.circular(20),
|
||||||
topRight: Radius.circular(20),
|
topRight: Radius.circular(20),
|
||||||
@@ -489,7 +488,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
children: [
|
children: [
|
||||||
Flexible(
|
Flexible(
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: ShapeDecoration(
|
decoration: const ShapeDecoration(
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
begin: Alignment(1.00, 0.05),
|
begin: Alignment(1.00, 0.05),
|
||||||
end: Alignment(-1, -0.05),
|
end: Alignment(-1, -0.05),
|
||||||
@@ -545,7 +544,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
),
|
),
|
||||||
fit: BoxFit.fill,
|
fit: BoxFit.fill,
|
||||||
),
|
),
|
||||||
shape: OvalBorder(),
|
shape: const OvalBorder(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -559,7 +558,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
Align(
|
Align(
|
||||||
alignment: Alignment.bottomCenter,
|
alignment: Alignment.bottomCenter,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.only(top: 15, bottom: 15),
|
padding: const EdgeInsets.only(top: 15, bottom: 15),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
sizedBoxWidth(16.w),
|
sizedBoxWidth(16.w),
|
||||||
@@ -578,6 +577,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
const Color(0xFFffffff).withOpacity(0.24),
|
const Color(0xFFffffff).withOpacity(0.24),
|
||||||
const Color(0xFFFFFFFF).withOpacity(0.24),
|
const Color(0xFFFFFFFF).withOpacity(0.24),
|
||||||
],
|
],
|
||||||
|
// ignore: prefer_const_literals_to_create_immutables
|
||||||
stops: [
|
stops: [
|
||||||
0.1,
|
0.1,
|
||||||
1,
|
1,
|
||||||
@@ -611,7 +611,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(
|
||||||
fontSize: 14.sp,
|
fontSize: 14.sp,
|
||||||
color: Color(0XFFFCFCFC)
|
color: const Color(0XFFFCFCFC)
|
||||||
.withOpacity(0.80),
|
.withOpacity(0.80),
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
fontFamily: 'Helvetica'),
|
fontFamily: 'Helvetica'),
|
||||||
@@ -640,12 +640,12 @@ class _GroupChatPageState extends State<GroupChatPage> {
|
|||||||
height: 30.h,
|
height: 30.h,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color:
|
color:
|
||||||
Color(0xFFD90B2E),
|
const Color(0xFFD90B2E),
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius
|
BorderRadius
|
||||||
.circular(
|
.circular(
|
||||||
30.r)),
|
30.r)),
|
||||||
child: Center(
|
child: const Center(
|
||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.send_outlined,
|
Icons.send_outlined,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:glassmorphism/glassmorphism.dart';
|
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -74,9 +72,9 @@ class _NewChatPageState extends State<NewChatPage> {
|
|||||||
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
|
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
// backgroundColor: Color(0xFF222935),
|
// backgroundColor: Color(0xFF222935),
|
||||||
backgroundColor: Color.fromARGB(255, 18, 32, 47),
|
backgroundColor: const Color.fromARGB(255, 18, 32, 47),
|
||||||
|
|
||||||
appBar: CommonAppbar(titleTxt: 'New chat'),
|
appBar: const CommonAppbar(titleTxt: 'New chat'),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
Container(
|
Container(
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
@@ -96,7 +94,7 @@ class _NewChatPageState extends State<NewChatPage> {
|
|||||||
hintText: "Search people",
|
hintText: "Search people",
|
||||||
leadingIcon: Padding(
|
leadingIcon: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
child: Icon(
|
child: const Icon(
|
||||||
Icons.search,
|
Icons.search,
|
||||||
size: 35,
|
size: 35,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
@@ -127,13 +125,13 @@ class _NewChatPageState extends State<NewChatPage> {
|
|||||||
width: 50,
|
width: 50,
|
||||||
height: 50,
|
height: 50,
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
image: DecorationImage(
|
image: const DecorationImage(
|
||||||
image: AssetImage(
|
image: AssetImage(
|
||||||
'assets/images/png/chatgroup.png'),
|
'assets/images/png/chatgroup.png'),
|
||||||
),
|
),
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
begin: Alignment(0.71, -0.70),
|
begin: const Alignment(0.71, -0.70),
|
||||||
end: Alignment(-0.71, 0.7),
|
end: const Alignment(-0.71, 0.7),
|
||||||
colors: [
|
colors: [
|
||||||
Colors.white
|
Colors.white
|
||||||
.withOpacity(0.30000001192092896),
|
.withOpacity(0.30000001192092896),
|
||||||
@@ -141,7 +139,7 @@ class _NewChatPageState extends State<NewChatPage> {
|
|||||||
.withOpacity(0.30000001192092896)
|
.withOpacity(0.30000001192092896)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
shape: OvalBorder(
|
shape: const OvalBorder(
|
||||||
side: BorderSide(
|
side: BorderSide(
|
||||||
width: 0.50, color: Color(0xFF434A53)),
|
width: 0.50, color: Color(0xFF434A53)),
|
||||||
),
|
),
|
||||||
@@ -166,7 +164,7 @@ class _NewChatPageState extends State<NewChatPage> {
|
|||||||
separatorBuilder: (context, index) {
|
separatorBuilder: (context, index) {
|
||||||
return Divider(
|
return Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
itemCount: chatcontents.length,
|
itemCount: chatcontents.length,
|
||||||
@@ -199,7 +197,7 @@ class SecondChatList extends StatefulWidget {
|
|||||||
final String imageurl;
|
final String imageurl;
|
||||||
final String message;
|
final String message;
|
||||||
|
|
||||||
SecondChatList({
|
const SecondChatList({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.name,
|
required this.name,
|
||||||
required this.imageurl,
|
required this.imageurl,
|
||||||
@@ -250,7 +248,7 @@ class _SecondChatListState extends State<SecondChatList> {
|
|||||||
Text(
|
Text(
|
||||||
widget.message,
|
widget.message,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Color(0xCCFCFCFC),
|
color: const Color(0xCCFCFCFC),
|
||||||
fontSize: 12.sp,
|
fontSize: 12.sp,
|
||||||
fontFamily: 'Helvetica',
|
fontFamily: 'Helvetica',
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ import 'dart:io';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:glassmorphism/glassmorphism.dart';
|
|
||||||
import 'package:regroup/Common/controller/MainScreen.dart';
|
import 'package:regroup/Common/controller/MainScreen.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomNextButton.dart';
|
import 'package:regroup/Utils/Common/CustomNextButton.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
|
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
|
||||||
import 'package:regroup/Utils/Common/ImageUpload.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
|
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
|
||||||
@@ -80,8 +80,8 @@ class _NewGroupPageState extends State<NewGroupPage> {
|
|||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
|
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
backgroundColor: Color.fromARGB(255, 18, 32, 47),
|
backgroundColor: const Color.fromARGB(255, 18, 32, 47),
|
||||||
appBar: CommonAppbar(titleTxt: 'New group'),
|
appBar: const CommonAppbar(titleTxt: 'New group'),
|
||||||
body: Stack(
|
body: Stack(
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
@@ -121,14 +121,14 @@ class _NewGroupPageState extends State<NewGroupPage> {
|
|||||||
// image: AssetImage('assets/images/png/camera1.png'),
|
// image: AssetImage('assets/images/png/camera1.png'),
|
||||||
// ),
|
// ),
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
begin: Alignment(0.71, -0.70),
|
begin: const Alignment(0.71, -0.70),
|
||||||
end: Alignment(-0.71, 0.7),
|
end: const Alignment(-0.71, 0.7),
|
||||||
colors: [
|
colors: [
|
||||||
Colors.white.withOpacity(0.30000001192092896),
|
Colors.white.withOpacity(0.30000001192092896),
|
||||||
Colors.white.withOpacity(0.30000001192092896)
|
Colors.white.withOpacity(0.30000001192092896)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
shape: OvalBorder(
|
shape: const OvalBorder(
|
||||||
side: BorderSide(
|
side: BorderSide(
|
||||||
width: 0.50, color: Color(0xFF434A53)),
|
width: 0.50, color: Color(0xFF434A53)),
|
||||||
),
|
),
|
||||||
@@ -189,7 +189,7 @@ class _NewGroupPageState extends State<NewGroupPage> {
|
|||||||
hintText: "Search people",
|
hintText: "Search people",
|
||||||
leadingIcon: Padding(
|
leadingIcon: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
child: Icon(
|
child: const Icon(
|
||||||
Icons.search,
|
Icons.search,
|
||||||
size: 35,
|
size: 35,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
@@ -207,7 +207,7 @@ class _NewGroupPageState extends State<NewGroupPage> {
|
|||||||
separatorBuilder: (context, index) {
|
separatorBuilder: (context, index) {
|
||||||
return Divider(
|
return Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
itemCount: chatcontents.length,
|
itemCount: chatcontents.length,
|
||||||
@@ -234,7 +234,7 @@ class _NewGroupPageState extends State<NewGroupPage> {
|
|||||||
// Get.toNamed(RouteName.mainscreen);
|
// Get.toNamed(RouteName.mainscreen);
|
||||||
Get.offUntil(
|
Get.offUntil(
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) => MainScreen()),
|
builder: (context) => const MainScreen()),
|
||||||
(Route<dynamic> route) => false);
|
(Route<dynamic> route) => false);
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
@@ -254,7 +254,7 @@ class GroupsList extends StatefulWidget {
|
|||||||
final String imageurl;
|
final String imageurl;
|
||||||
final String message;
|
final String message;
|
||||||
|
|
||||||
GroupsList({
|
const GroupsList({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.name,
|
required this.name,
|
||||||
required this.imageurl,
|
required this.imageurl,
|
||||||
@@ -308,7 +308,7 @@ class _GroupsListState extends State<GroupsList> {
|
|||||||
Text(
|
Text(
|
||||||
widget.message,
|
widget.message,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Color(0xCCFCFCFC),
|
color: const Color(0xCCFCFCFC),
|
||||||
fontSize: 12.sp,
|
fontSize: 12.sp,
|
||||||
fontFamily: 'Helvetica',
|
fontFamily: 'Helvetica',
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
@@ -323,8 +323,8 @@ class _GroupsListState extends State<GroupsList> {
|
|||||||
Checkbox(
|
Checkbox(
|
||||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||||
side: BorderSide(
|
side: BorderSide(
|
||||||
color: Color(0xFF434A53).withOpacity(0.72), width: 1.5.w),
|
color: const Color(0xFF434A53).withOpacity(0.72), width: 1.5.w),
|
||||||
activeColor: Color(0xFF434A53).withOpacity(0.72),
|
activeColor: const Color(0xFF434A53).withOpacity(0.72),
|
||||||
shape: const RoundedRectangleBorder(
|
shape: const RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.all(Radius.circular(0.0)),
|
borderRadius: BorderRadius.all(Radius.circular(0.0)),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
|
|
||||||
void _showContextMenu(BuildContext context, Offset offset) {
|
void _showContextMenu(BuildContext context, Offset offset) {
|
||||||
showMenu(
|
showMenu(
|
||||||
color: Color(0XFf222935),
|
color: const Color(0XFf222935),
|
||||||
context: context,
|
context: context,
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
|
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
|
||||||
position:
|
position:
|
||||||
@@ -68,7 +68,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Mute chat", style: TextStyle(color: Colors.white)),
|
const Text("Mute chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/mute.png',
|
'assets/images/png/mute.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -78,7 +78,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
@@ -89,7 +89,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Pin chat", style: TextStyle(color: Colors.white)),
|
const Text("Pin chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/pin.png',
|
'assets/images/png/pin.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -99,7 +99,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -108,7 +108,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
value: 1,
|
value: 1,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Row(
|
const Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Search", style: TextStyle(color: Colors.white)),
|
Text("Search", style: TextStyle(color: Colors.white)),
|
||||||
@@ -121,7 +121,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -133,7 +133,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Profile", style: TextStyle(color: Colors.white)),
|
const Text("Profile", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/profile.png',
|
'assets/images/png/profile.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -143,7 +143,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -155,7 +155,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Block chat", style: TextStyle(color: Colors.white)),
|
const Text("Block chat", style: TextStyle(color: Colors.white)),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/blockchat.png',
|
'assets/images/png/blockchat.png',
|
||||||
width: 19.w,
|
width: 19.w,
|
||||||
@@ -165,7 +165,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
),
|
),
|
||||||
Divider(
|
Divider(
|
||||||
thickness: 0.6.h,
|
thickness: 0.6.h,
|
||||||
color: Color(0xffFFFFFF).withOpacity(0.72),
|
color: const Color(0xffFFFFFF).withOpacity(0.72),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -177,7 +177,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text("Delete chat", style: TextStyle(color: Colors.red)),
|
const Text("Delete chat", style: TextStyle(color: Colors.red)),
|
||||||
// Icon(Icons.delete, color: Colors.red),
|
// Icon(Icons.delete, color: Colors.red),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/deletetred.png',
|
'assets/images/png/deletetred.png',
|
||||||
@@ -247,11 +247,11 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
Get.focusScope?.unfocus();
|
Get.focusScope?.unfocus();
|
||||||
},
|
},
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
backgroundColor: Color.fromARGB(255, 18, 32, 47),
|
backgroundColor: const Color.fromARGB(255, 18, 32, 47),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
backgroundColor: Color(0xFF222935).withOpacity(0.50),
|
backgroundColor: const Color(0xFF222935).withOpacity(0.50),
|
||||||
flexibleSpace: SafeArea(
|
flexibleSpace: SafeArea(
|
||||||
child: Container(
|
child: Container(
|
||||||
// height: 90.h,
|
// height: 90.h,
|
||||||
@@ -293,7 +293,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
height: 40.h,
|
height: 40.h,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(25.h),
|
borderRadius: BorderRadius.circular(25.h),
|
||||||
image: DecorationImage(
|
image: const DecorationImage(
|
||||||
image:
|
image:
|
||||||
AssetImage("assets/images/png/Ellipse 52.png"),
|
AssetImage("assets/images/png/Ellipse 52.png"),
|
||||||
fit: BoxFit.fill)),
|
fit: BoxFit.fill)),
|
||||||
@@ -319,7 +319,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
Text(
|
Text(
|
||||||
"Ryan_01",
|
"Ryan_01",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Color(0xffFCFCFC).withOpacity(0.80),
|
color: const Color(0xffFCFCFC).withOpacity(0.80),
|
||||||
fontSize: 12.sp,
|
fontSize: 12.sp,
|
||||||
fontWeight: FontWeight.w400),
|
fontWeight: FontWeight.w400),
|
||||||
),
|
),
|
||||||
@@ -371,8 +371,8 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
child: Container(
|
child: Container(
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
begin: Alignment(1.00, -0.03),
|
begin: const Alignment(1.00, -0.03),
|
||||||
end: Alignment(-1, 0.03),
|
end: const Alignment(-1, 0.03),
|
||||||
colors: [
|
colors: [
|
||||||
Colors.white
|
Colors.white
|
||||||
.withOpacity(0.05999999865889549),
|
.withOpacity(0.05999999865889549),
|
||||||
@@ -380,7 +380,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
.withOpacity(0.07999999821186066)
|
.withOpacity(0.07999999821186066)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
shape: RoundedRectangleBorder(
|
shape: const RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.only(
|
borderRadius: BorderRadius.only(
|
||||||
topLeft: Radius.circular(20),
|
topLeft: Radius.circular(20),
|
||||||
topRight: Radius.circular(20),
|
topRight: Radius.circular(20),
|
||||||
@@ -428,7 +428,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
children: [
|
children: [
|
||||||
Flexible(
|
Flexible(
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: ShapeDecoration(
|
decoration: const ShapeDecoration(
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
begin: Alignment(1.00, 0.05),
|
begin: Alignment(1.00, 0.05),
|
||||||
end: Alignment(-1, -0.05),
|
end: Alignment(-1, -0.05),
|
||||||
@@ -476,7 +476,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
Align(
|
Align(
|
||||||
alignment: Alignment.bottomCenter,
|
alignment: Alignment.bottomCenter,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.only(top: 15, bottom: 15),
|
padding: const EdgeInsets.only(top: 15, bottom: 15),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
sizedBoxWidth(16.w),
|
sizedBoxWidth(16.w),
|
||||||
@@ -524,7 +524,7 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(
|
||||||
fontSize: 14.sp,
|
fontSize: 14.sp,
|
||||||
color: Color(0XFFFCFCFC).withOpacity(0.80),
|
color: const Color(0XFFFCFCFC).withOpacity(0.80),
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
fontFamily: 'Helvetica'),
|
fontFamily: 'Helvetica'),
|
||||||
hintText: "Type your message",
|
hintText: "Type your message",
|
||||||
@@ -548,10 +548,10 @@ class _UserChatPageState extends State<UserChatPage> {
|
|||||||
width: 45.w,
|
width: 45.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Color(0xFFD90B2E),
|
color: const Color(0xFFD90B2E),
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(30.r)),
|
BorderRadius.circular(30.r)),
|
||||||
child: Center(
|
child: const Center(
|
||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.send_outlined,
|
Icons.send_outlined,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ final List<String> titles = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
class _CommunityScreenState extends State<CommunityScreen> {
|
class _CommunityScreenState extends State<CommunityScreen> {
|
||||||
GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
|
final GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
@@ -105,7 +105,7 @@ class _CommunityScreenState extends State<CommunityScreen> {
|
|||||||
// initialIndex: selectedIndex.value,
|
// initialIndex: selectedIndex.value,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
CommonTabBar(tabs: const [
|
const CommonTabBar(tabs: [
|
||||||
Tab(
|
Tab(
|
||||||
text: 'Feed',
|
text: 'Feed',
|
||||||
),
|
),
|
||||||
@@ -483,7 +483,7 @@ Widget normalcardtile2({
|
|||||||
commonContainer(
|
commonContainer(
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
borderColor: Color(0xFF434A53),
|
borderColor: const Color(0xFF434A53),
|
||||||
borderwidth: 0.43,
|
borderwidth: 0.43,
|
||||||
opacity1: 0.2,
|
opacity1: 0.2,
|
||||||
opacity2: 0.2,
|
opacity2: 0.2,
|
||||||
@@ -502,7 +502,7 @@ Widget normalcardtile2({
|
|||||||
commonContainer(
|
commonContainer(
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
borderColor: Color(0xFF434A53),
|
borderColor: const Color(0xFF434A53),
|
||||||
borderwidth: 0.43,
|
borderwidth: 0.43,
|
||||||
opacity1: 0.2,
|
opacity1: 0.2,
|
||||||
opacity2: 0.2,
|
opacity2: 0.2,
|
||||||
@@ -1136,7 +1136,7 @@ Widget announcecardtile({
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
// Get.toNamed(RouteName.postdetailsScreen);
|
// Get.toNamed(RouteName.postdetailsScreen);
|
||||||
},
|
},
|
||||||
child: Container(
|
child: SizedBox(
|
||||||
height: 163.h,
|
height: 163.h,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
@@ -1185,7 +1185,7 @@ Widget announcecardtile({
|
|||||||
commonContainer(
|
commonContainer(
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
borderColor: Color(0xFF434A53),
|
borderColor: const Color(0xFF434A53),
|
||||||
borderwidth: 0.43,
|
borderwidth: 0.43,
|
||||||
opacity1: 0.2,
|
opacity1: 0.2,
|
||||||
opacity2: 0.2,
|
opacity2: 0.2,
|
||||||
@@ -1204,7 +1204,7 @@ Widget announcecardtile({
|
|||||||
commonContainer(
|
commonContainer(
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
borderColor: Color(0xFF434A53),
|
borderColor: const Color(0xFF434A53),
|
||||||
borderwidth: 0.43,
|
borderwidth: 0.43,
|
||||||
opacity1: 0.2,
|
opacity1: 0.2,
|
||||||
opacity2: 0.2,
|
opacity2: 0.2,
|
||||||
@@ -1367,7 +1367,7 @@ Widget containertile2({required String text}) {
|
|||||||
width: 130.w,
|
width: 130.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
borderRadius: BorderRadius.circular(30.r),
|
borderRadius: BorderRadius.circular(30.r),
|
||||||
borderColor: Color(0xFFD90B2E),
|
borderColor: const Color(0xFFD90B2E),
|
||||||
opacity1: 0.04,
|
opacity1: 0.04,
|
||||||
opacity2: 0.05,
|
opacity2: 0.05,
|
||||||
customWidget: Padding(
|
customWidget: Padding(
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ class _CycleScreenState extends State<CycleScreen> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: CommonAppbar(
|
||||||
@@ -46,7 +46,7 @@ class _CycleScreenState extends State<CycleScreen> {
|
|||||||
// initialIndex: selectedIndex.value,
|
// initialIndex: selectedIndex.value,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
CommonTabBar(tabs: const [
|
const CommonTabBar(tabs: [
|
||||||
Tab(
|
Tab(
|
||||||
text: 'Popular',
|
text: 'Popular',
|
||||||
),
|
),
|
||||||
@@ -58,8 +58,8 @@ class _CycleScreenState extends State<CycleScreen> {
|
|||||||
height: 670.h,
|
height: 670.h,
|
||||||
child: TabBarView(
|
child: TabBarView(
|
||||||
children: [
|
children: [
|
||||||
CyclepopularTab(),
|
cyclepopularTab(),
|
||||||
CyclelatestTab(),
|
cyclelatestTab(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -70,7 +70,7 @@ class _CycleScreenState extends State<CycleScreen> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget CyclepopularTab() {
|
Widget cyclepopularTab() {
|
||||||
return SingleChildScrollView(
|
return SingleChildScrollView(
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
sizedBoxHeight(20.h),
|
sizedBoxHeight(20.h),
|
||||||
@@ -101,7 +101,7 @@ Widget CyclepopularTab() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget CyclelatestTab() {
|
Widget cyclelatestTab() {
|
||||||
return SingleChildScrollView(
|
return SingleChildScrollView(
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
sizedBoxHeight(20.h),
|
sizedBoxHeight(20.h),
|
||||||
@@ -172,7 +172,7 @@ Widget normalcardtile({
|
|||||||
sizedBoxWidth(7.w),
|
sizedBoxWidth(7.w),
|
||||||
Icon(
|
Icon(
|
||||||
Icons.circle,
|
Icons.circle,
|
||||||
color: Color(0xFFFCFCFC),
|
color: const Color(0xFFFCFCFC),
|
||||||
size: 4.sp,
|
size: 4.sp,
|
||||||
),
|
),
|
||||||
sizedBoxWidth(6.w),
|
sizedBoxWidth(6.w),
|
||||||
@@ -181,12 +181,12 @@ Widget normalcardtile({
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
PopupMenuButton(
|
PopupMenuButton(
|
||||||
surfaceTintColor: Color(0xFF222935),
|
surfaceTintColor: const Color(0xFF222935),
|
||||||
constraints: BoxConstraints.tightFor(width: 176.w),
|
constraints: BoxConstraints.tightFor(width: 176.w),
|
||||||
offset: Offset(0, 50),
|
offset: const Offset(0, 50),
|
||||||
color: Color(0xFF222935),
|
color: const Color(0xFF222935),
|
||||||
tooltip: "",
|
tooltip: "",
|
||||||
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
@@ -204,7 +204,7 @@ Widget normalcardtile({
|
|||||||
fontFamily: "Nunito Sans",
|
fontFamily: "Nunito Sans",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/Vector (5).png",
|
"assets/images/png/Vector (5).png",
|
||||||
height: 15.h,
|
height: 15.h,
|
||||||
@@ -214,7 +214,7 @@ Widget normalcardtile({
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -230,7 +230,7 @@ Widget normalcardtile({
|
|||||||
fontFamily: "Nunito Sans",
|
fontFamily: "Nunito Sans",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/share.png",
|
"assets/images/png/share.png",
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
@@ -240,7 +240,7 @@ Widget normalcardtile({
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -256,7 +256,7 @@ Widget normalcardtile({
|
|||||||
fontFamily: "Nunito Sans",
|
fontFamily: "Nunito Sans",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/f7_pin-fill (2).png",
|
"assets/images/png/f7_pin-fill (2).png",
|
||||||
height: 25.h,
|
height: 25.h,
|
||||||
@@ -282,7 +282,7 @@ Widget normalcardtile({
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.postdetailsScreen);
|
Get.toNamed(RouteName.postdetailsScreen);
|
||||||
},
|
},
|
||||||
child: Container(
|
child: SizedBox(
|
||||||
height: 163.h,
|
height: 163.h,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
@@ -326,7 +326,7 @@ Widget normalcardtile({
|
|||||||
'assets/images/png/party-popper 2.png'
|
'assets/images/png/party-popper 2.png'
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
border: 0.43,
|
border: 0.43,
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
@@ -411,11 +411,11 @@ Widget normalcardtile({
|
|||||||
boxRadius: 30,
|
boxRadius: 30,
|
||||||
itemsSpacing: 8,
|
itemsSpacing: 8,
|
||||||
itemScale: 0.4,
|
itemScale: 0.4,
|
||||||
itemSize: Size(45, 45),
|
itemSize: const Size(45, 45),
|
||||||
boxPadding: EdgeInsets.all(8),
|
boxPadding: const EdgeInsets.all(8),
|
||||||
boxAnimationDuration: Duration(milliseconds: 200),
|
boxAnimationDuration: const Duration(milliseconds: 200),
|
||||||
itemAnimationDuration: Duration(milliseconds: 500),
|
itemAnimationDuration: const Duration(milliseconds: 500),
|
||||||
hoverDuration: Duration(milliseconds: 700),
|
hoverDuration: const Duration(milliseconds: 700),
|
||||||
// toggle: false,
|
// toggle: false,
|
||||||
|
|
||||||
child: _buildReactionsIcon(mainImage.value),
|
child: _buildReactionsIcon(mainImage.value),
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import 'package:regroup/Common/CommonGlassmorphism.dart';
|
|||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -23,9 +22,9 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Post",
|
titleTxt: "Post",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
@@ -59,7 +58,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
children: [
|
children: [
|
||||||
CircleAvatar(
|
CircleAvatar(
|
||||||
radius: 20.r,
|
radius: 20.r,
|
||||||
foregroundImage: AssetImage(
|
foregroundImage: const AssetImage(
|
||||||
"assets/images/png/Ellipse 48.png",
|
"assets/images/png/Ellipse 48.png",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -81,13 +80,13 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
Align(
|
Align(
|
||||||
alignment: Alignment.bottomCenter,
|
alignment: Alignment.bottomCenter,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.only(top: 15, bottom: 15),
|
padding: const EdgeInsets.only(top: 15, bottom: 15),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
child: CustomTextFormField(
|
child: CustomTextFormField(
|
||||||
hintText: "Add comment",
|
hintText: "Add comment",
|
||||||
suffixIcon: Container(
|
suffixIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 25.w,
|
width: 25.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -151,22 +150,22 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
text16w400_FCFCFC(title),
|
text16w400_FCFCFC(title),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
width: 72.w,
|
width: 72.w,
|
||||||
height: 26.h,
|
height: 26.h,
|
||||||
borderradius: 5.r,
|
borderradius: 5.r,
|
||||||
borderColor: Color(0xFFD90B2E),
|
borderColor: const Color(0xFFD90B2E),
|
||||||
customWidget:
|
customWidget:
|
||||||
Center(child: text14400white("Follow")),
|
Center(child: text14400white("Follow")),
|
||||||
border: 1),
|
border: 1),
|
||||||
sizedBoxWidth(6.w),
|
sizedBoxWidth(6.w),
|
||||||
PopupMenuButton(
|
PopupMenuButton(
|
||||||
surfaceTintColor: Color(0xFF222935),
|
surfaceTintColor: const Color(0xFF222935),
|
||||||
constraints:
|
constraints:
|
||||||
BoxConstraints.tightFor(width: 176.w),
|
BoxConstraints.tightFor(width: 176.w),
|
||||||
offset: Offset(0, 50),
|
offset: const Offset(0, 50),
|
||||||
color: Color(0xFF222935),
|
color: const Color(0xFF222935),
|
||||||
tooltip: "",
|
tooltip: "",
|
||||||
itemBuilder: (BuildContext context) =>
|
itemBuilder: (BuildContext context) =>
|
||||||
<PopupMenuEntry>[
|
<PopupMenuEntry>[
|
||||||
@@ -186,7 +185,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
fontFamily: "Nunito Sans",
|
fontFamily: "Nunito Sans",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/Vector (5).png",
|
"assets/images/png/Vector (5).png",
|
||||||
height: 15.h,
|
height: 15.h,
|
||||||
@@ -196,7 +195,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -213,7 +212,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
fontFamily: "Nunito Sans",
|
fontFamily: "Nunito Sans",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/share.png",
|
"assets/images/png/share.png",
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
@@ -223,7 +222,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -240,7 +239,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
fontFamily: "Nunito Sans",
|
fontFamily: "Nunito Sans",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/f7_pin-fill (2).png",
|
"assets/images/png/f7_pin-fill (2).png",
|
||||||
height: 25.h,
|
height: 25.h,
|
||||||
@@ -272,7 +271,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
sizedBoxWidth(7.w),
|
sizedBoxWidth(7.w),
|
||||||
Icon(
|
Icon(
|
||||||
Icons.circle,
|
Icons.circle,
|
||||||
color: Color(0xFFFCFCFC),
|
color: const Color(0xFFFCFCFC),
|
||||||
size: 4.sp,
|
size: 4.sp,
|
||||||
),
|
),
|
||||||
sizedBoxWidth(6.w),
|
sizedBoxWidth(6.w),
|
||||||
@@ -290,7 +289,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.postdetailsScreen);
|
Get.toNamed(RouteName.postdetailsScreen);
|
||||||
},
|
},
|
||||||
child: Container(
|
child: SizedBox(
|
||||||
height: 163.h,
|
height: 163.h,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
@@ -329,7 +328,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
'assets/images/png/heart 2.png',
|
'assets/images/png/heart 2.png',
|
||||||
'assets/images/png/party-popper 2.png'
|
'assets/images/png/party-popper 2.png'
|
||||||
]),
|
]),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
border: 0.9,
|
border: 0.9,
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
@@ -414,13 +413,13 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
boxRadius: 30,
|
boxRadius: 30,
|
||||||
itemsSpacing: 8,
|
itemsSpacing: 8,
|
||||||
itemScale: 0.4,
|
itemScale: 0.4,
|
||||||
itemSize: Size(45, 45),
|
itemSize: const Size(45, 45),
|
||||||
boxPadding: EdgeInsets.all(8),
|
boxPadding: const EdgeInsets.all(8),
|
||||||
boxAnimationDuration:
|
boxAnimationDuration:
|
||||||
Duration(milliseconds: 200),
|
const Duration(milliseconds: 200),
|
||||||
itemAnimationDuration:
|
itemAnimationDuration:
|
||||||
Duration(milliseconds: 500),
|
const Duration(milliseconds: 500),
|
||||||
hoverDuration: Duration(milliseconds: 700),
|
hoverDuration: const Duration(milliseconds: 700),
|
||||||
// toggle: false,
|
// toggle: false,
|
||||||
|
|
||||||
child: _buildReactionsIcon(mainImage.value),
|
child: _buildReactionsIcon(mainImage.value),
|
||||||
@@ -458,7 +457,7 @@ class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
|||||||
width: 100.w,
|
width: 100.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
borderradius: 30.r,
|
borderradius: 30.r,
|
||||||
borderColor: Color(0xFFD90B2E),
|
borderColor: const Color(0xFFD90B2E),
|
||||||
customWidget: Padding(
|
customWidget: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
||||||
child: Center(child: text14w400_FCFCFC(text)),
|
child: Center(child: text14w400_FCFCFC(text)),
|
||||||
|
|||||||
@@ -67,9 +67,9 @@ class _ReactionViewState extends State<ReactionView> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Post",
|
titleTxt: "Post",
|
||||||
),
|
),
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
@@ -89,13 +89,13 @@ class _ReactionViewState extends State<ReactionView> {
|
|||||||
// initialIndex: selectedIndex.value,
|
// initialIndex: selectedIndex.value,
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
CommonTabBar(tabs: [
|
CommonTabBar(tabs: [
|
||||||
Tab(
|
const Tab(
|
||||||
text: 'All',
|
text: 'All',
|
||||||
),
|
),
|
||||||
Tab(
|
Tab(
|
||||||
child: Row(children: [
|
child: Row(children: [
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
borderColor: Color(0xFF1E3A46),
|
borderColor: const Color(0xFF1E3A46),
|
||||||
opacity1: 0.05,
|
opacity1: 0.05,
|
||||||
opacity2: 0.06,
|
opacity2: 0.06,
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
@@ -109,14 +109,14 @@ class _ReactionViewState extends State<ReactionView> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
border: 1.71),
|
border: 1.71),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
text14400white("110K"),
|
text14400white("110K"),
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
Tab(
|
Tab(
|
||||||
child: Row(children: [
|
child: Row(children: [
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
borderColor: Color(0xFF1E3A46),
|
borderColor: const Color(0xFF1E3A46),
|
||||||
opacity1: 0.05,
|
opacity1: 0.05,
|
||||||
opacity2: 0.06,
|
opacity2: 0.06,
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
@@ -130,14 +130,14 @@ class _ReactionViewState extends State<ReactionView> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
border: 1.71),
|
border: 1.71),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
text14400white("9.7K"),
|
text14400white("9.7K"),
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
Tab(
|
Tab(
|
||||||
child: Row(children: [
|
child: Row(children: [
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
borderColor: Color(0xFF1E3A46),
|
borderColor: const Color(0xFF1E3A46),
|
||||||
opacity1: 0.05,
|
opacity1: 0.05,
|
||||||
opacity2: 0.06,
|
opacity2: 0.06,
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
@@ -151,7 +151,7 @@ class _ReactionViewState extends State<ReactionView> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
border: 1.71),
|
border: 1.71),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
text14400white("7.4K"),
|
text14400white("7.4K"),
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
@@ -294,9 +294,9 @@ class _ReactionViewState extends State<ReactionView> {
|
|||||||
width: 22.w,
|
width: 22.w,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
color: Color(0xFF1E3A46),
|
color: const Color(0xFF1E3A46),
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
color: Color(0xFFFCFCFC).withOpacity(0.18),
|
color: const Color(0xFFFCFCFC).withOpacity(0.18),
|
||||||
width: 0.6)),
|
width: 0.6)),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
|
|||||||
@@ -3,17 +3,16 @@ import 'dart:io';
|
|||||||
import 'package:dotted_border/dotted_border.dart';
|
import 'package:dotted_border/dotted_border.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_reaction_button/flutter_reaction_button.dart';
|
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:regroup/Common/CommonButton.dart';
|
import 'package:regroup/Common/CommonButton.dart';
|
||||||
import 'package:regroup/Common/CommonDropDown.dart';
|
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonDropdown.dart';
|
import 'package:regroup/Utils/Common/CommonDropdown.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
|
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
|
||||||
import 'package:regroup/Utils/Common/ImageUpload.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -42,10 +41,10 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Create a post",
|
titleTxt: "Create a post",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
@@ -88,15 +87,15 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
},
|
},
|
||||||
child: DottedBorder(
|
child: DottedBorder(
|
||||||
strokeWidth: 1,
|
strokeWidth: 1,
|
||||||
dashPattern: [7, 4],
|
dashPattern: const [7, 4],
|
||||||
borderType: BorderType.RRect,
|
borderType: BorderType.RRect,
|
||||||
radius: Radius.circular(14.r),
|
radius: Radius.circular(14.r),
|
||||||
color: Color(0xFF434A53),
|
color: const Color(0xFF434A53),
|
||||||
child: commonGlassContainer(
|
child: commonGlassUI(
|
||||||
border: 0,
|
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
height: 130.h,
|
height: 130.h,
|
||||||
borderradius: 10.r,
|
borderRadius: BorderRadius.circular(10.r),
|
||||||
|
borderColor: Colors.transparent,
|
||||||
customWidget: bannerPath.isNotEmpty && isbannerAdded
|
customWidget: bannerPath.isNotEmpty && isbannerAdded
|
||||||
? Stack(children: [
|
? Stack(children: [
|
||||||
Image.file(
|
Image.file(
|
||||||
@@ -117,13 +116,13 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
width: 27,
|
width: 27,
|
||||||
height: 27,
|
height: 27,
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
color: Color(0xFF7E7E7E),
|
color: const Color(0xFF7E7E7E),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(
|
BorderRadius.circular(
|
||||||
5)),
|
5)),
|
||||||
),
|
),
|
||||||
child: Icon(
|
child: const Icon(
|
||||||
Icons.delete_outline_outlined,
|
Icons.delete_outline_outlined,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
))),
|
))),
|
||||||
@@ -155,14 +154,14 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
CustomDropDownTag1(
|
CustomDropDownTag1(
|
||||||
header: "Enter tags",
|
header: "Enter tags",
|
||||||
title: "Enter tags",
|
title: "Enter tags",
|
||||||
listData: [
|
listData: const [
|
||||||
"#Race",
|
"#Race",
|
||||||
"#Swimming",
|
"#Swimming",
|
||||||
"#Cycle",
|
"#Cycle",
|
||||||
"#Swimming",
|
"#Swimming",
|
||||||
"#Race"
|
"#Race"
|
||||||
],
|
],
|
||||||
rowData: [
|
rowData: const [
|
||||||
"23,233 Recently use tags",
|
"23,233 Recently use tags",
|
||||||
"15,123 Recently use tags",
|
"15,123 Recently use tags",
|
||||||
"15,123 Recently use tags",
|
"15,123 Recently use tags",
|
||||||
@@ -170,7 +169,7 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
"15,123 Available tags"
|
"15,123 Available tags"
|
||||||
],
|
],
|
||||||
onItemSelected: (p0) {},
|
onItemSelected: (p0) {},
|
||||||
leadingImage: SizedBox()),
|
leadingImage: const SizedBox()),
|
||||||
// CustomTextFormField(
|
// CustomTextFormField(
|
||||||
// suffixIcon: Container(
|
// suffixIcon: Container(
|
||||||
// height: 20.h,
|
// height: 20.h,
|
||||||
@@ -224,9 +223,9 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
CustomDropDownRadio(
|
CustomDropDownRadio(
|
||||||
header: "",
|
header: "",
|
||||||
title: "",
|
title: "",
|
||||||
listData: ['Individual', 'Anonymous'],
|
listData: const ['Individual', 'Anonymous'],
|
||||||
onItemSelected: (p0) {},
|
onItemSelected: (p0) {},
|
||||||
leadingImage: SizedBox()),
|
leadingImage: const SizedBox()),
|
||||||
// CommonDropdownradioBtn(
|
// CommonDropdownradioBtn(
|
||||||
// hint: '', items: ['Individual', 'Anonymous']),
|
// hint: '', items: ['Individual', 'Anonymous']),
|
||||||
|
|
||||||
@@ -236,20 +235,20 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
CustomDropDownCheckBox(
|
CustomDropDownCheckBox(
|
||||||
header: "",
|
header: "",
|
||||||
title: "",
|
title: "",
|
||||||
listData: [
|
listData: const [
|
||||||
'Active alliance network',
|
'Active alliance network',
|
||||||
'Fitfam federation',
|
'Fitfam federation',
|
||||||
'The athletic town',
|
'The athletic town',
|
||||||
'Football fever'
|
'Football fever'
|
||||||
],
|
],
|
||||||
onItemSelected: (p0) {},
|
onItemSelected: (p0) {},
|
||||||
images: [
|
images: const [
|
||||||
'assets/images/png/Rectangle 65.png',
|
'assets/images/png/Rectangle 65.png',
|
||||||
'assets/images/png/Rectangle 66.png',
|
'assets/images/png/Rectangle 66.png',
|
||||||
'assets/images/png/Rectangle 60.png',
|
'assets/images/png/Rectangle 60.png',
|
||||||
'assets/images/png/Rectangle 68.png'
|
'assets/images/png/Rectangle 68.png'
|
||||||
],
|
],
|
||||||
leadingImage: SizedBox()),
|
leadingImage: const SizedBox()),
|
||||||
// CommonDropdownCheckbox(
|
// CommonDropdownCheckbox(
|
||||||
// hint: '',
|
// hint: '',
|
||||||
// items: [
|
// items: [
|
||||||
@@ -284,7 +283,7 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
Get.bottomSheet(Container(
|
Get.bottomSheet(Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(14.r),
|
borderRadius: BorderRadius.circular(14.r),
|
||||||
color: Color(0xFF222935)),
|
color: const Color(0xFF222935)),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 30.w),
|
padding: EdgeInsets.symmetric(horizontal: 30.w),
|
||||||
child: Column(mainAxisSize: MainAxisSize.min, children: [
|
child: Column(mainAxisSize: MainAxisSize.min, children: [
|
||||||
@@ -306,7 +305,7 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
height: 35.h,
|
height: 35.h,
|
||||||
width: 216.w,
|
width: 216.w,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
border: Border.all(color: Color(0xFF434A53), width: 1),
|
border: Border.all(color: const Color(0xFF434A53), width: 1),
|
||||||
gradient: const LinearGradient(
|
gradient: const LinearGradient(
|
||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
@@ -341,12 +340,12 @@ class _PostScreenState extends State<PostScreen> {
|
|||||||
height: 35,
|
height: 35,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: selectedContainerIndices.contains(index)
|
color: selectedContainerIndices.contains(index)
|
||||||
? Color(0xFFD90B2E).withOpacity(0.4)
|
? const Color(0xFFD90B2E).withOpacity(0.4)
|
||||||
: Color(0xFFFFFFFF).withOpacity(0.2),
|
: const Color(0xFFFFFFFF).withOpacity(0.2),
|
||||||
borderRadius: BorderRadius.circular(30),
|
borderRadius: BorderRadius.circular(30),
|
||||||
border: Border.all(color: Color(0xFFD90B2E), width: 1)),
|
border: Border.all(color: const Color(0xFFD90B2E), width: 1)),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 20),
|
padding: const EdgeInsets.symmetric(horizontal: 20),
|
||||||
child: Center(child: text14w400_FCFCFC(text)),
|
child: Center(child: text14w400_FCFCFC(text)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import 'package:regroup/Common/CommonGlassmorphism.dart';
|
|||||||
import 'package:regroup/Common/CommonTabBar.dart';
|
import 'package:regroup/Common/CommonTabBar.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Common/controller/CommonTextFormField.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
|
|
||||||
@@ -20,7 +19,7 @@ class _DetailExploreState extends State<DetailExplore> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
@@ -46,13 +45,13 @@ class _DetailExploreState extends State<DetailExplore> {
|
|||||||
width: 40.w,
|
width: 40.w,
|
||||||
height: 40.h,
|
height: 40.h,
|
||||||
borderradius: 100,
|
borderradius: 100,
|
||||||
customWidget: Center(
|
customWidget: const Center(
|
||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.arrow_back,
|
Icons.arrow_back,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
)),
|
)),
|
||||||
border: 1,
|
border: 1,
|
||||||
borderColor: Color(0xFF55434F)),
|
borderColor: const Color(0xFF55434F)),
|
||||||
),
|
),
|
||||||
sizedBoxWidth(12.w),
|
sizedBoxWidth(12.w),
|
||||||
Expanded(
|
Expanded(
|
||||||
@@ -80,7 +79,7 @@ class _DetailExploreState extends State<DetailExplore> {
|
|||||||
length: 4,
|
length: 4,
|
||||||
// initialIndex: selectedIndex.value,
|
// initialIndex: selectedIndex.value,
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
CommonTabBar(tabs: const [
|
const CommonTabBar(tabs: [
|
||||||
Tab(
|
Tab(
|
||||||
text: 'All',
|
text: 'All',
|
||||||
),
|
),
|
||||||
@@ -164,7 +163,7 @@ class _DetailExploreState extends State<DetailExplore> {
|
|||||||
height: 30.h,
|
height: 30.h,
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
border: Border.all(color: Color(0xFF434A53), width: 0.5.w),
|
border: Border.all(color: const Color(0xFF434A53), width: 0.5.w),
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
),
|
),
|
||||||
child: Center(child: Image.asset(imagePath, fit: BoxFit.fill)),
|
child: Center(child: Image.asset(imagePath, fit: BoxFit.fill)),
|
||||||
@@ -177,19 +176,19 @@ class _DetailExploreState extends State<DetailExplore> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget eventsTab() {
|
Widget eventsTab() {
|
||||||
return Column(
|
return const Column(
|
||||||
children: [],
|
children: [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget groupsTab() {
|
Widget groupsTab() {
|
||||||
return Column(
|
return const Column(
|
||||||
children: [],
|
children: [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget communitiesTab() {
|
Widget communitiesTab() {
|
||||||
return Column(
|
return const Column(
|
||||||
children: [],
|
children: [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import 'package:google_maps_flutter/google_maps_flutter.dart';
|
|||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/Common/global.dart' as global;
|
import 'package:regroup/Common/global.dart' as global;
|
||||||
@@ -20,7 +19,7 @@ class ExploreScreen extends StatefulWidget {
|
|||||||
|
|
||||||
class _ExploreScreenState extends State<ExploreScreen> {
|
class _ExploreScreenState extends State<ExploreScreen> {
|
||||||
GoogleMapController? _mapController;
|
GoogleMapController? _mapController;
|
||||||
double _zoomLevel = 18.0;
|
final double _zoomLevel = 18.0;
|
||||||
|
|
||||||
// BitmapDescriptor? _customIcon1;
|
// BitmapDescriptor? _customIcon1;
|
||||||
// BitmapDescriptor? _customIcon2;
|
// BitmapDescriptor? _customIcon2;
|
||||||
@@ -46,14 +45,14 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
Future<void> _showInitialBottomSheet() async {
|
Future<void> _showInitialBottomSheet() async {
|
||||||
await Future.delayed(Duration(milliseconds: 400));
|
await Future.delayed(const Duration(milliseconds: 400));
|
||||||
exploreBottomSheet();
|
exploreBottomSheet();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
// appBar: CommonAppbar(
|
// appBar: CommonAppbar(
|
||||||
// titleTxt: "",
|
// titleTxt: "",
|
||||||
@@ -87,7 +86,7 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
|||||||
),
|
),
|
||||||
markers: {
|
markers: {
|
||||||
Marker(
|
Marker(
|
||||||
markerId: MarkerId('currentP'),
|
markerId: const MarkerId('currentP'),
|
||||||
icon: BitmapDescriptor.defaultMarker,
|
icon: BitmapDescriptor.defaultMarker,
|
||||||
position: global.latlong!,
|
position: global.latlong!,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
@@ -95,9 +94,9 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
Marker(
|
Marker(
|
||||||
markerId: MarkerId('currentP'),
|
markerId: const MarkerId('currentP'),
|
||||||
icon: BitmapDescriptor.defaultMarker,
|
icon: BitmapDescriptor.defaultMarker,
|
||||||
position: LatLng(19.155001, 72.84998),
|
position: const LatLng(19.155001, 72.84998),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
exploreBottomSheet2();
|
exploreBottomSheet2();
|
||||||
},
|
},
|
||||||
@@ -114,7 +113,7 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
|||||||
},
|
},
|
||||||
child: AbsorbPointer(
|
child: AbsorbPointer(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16),
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
child: CustomTextFormField(
|
child: CustomTextFormField(
|
||||||
leadingIcon: SizedBox(
|
leadingIcon: SizedBox(
|
||||||
height: 23,
|
height: 23,
|
||||||
@@ -144,7 +143,7 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
|||||||
topLeft: Radius.circular(10.r),
|
topLeft: Radius.circular(10.r),
|
||||||
topRight: Radius.circular(10.r),
|
topRight: Radius.circular(10.r),
|
||||||
),
|
),
|
||||||
color: Color(0xFF222935),
|
color: const Color(0xFF222935),
|
||||||
),
|
),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
@@ -173,7 +172,7 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
|||||||
child: Container(
|
child: Container(
|
||||||
height: 85.h,
|
height: 85.h,
|
||||||
width: 85.w,
|
width: 85.w,
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
),
|
),
|
||||||
child: Image.asset("assets/images/png/Ellipse 37.png",
|
child: Image.asset("assets/images/png/Ellipse 37.png",
|
||||||
@@ -206,7 +205,7 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
|||||||
border: 0.5),
|
border: 0.5),
|
||||||
sizedBoxWidth(10.w),
|
sizedBoxWidth(10.w),
|
||||||
text16400white("10 subgroups "),
|
text16400white("10 subgroups "),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
commonGlassContainer(
|
commonGlassContainer(
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
@@ -233,12 +232,12 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
|||||||
borderradius: 30.r,
|
borderradius: 30.r,
|
||||||
customWidget: Center(child: text14w400_FCFCFC("Message")),
|
customWidget: Center(child: text14w400_FCFCFC("Message")),
|
||||||
border: 1),
|
border: 1),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Container(
|
Container(
|
||||||
width: 170.w,
|
width: 170.w,
|
||||||
height: 35.h,
|
height: 35.h,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Color(0xFFD90B2E),
|
color: const Color(0xFFD90B2E),
|
||||||
borderRadius: BorderRadius.circular(30.r)),
|
borderRadius: BorderRadius.circular(30.r)),
|
||||||
child: Center(child: text14400white("Visit group")),
|
child: Center(child: text14400white("Visit group")),
|
||||||
),
|
),
|
||||||
@@ -277,7 +276,7 @@ class _ExploreScreenState extends State<ExploreScreen> {
|
|||||||
topLeft: Radius.circular(10.r),
|
topLeft: Radius.circular(10.r),
|
||||||
topRight: Radius.circular(10.r),
|
topRight: Radius.circular(10.r),
|
||||||
),
|
),
|
||||||
color: Color(0xFF222935),
|
color: const Color(0xFF222935),
|
||||||
),
|
),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import 'package:get/get.dart';
|
|||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Common/controller/CommonTextFormField.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -21,7 +21,7 @@ class _SearchGroupState extends State<SearchGroup> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: Stack(children: [
|
child: Stack(children: [
|
||||||
@@ -64,7 +64,7 @@ class _SearchGroupState extends State<SearchGroup> {
|
|||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
text18w700white("Recent"),
|
text18w700white("Recent"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
text16w400_FCFCFCblur("See all"),
|
text16w400_FCFCFCblur("See all"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -85,12 +85,12 @@ class _SearchGroupState extends State<SearchGroup> {
|
|||||||
CircleAvatar(
|
CircleAvatar(
|
||||||
radius: 15.r,
|
radius: 15.r,
|
||||||
backgroundImage:
|
backgroundImage:
|
||||||
AssetImage("assets/images/png/cimg3.png"),
|
const AssetImage("assets/images/png/cimg3.png"),
|
||||||
),
|
),
|
||||||
sizedBoxWidth(12.w),
|
sizedBoxWidth(12.w),
|
||||||
text16400white("Kartikey gautam"),
|
text16400white("Kartikey gautam"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Icon(
|
const Icon(
|
||||||
Icons.clear,
|
Icons.clear,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
)
|
)
|
||||||
@@ -139,8 +139,8 @@ class _SearchGroupState extends State<SearchGroup> {
|
|||||||
border: 0.5),
|
border: 0.5),
|
||||||
sizedBoxWidth(12.w),
|
sizedBoxWidth(12.w),
|
||||||
text16400white(title),
|
text16400white(title),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Icon(
|
const Icon(
|
||||||
Icons.clear,
|
Icons.clear,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
|
||||||
|
|
||||||
class ConnectCommunity extends StatefulWidget {
|
class ConnectCommunity extends StatefulWidget {
|
||||||
const ConnectCommunity({super.key});
|
const ConnectCommunity({super.key});
|
||||||
@@ -34,10 +32,10 @@ class _ConnectCommunityState extends State<ConnectCommunity> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Connect with communities",
|
titleTxt: "Connect with communities",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
@@ -54,7 +52,7 @@ class _ConnectCommunityState extends State<ConnectCommunity> {
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: ListView.builder(
|
child: ListView.builder(
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
physics: BouncingScrollPhysics(),
|
physics: const BouncingScrollPhysics(),
|
||||||
itemCount: communityData.length,
|
itemCount: communityData.length,
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
return communityCard(
|
return communityCard(
|
||||||
@@ -95,7 +93,7 @@ class _ConnectCommunityState extends State<ConnectCommunity> {
|
|||||||
Container(
|
Container(
|
||||||
height: 65.h,
|
height: 65.h,
|
||||||
width: 65.h,
|
width: 65.h,
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
// color: Colors.amber,
|
// color: Colors.amber,
|
||||||
),
|
),
|
||||||
@@ -128,7 +126,7 @@ class _ConnectCommunityState extends State<ConnectCommunity> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
sizedBoxHeight(16.h),
|
sizedBoxHeight(16.h),
|
||||||
@@ -148,13 +146,13 @@ class _ConnectCommunityState extends State<ConnectCommunity> {
|
|||||||
),
|
),
|
||||||
sizedBoxWidth(95.w),
|
sizedBoxWidth(95.w),
|
||||||
text12w400_FCFCFC_blur(members),
|
text12w400_FCFCFC_blur(members),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Container(
|
Container(
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
width: 123.w,
|
width: 123.w,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(30.r),
|
borderRadius: BorderRadius.circular(30.r),
|
||||||
color: Color(0xFFD90B2E)),
|
color: const Color(0xFFD90B2E)),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: text14w400_FCFCFC("Request to join")),
|
child: text14w400_FCFCFC("Request to join")),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -35,10 +33,10 @@ class _GroupSettingsState extends State<GroupSettings> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Group settings",
|
titleTxt: "Group settings",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
@@ -60,7 +58,7 @@ class _GroupSettingsState extends State<GroupSettings> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
text18w400_FCFCFC("Group type"),
|
text18w400_FCFCFC("Group type"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Icon(
|
Icon(
|
||||||
Icons.arrow_forward_ios_outlined,
|
Icons.arrow_forward_ios_outlined,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
@@ -82,7 +80,7 @@ class _GroupSettingsState extends State<GroupSettings> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
text18w400_FCFCFC("Manage members"),
|
text18w400_FCFCFC("Manage members"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Icon(
|
Icon(
|
||||||
Icons.arrow_forward_ios_outlined,
|
Icons.arrow_forward_ios_outlined,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
@@ -106,7 +104,7 @@ class _GroupSettingsState extends State<GroupSettings> {
|
|||||||
topLeft: Radius.circular(30.r),
|
topLeft: Radius.circular(30.r),
|
||||||
topRight: Radius.circular(30.r),
|
topRight: Radius.circular(30.r),
|
||||||
),
|
),
|
||||||
color: Color(0xFF222935),
|
color: const Color(0xFF222935),
|
||||||
),
|
),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import 'package:regroup/Common/CommonGlassmorphism.dart';
|
|||||||
import 'package:regroup/Common/CommonTabBar.dart';
|
import 'package:regroup/Common/CommonTabBar.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
@@ -60,13 +60,13 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime.now(),
|
startTime: DateTime.now(),
|
||||||
endTime: DateTime.now().add(Duration(hours: 3)),
|
endTime: DateTime.now().add(const Duration(hours: 3)),
|
||||||
subject: 'Match day',
|
subject: 'Match day',
|
||||||
// color: Colors.red,
|
// color: Colors.red,
|
||||||
),
|
),
|
||||||
Appointment(
|
Appointment(
|
||||||
startTime: DateTime.now(),
|
startTime: DateTime.now(),
|
||||||
endTime: DateTime.now().add(Duration(hours: 3)),
|
endTime: DateTime.now().add(const Duration(hours: 3)),
|
||||||
subject: 'Muharram/Ashura',
|
subject: 'Muharram/Ashura',
|
||||||
// color: Colors.red,
|
// color: Colors.red,
|
||||||
),
|
),
|
||||||
@@ -77,18 +77,18 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: CommonAppbar(
|
appBar: CommonAppbar(
|
||||||
titleTxt: "",
|
titleTxt: "",
|
||||||
customActionWidget: Row(children: [
|
customActionWidget: Row(children: [
|
||||||
PopupMenuButton(
|
PopupMenuButton(
|
||||||
surfaceTintColor: Color(0xFF222935),
|
surfaceTintColor: const Color(0xFF222935),
|
||||||
constraints: BoxConstraints.tightFor(
|
constraints: BoxConstraints.tightFor(
|
||||||
width: 150.w,
|
width: 150.w,
|
||||||
),
|
),
|
||||||
offset: Offset(0, 40),
|
offset: const Offset(0, 40),
|
||||||
color: Color(0xFF222935),
|
color: const Color(0xFF222935),
|
||||||
tooltip: "",
|
tooltip: "",
|
||||||
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
@@ -100,7 +100,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
child: text14w400white("Create post"),
|
child: text14w400white("Create post"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.sessions);
|
Get.toNamed(RouteName.sessions);
|
||||||
@@ -128,12 +128,12 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
sizedBoxWidth(16.w),
|
sizedBoxWidth(16.w),
|
||||||
PopupMenuButton(
|
PopupMenuButton(
|
||||||
surfaceTintColor: Color(0xFF222935),
|
surfaceTintColor: const Color(0xFF222935),
|
||||||
constraints: BoxConstraints.tightFor(
|
constraints: BoxConstraints.tightFor(
|
||||||
width: 210.w,
|
width: 210.w,
|
||||||
),
|
),
|
||||||
offset: Offset(0, 40),
|
offset: const Offset(0, 40),
|
||||||
color: Color(0xFF222935),
|
color: const Color(0xFF222935),
|
||||||
tooltip: "",
|
tooltip: "",
|
||||||
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
@@ -143,7 +143,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
text14w400white("Add members"),
|
text14w400white("Add members"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/uiw_user-add.png",
|
"assets/images/png/uiw_user-add.png",
|
||||||
height: 15.h,
|
height: 15.h,
|
||||||
@@ -153,7 +153,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -161,7 +161,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
text14w400white("Share"),
|
text14w400white("Share"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/share.png",
|
"assets/images/png/share.png",
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
@@ -171,7 +171,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.groupinfo);
|
Get.toNamed(RouteName.groupinfo);
|
||||||
@@ -181,7 +181,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
text14w400white("Group info"),
|
text14w400white("Group info"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/Vector1a.png",
|
"assets/images/png/Vector1a.png",
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
@@ -191,7 +191,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -199,7 +199,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
text14w400white("Search"),
|
text14w400white("Search"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/Frame 58575.png",
|
"assets/images/png/Frame 58575.png",
|
||||||
height: 18.h,
|
height: 18.h,
|
||||||
@@ -209,7 +209,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -217,7 +217,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
text14w400white("Mute Notification"),
|
text14w400white("Mute Notification"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/Black1233.png",
|
"assets/images/png/Black1233.png",
|
||||||
height: 16.h,
|
height: 16.h,
|
||||||
@@ -227,7 +227,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.groupsettings);
|
Get.toNamed(RouteName.groupsettings);
|
||||||
@@ -237,7 +237,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
text14w400white("Edit group settings"),
|
text14w400white("Edit group settings"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/setting2.png",
|
"assets/images/png/setting2.png",
|
||||||
height: 18.h,
|
height: 18.h,
|
||||||
@@ -290,7 +290,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
width: 2,
|
width: 2,
|
||||||
),
|
),
|
||||||
boxShadow: [
|
boxShadow: const [
|
||||||
BoxShadow(
|
BoxShadow(
|
||||||
color: Color.fromRGBO(0, 0, 0, 0.25),
|
color: Color.fromRGBO(0, 0, 0, 0.25),
|
||||||
blurRadius: 12,
|
blurRadius: 12,
|
||||||
@@ -301,7 +301,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
child: CircleAvatar(
|
child: CircleAvatar(
|
||||||
radius: 42.5.r,
|
radius: 42.5.r,
|
||||||
foregroundImage:
|
foregroundImage:
|
||||||
AssetImage("assets/images/png/group111.png"),
|
const AssetImage("assets/images/png/group111.png"),
|
||||||
),
|
),
|
||||||
))
|
))
|
||||||
]),
|
]),
|
||||||
@@ -382,7 +382,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
text16w700white("Badges"),
|
text16w700white("Badges"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
// Get.toNamed(RouteName.badges);
|
// Get.toNamed(RouteName.badges);
|
||||||
@@ -439,8 +439,8 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
], number: "+2"),
|
], number: "+2"),
|
||||||
sizedBoxWidth(100.w),
|
sizedBoxWidth(100.w),
|
||||||
text16400white("7 members"),
|
text16400white("7 members"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Icon(
|
const Icon(
|
||||||
Icons.arrow_forward,
|
Icons.arrow_forward,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
)
|
)
|
||||||
@@ -452,7 +452,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
text18w400white("Subgroups"),
|
text18w400white("Subgroups"),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.subgroups);
|
Get.toNamed(RouteName.subgroups);
|
||||||
@@ -506,7 +506,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
"11 New Announcements Request"),
|
"11 New Announcements Request"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
// Get.toNamed(RouteName.addEvent);
|
// Get.toNamed(RouteName.addEvent);
|
||||||
@@ -516,7 +516,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
width: 43.w,
|
width: 43.w,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(30.r),
|
borderRadius: BorderRadius.circular(30.r),
|
||||||
color: Color(0xFFD90B2E),
|
color: const Color(0xFFD90B2E),
|
||||||
),
|
),
|
||||||
child: Center(child: text12400white("11")),
|
child: Center(child: text12400white("11")),
|
||||||
),
|
),
|
||||||
@@ -533,7 +533,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
// initialIndex: selectedIndex.value,
|
// initialIndex: selectedIndex.value,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
CommonTabBar(tabs: const [
|
const CommonTabBar(tabs: [
|
||||||
Tab(
|
Tab(
|
||||||
text: 'Announcement',
|
text: 'Announcement',
|
||||||
),
|
),
|
||||||
@@ -637,7 +637,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
sizedBoxWidth(7.w),
|
sizedBoxWidth(7.w),
|
||||||
Icon(
|
Icon(
|
||||||
Icons.circle,
|
Icons.circle,
|
||||||
color: Color(0xFFFCFCFC),
|
color: const Color(0xFFFCFCFC),
|
||||||
size: 4.sp,
|
size: 4.sp,
|
||||||
),
|
),
|
||||||
sizedBoxWidth(6.w),
|
sizedBoxWidth(6.w),
|
||||||
@@ -646,12 +646,12 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
PopupMenuButton(
|
PopupMenuButton(
|
||||||
surfaceTintColor: Color(0xFF222935),
|
surfaceTintColor: const Color(0xFF222935),
|
||||||
constraints: BoxConstraints.tightFor(width: 176.w),
|
constraints: BoxConstraints.tightFor(width: 176.w),
|
||||||
offset: Offset(0, 50),
|
offset: const Offset(0, 50),
|
||||||
color: Color(0xFF222935),
|
color: const Color(0xFF222935),
|
||||||
tooltip: "",
|
tooltip: "",
|
||||||
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
@@ -669,7 +669,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
fontFamily: "Nunito Sans",
|
fontFamily: "Nunito Sans",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/Vector (5).png",
|
"assets/images/png/Vector (5).png",
|
||||||
height: 15.h,
|
height: 15.h,
|
||||||
@@ -679,7 +679,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -695,7 +695,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
fontFamily: "Nunito Sans",
|
fontFamily: "Nunito Sans",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/share.png",
|
"assets/images/png/share.png",
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
@@ -705,7 +705,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -721,7 +721,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
fontFamily: "Nunito Sans",
|
fontFamily: "Nunito Sans",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/f7_pin-fill (2).png",
|
"assets/images/png/f7_pin-fill (2).png",
|
||||||
height: 25.h,
|
height: 25.h,
|
||||||
@@ -747,7 +747,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
// Get.toNamed(RouteName.postdetailsScreen);
|
// Get.toNamed(RouteName.postdetailsScreen);
|
||||||
},
|
},
|
||||||
child: Container(
|
child: SizedBox(
|
||||||
height: 163.h,
|
height: 163.h,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
@@ -791,7 +791,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
'assets/images/png/party-popper 2.png'
|
'assets/images/png/party-popper 2.png'
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
commonContainer(
|
commonContainer(
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
height: 30.h,
|
height: 30.h,
|
||||||
@@ -876,11 +876,11 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
boxRadius: 30,
|
boxRadius: 30,
|
||||||
itemsSpacing: 8,
|
itemsSpacing: 8,
|
||||||
itemScale: 0.4,
|
itemScale: 0.4,
|
||||||
itemSize: Size(45, 45),
|
itemSize: const Size(45, 45),
|
||||||
boxPadding: EdgeInsets.all(8),
|
boxPadding: const EdgeInsets.all(8),
|
||||||
boxAnimationDuration: Duration(milliseconds: 200),
|
boxAnimationDuration: const Duration(milliseconds: 200),
|
||||||
itemAnimationDuration: Duration(milliseconds: 500),
|
itemAnimationDuration: const Duration(milliseconds: 500),
|
||||||
hoverDuration: Duration(milliseconds: 700),
|
hoverDuration: const Duration(milliseconds: 700),
|
||||||
// toggle: false,
|
// toggle: false,
|
||||||
|
|
||||||
child: _buildReactionsIcon(mainImage.value),
|
child: _buildReactionsIcon(mainImage.value),
|
||||||
@@ -957,7 +957,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
height: 30.h,
|
height: 30.h,
|
||||||
borderRadius: BorderRadius.circular(30.r),
|
borderRadius: BorderRadius.circular(30.r),
|
||||||
borderwidth: 1,
|
borderwidth: 1,
|
||||||
borderColor: Color(0xFFD90B2E),
|
borderColor: const Color(0xFFD90B2E),
|
||||||
customWidget: Padding(
|
customWidget: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
||||||
child: Center(child: text14w400_FCFCFC(text)),
|
child: Center(child: text14w400_FCFCFC(text)),
|
||||||
@@ -974,16 +974,16 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
borderRadius: BorderRadius.circular(1),
|
borderRadius: BorderRadius.circular(1),
|
||||||
customWidget: SfCalendar(
|
customWidget: SfCalendar(
|
||||||
view: CalendarView.day,
|
view: CalendarView.day,
|
||||||
appointmentTextStyle: TextStyle(color: Colors.white),
|
appointmentTextStyle: const TextStyle(color: Colors.white),
|
||||||
headerStyle: CalendarHeaderStyle(
|
headerStyle: const CalendarHeaderStyle(
|
||||||
textStyle: TextStyle(
|
textStyle: TextStyle(
|
||||||
color: Color(0xFFD90B2E),
|
color: Color(0xFFD90B2E),
|
||||||
)),
|
)),
|
||||||
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
|
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
|
||||||
|
|
||||||
weekNumberStyle:
|
weekNumberStyle:
|
||||||
WeekNumberStyle(textStyle: TextStyle(color: Colors.white)),
|
const WeekNumberStyle(textStyle: TextStyle(color: Colors.white)),
|
||||||
viewHeaderStyle: ViewHeaderStyle(
|
viewHeaderStyle: const ViewHeaderStyle(
|
||||||
// backgroundColor: Colors.amber,
|
// backgroundColor: Colors.amber,
|
||||||
dateTextStyle: TextStyle(color: Colors.white),
|
dateTextStyle: TextStyle(color: Colors.white),
|
||||||
dayTextStyle: TextStyle(color: Color(0xFFD90B2E)),
|
dayTextStyle: TextStyle(color: Color(0xFFD90B2E)),
|
||||||
@@ -993,18 +993,18 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
firstDayOfWeek: 1,
|
firstDayOfWeek: 1,
|
||||||
cellBorderColor: Colors.white,
|
cellBorderColor: Colors.white,
|
||||||
todayHighlightColor: Color(0xFFD90B2E),
|
todayHighlightColor: const Color(0xFFD90B2E),
|
||||||
todayTextStyle: const TextStyle(color: Colors.white),
|
todayTextStyle: const TextStyle(color: Colors.white),
|
||||||
controller: _calendarController,
|
controller: _calendarController,
|
||||||
showNavigationArrow: true,
|
showNavigationArrow: true,
|
||||||
allowViewNavigation: true,
|
allowViewNavigation: true,
|
||||||
showDatePickerButton: true,
|
showDatePickerButton: true,
|
||||||
monthViewSettings: MonthViewSettings(
|
monthViewSettings: const MonthViewSettings(
|
||||||
// agendaStyle: AgendaStyle(
|
// agendaStyle: AgendaStyle(
|
||||||
// dateTextStyle: TextStyle(color: Colors.amber),
|
// dateTextStyle: TextStyle(color: Colors.amber),
|
||||||
// ),
|
// ),
|
||||||
),
|
),
|
||||||
allowedViews: [
|
allowedViews: const [
|
||||||
CalendarView.month,
|
CalendarView.month,
|
||||||
CalendarView.day,
|
CalendarView.day,
|
||||||
CalendarView.schedule,
|
CalendarView.schedule,
|
||||||
@@ -1013,20 +1013,20 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
showCurrentTimeIndicator: true,
|
showCurrentTimeIndicator: true,
|
||||||
dataSource: MeetingDataSource(_appointments!),
|
dataSource: MeetingDataSource(_appointments!),
|
||||||
onTap: calendarTapped,
|
onTap: calendarTapped,
|
||||||
timeSlotViewSettings: TimeSlotViewSettings(
|
timeSlotViewSettings: const TimeSlotViewSettings(
|
||||||
timeTextStyle: TextStyle(
|
timeTextStyle: TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
monthCellBuilder: (context, details) {
|
monthCellBuilder: (context, details) {
|
||||||
return Container(
|
return Container(
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
),
|
),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Text(
|
child: Text(
|
||||||
details.date.day.toString(),
|
details.date.day.toString(),
|
||||||
style: TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.white), // Set text color to white
|
color: Colors.white), // Set text color to white
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -1065,7 +1065,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: Text('Event Details'),
|
title: const Text('Event Details'),
|
||||||
content: Column(
|
content: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
@@ -1076,7 +1076,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
child: Text('Close'),
|
child: const Text('Close'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
@@ -1094,7 +1094,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: Text('Event Details'),
|
title: const Text('Event Details'),
|
||||||
content: Column(
|
content: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
@@ -1105,7 +1105,7 @@ class _GroupDetailState extends State<GroupDetail> {
|
|||||||
),
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
child: Text('Close'),
|
child: const Text('Close'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
TextEditingController dateController = TextEditingController();
|
TextEditingController dateController = TextEditingController();
|
||||||
TextEditingController dateController2 = TextEditingController();
|
TextEditingController dateController2 = TextEditingController();
|
||||||
|
|
||||||
TimeOfDay? starttime = TimeOfDay(hour: 15, minute: 0);
|
TimeOfDay? starttime = const TimeOfDay(hour: 15, minute: 0);
|
||||||
TimeOfDay? endtime = TimeOfDay(hour: 15, minute: 0);
|
TimeOfDay? endtime = const TimeOfDay(hour: 15, minute: 0);
|
||||||
|
|
||||||
String formatTimeOfDay(TimeOfDay time) {
|
String formatTimeOfDay(TimeOfDay time) {
|
||||||
final now = DateTime.now();
|
final now = DateTime.now();
|
||||||
@@ -49,9 +49,9 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "",
|
titleTxt: "",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
@@ -69,7 +69,7 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
text16400white("Event Title"),
|
text16400white("Event Title"),
|
||||||
sizedBoxHeight(14.h),
|
sizedBoxHeight(14.h),
|
||||||
CustomTextFormField(
|
CustomTextFormField(
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 22.h,
|
height: 22.h,
|
||||||
width: 18.w,
|
width: 18.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -108,10 +108,10 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
},
|
},
|
||||||
child: DottedBorder(
|
child: DottedBorder(
|
||||||
strokeWidth: 1,
|
strokeWidth: 1,
|
||||||
dashPattern: [7, 4],
|
dashPattern: const [7, 4],
|
||||||
borderType: BorderType.RRect,
|
borderType: BorderType.RRect,
|
||||||
radius: Radius.circular(14.r),
|
radius: Radius.circular(14.r),
|
||||||
color: Color(0xFF434A53),
|
color: const Color(0xFF434A53),
|
||||||
child: commonGlassContainer(
|
child: commonGlassContainer(
|
||||||
border: 0,
|
border: 0,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
@@ -137,12 +137,12 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
width: 27,
|
width: 27,
|
||||||
height: 27,
|
height: 27,
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
color: Color(0xFF7E7E7E),
|
color: const Color(0xFF7E7E7E),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(5)),
|
BorderRadius.circular(5)),
|
||||||
),
|
),
|
||||||
child: Icon(
|
child: const Icon(
|
||||||
Icons.delete_outline_outlined,
|
Icons.delete_outline_outlined,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
))),
|
))),
|
||||||
@@ -197,7 +197,7 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
text12w400_FCFCFC_blur("10 kb")
|
text12w400_FCFCFC_blur("10 kb")
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/png/cancelicon.png',
|
'assets/images/png/cancelicon.png',
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
@@ -212,8 +212,8 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
sizedBoxHeight(14.h),
|
sizedBoxHeight(14.h),
|
||||||
CommonDropdownBtn(
|
CommonDropdownBtn(
|
||||||
hint: '',
|
hint: '',
|
||||||
items: [],
|
items: const [],
|
||||||
leadingImage: Container(
|
leadingImage: SizedBox(
|
||||||
height: 22.h,
|
height: 22.h,
|
||||||
width: 18.w,
|
width: 18.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -228,8 +228,8 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
sizedBoxHeight(14.h),
|
sizedBoxHeight(14.h),
|
||||||
CommonDropdownBtn(
|
CommonDropdownBtn(
|
||||||
hint: '',
|
hint: '',
|
||||||
items: [],
|
items: const [],
|
||||||
leadingImage: Container(
|
leadingImage: SizedBox(
|
||||||
height: 22.h,
|
height: 22.h,
|
||||||
width: 18.w,
|
width: 18.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -257,7 +257,7 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
child: CustomTextFormField(
|
child: CustomTextFormField(
|
||||||
textEditingController: dateController,
|
textEditingController: dateController,
|
||||||
hintText: "",
|
hintText: "",
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 20.w,
|
width: 20.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -288,7 +288,7 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
child: CustomTextFormField(
|
child: CustomTextFormField(
|
||||||
textEditingController: dateController2,
|
textEditingController: dateController2,
|
||||||
hintText: "",
|
hintText: "",
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 20.w,
|
width: 20.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -343,7 +343,7 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@@ -397,7 +397,7 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
customWidget: Transform.scale(
|
customWidget: Transform.scale(
|
||||||
scale: 1.4,
|
scale: 1.4,
|
||||||
child: Checkbox(
|
child: Checkbox(
|
||||||
side: BorderSide(color: Color(0xFF434A53)),
|
side: const BorderSide(color: Color(0xFF434A53)),
|
||||||
value: isChecked.value,
|
value: isChecked.value,
|
||||||
activeColor: Colors.transparent,
|
activeColor: Colors.transparent,
|
||||||
checkColor: Colors.white,
|
checkColor: Colors.white,
|
||||||
@@ -417,8 +417,8 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
sizedBoxHeight(14.h),
|
sizedBoxHeight(14.h),
|
||||||
CommonDropdownBtn(
|
CommonDropdownBtn(
|
||||||
hint: '',
|
hint: '',
|
||||||
items: [],
|
items: const [],
|
||||||
leadingImage: Container(
|
leadingImage: SizedBox(
|
||||||
height: 22.h,
|
height: 22.h,
|
||||||
width: 28.w,
|
width: 28.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -447,7 +447,7 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
),
|
),
|
||||||
hintText: "",
|
hintText: "",
|
||||||
suffixIcon:
|
suffixIcon:
|
||||||
Icon(Icons.arrow_forward, color: Color(0xFFFFFFFF)),
|
const Icon(Icons.arrow_forward, color: Color(0xFFFFFFFF)),
|
||||||
),
|
),
|
||||||
// sizedBoxHeight(20.h),
|
// sizedBoxHeight(20.h),
|
||||||
// containerWidget(
|
// containerWidget(
|
||||||
@@ -509,7 +509,7 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
children: [
|
children: [
|
||||||
text16400white("Minutes"),
|
text16400white("Minutes"),
|
||||||
sizedBoxWidth(5.w),
|
sizedBoxWidth(5.w),
|
||||||
Icon(
|
const Icon(
|
||||||
Icons.keyboard_arrow_down,
|
Icons.keyboard_arrow_down,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
)
|
)
|
||||||
@@ -546,7 +546,7 @@ class _GroupEventState extends State<GroupEvent> {
|
|||||||
),
|
),
|
||||||
sizedBoxWidth(8.w),
|
sizedBoxWidth(8.w),
|
||||||
text16400white(title),
|
text16400white(title),
|
||||||
Spacer(),
|
const Spacer(),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
"assets/images/png/cancelicon.png",
|
"assets/images/png/cancelicon.png",
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
|
|||||||
@@ -41,11 +41,11 @@ class _SessionsState extends State<Sessions> {
|
|||||||
onSurface: Colors.white,
|
onSurface: Colors.white,
|
||||||
),
|
),
|
||||||
textTheme: Theme.of(context).textTheme.copyWith(
|
textTheme: Theme.of(context).textTheme.copyWith(
|
||||||
headline6: TextStyle(color: Colors.blue),
|
titleLarge: const TextStyle(color: Colors.blue),
|
||||||
),
|
),
|
||||||
textButtonTheme: TextButtonThemeData(
|
textButtonTheme: TextButtonThemeData(
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
foregroundColor: Color(0xFFD90B2E),
|
foregroundColor: const Color(0xFFD90B2E),
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
return showTimePicker(
|
return showTimePicker(
|
||||||
@@ -71,11 +71,11 @@ class _SessionsState extends State<Sessions> {
|
|||||||
// onSecondary: Colors.red,
|
// onSecondary: Colors.red,
|
||||||
),
|
),
|
||||||
textTheme: Theme.of(context).textTheme.copyWith(
|
textTheme: Theme.of(context).textTheme.copyWith(
|
||||||
headline6: TextStyle(color: Colors.blue),
|
titleLarge: const TextStyle(color: Colors.blue),
|
||||||
),
|
),
|
||||||
textButtonTheme: TextButtonThemeData(
|
textButtonTheme: TextButtonThemeData(
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
foregroundColor: Color(0xFFD90B2E),
|
foregroundColor: const Color(0xFFD90B2E),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@@ -130,9 +130,9 @@ class _SessionsState extends State<Sessions> {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Sessions",
|
titleTxt: "Sessions",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: Stack(children: [
|
||||||
@@ -153,7 +153,7 @@ class _SessionsState extends State<Sessions> {
|
|||||||
sizedBoxHeight(25.h),
|
sizedBoxHeight(25.h),
|
||||||
CustomTextFormField(
|
CustomTextFormField(
|
||||||
hintText: "",
|
hintText: "",
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 20.w,
|
width: 20.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -195,20 +195,28 @@ class _SessionsState extends State<Sessions> {
|
|||||||
CustomDropDownRadio(
|
CustomDropDownRadio(
|
||||||
header: "",
|
header: "",
|
||||||
title: "",
|
title: "",
|
||||||
listData: ["hhh"],
|
listData: const ["hhh"],
|
||||||
onItemSelected: (p0) {},
|
onItemSelected: (p0) {},
|
||||||
leadingImage: Image.asset(
|
leadingImage: Image.asset(
|
||||||
"assets/images/png/Vector (5)12.png")),
|
"assets/images/png/Vector (5)12.png",
|
||||||
|
height: 20.h,
|
||||||
|
width: 20.w,
|
||||||
|
)),
|
||||||
sizedBoxHeight(25.h),
|
sizedBoxHeight(25.h),
|
||||||
text16w400_FCFCFC('Sport'),
|
text16w400_FCFCFC('Sport'),
|
||||||
sizedBoxHeight(25.h),
|
sizedBoxHeight(25.h),
|
||||||
CustomDropDownRadio(
|
CustomDropDownRadio(
|
||||||
header: "",
|
header: "",
|
||||||
title: "",
|
title: "",
|
||||||
listData: ["hhh"],
|
listData: const ["hhh"],
|
||||||
onItemSelected: (p0) {},
|
onItemSelected: (p0) {},
|
||||||
leadingImage: Image.asset(
|
leadingImage: Center(
|
||||||
"assets/images/png/Vector (4).png")),
|
child: Image.asset(
|
||||||
|
"assets/images/png/Vector (4).png",
|
||||||
|
height: 20.h,
|
||||||
|
width: 20.w,
|
||||||
|
),
|
||||||
|
)),
|
||||||
sizedBoxHeight(25.h),
|
sizedBoxHeight(25.h),
|
||||||
text16w400_FCFCFC('Starts'),
|
text16w400_FCFCFC('Starts'),
|
||||||
sizedBoxHeight(25.h),
|
sizedBoxHeight(25.h),
|
||||||
@@ -218,7 +226,7 @@ class _SessionsState extends State<Sessions> {
|
|||||||
},
|
},
|
||||||
child: AbsorbPointer(
|
child: AbsorbPointer(
|
||||||
child: CustomTextFormField(
|
child: CustomTextFormField(
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 20.w,
|
width: 20.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -247,7 +255,8 @@ class _SessionsState extends State<Sessions> {
|
|||||||
customWidget: Transform.scale(
|
customWidget: Transform.scale(
|
||||||
scale: 1.4,
|
scale: 1.4,
|
||||||
child: Checkbox(
|
child: Checkbox(
|
||||||
side: BorderSide(color: Color(0xFF434A53)),
|
side: const BorderSide(
|
||||||
|
color: Color(0xFF434A53)),
|
||||||
value: isChecked.value,
|
value: isChecked.value,
|
||||||
activeColor: Colors.transparent,
|
activeColor: Colors.transparent,
|
||||||
checkColor: Colors.white,
|
checkColor: Colors.white,
|
||||||
@@ -267,7 +276,7 @@ class _SessionsState extends State<Sessions> {
|
|||||||
sizedBoxHeight(20.h),
|
sizedBoxHeight(20.h),
|
||||||
CustomTextFormField(
|
CustomTextFormField(
|
||||||
hintText: "",
|
hintText: "",
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 20.w,
|
width: 20.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -285,16 +294,19 @@ class _SessionsState extends State<Sessions> {
|
|||||||
CustomDropDownRadio(
|
CustomDropDownRadio(
|
||||||
header: "",
|
header: "",
|
||||||
title: "",
|
title: "",
|
||||||
listData: ["hryy"],
|
listData: const ["hryy"],
|
||||||
onItemSelected: (p0) {},
|
onItemSelected: (p0) {},
|
||||||
leadingImage:
|
leadingImage: Image.asset(
|
||||||
Image.asset("assets/images/png/Black.png")),
|
"assets/images/png/Black.png",
|
||||||
|
height: 20.h,
|
||||||
|
width: 20.w,
|
||||||
|
)),
|
||||||
sizedBoxHeight(25.h),
|
sizedBoxHeight(25.h),
|
||||||
text16w400_FCFCFC("Add Users"),
|
text16w400_FCFCFC("Add Users"),
|
||||||
sizedBoxHeight(25.h),
|
sizedBoxHeight(25.h),
|
||||||
CustomTextFormField(
|
CustomTextFormField(
|
||||||
hintText: "",
|
hintText: "",
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 20.w,
|
width: 20.w,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -304,7 +316,7 @@ class _SessionsState extends State<Sessions> {
|
|||||||
width: 20.w,
|
width: 20.w,
|
||||||
),
|
),
|
||||||
)),
|
)),
|
||||||
suffixIcon: Container(
|
suffixIcon: SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
width: 20.h,
|
width: 20.h,
|
||||||
child: Center(
|
child: Center(
|
||||||
@@ -342,7 +354,7 @@ class _SessionsState extends State<Sessions> {
|
|||||||
children: [
|
children: [
|
||||||
text16400white("Minutes"),
|
text16400white("Minutes"),
|
||||||
sizedBoxWidth(5.w),
|
sizedBoxWidth(5.w),
|
||||||
Icon(
|
const Icon(
|
||||||
Icons.keyboard_arrow_down,
|
Icons.keyboard_arrow_down,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
)
|
)
|
||||||
@@ -369,10 +381,10 @@ class _SessionsState extends State<Sessions> {
|
|||||||
},
|
},
|
||||||
child: DottedBorder(
|
child: DottedBorder(
|
||||||
strokeWidth: 1,
|
strokeWidth: 1,
|
||||||
dashPattern: [7, 4],
|
dashPattern: const [7, 4],
|
||||||
borderType: BorderType.RRect,
|
borderType: BorderType.RRect,
|
||||||
radius: Radius.circular(14.r),
|
radius: Radius.circular(14.r),
|
||||||
color: Color(0xFF434A53),
|
color: const Color(0xFF434A53),
|
||||||
child: commonGlassContainer(
|
child: commonGlassContainer(
|
||||||
border: 0,
|
border: 0,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
@@ -399,7 +411,8 @@ class _SessionsState extends State<Sessions> {
|
|||||||
width: 27,
|
width: 27,
|
||||||
height: 27,
|
height: 27,
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
color: Color(0xFF7E7E7E),
|
color:
|
||||||
|
const Color(0xFF7E7E7E),
|
||||||
shape:
|
shape:
|
||||||
RoundedRectangleBorder(
|
RoundedRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
@@ -407,7 +420,7 @@ class _SessionsState extends State<Sessions> {
|
|||||||
.circular(
|
.circular(
|
||||||
5)),
|
5)),
|
||||||
),
|
),
|
||||||
child: Icon(
|
child: const Icon(
|
||||||
Icons
|
Icons
|
||||||
.delete_outline_outlined,
|
.delete_outline_outlined,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
@@ -439,9 +452,9 @@ class _SessionsState extends State<Sessions> {
|
|||||||
CustomDropDownRadio(
|
CustomDropDownRadio(
|
||||||
header: "More options",
|
header: "More options",
|
||||||
title: "",
|
title: "",
|
||||||
listData: [""],
|
listData: const [""],
|
||||||
onItemSelected: (p0) {},
|
onItemSelected: (p0) {},
|
||||||
leadingImage: SizedBox()),
|
leadingImage: const SizedBox()),
|
||||||
sizedBoxHeight(30.h),
|
sizedBoxHeight(30.h),
|
||||||
CommonBtn(text: "Create event"),
|
CommonBtn(text: "Create event"),
|
||||||
sizedBoxHeight(50.h),
|
sizedBoxHeight(50.h),
|
||||||
|
|||||||
@@ -0,0 +1,400 @@
|
|||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:dio/dio.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart' hide MultipartFile, FormData;
|
||||||
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profilePostmethod.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/ImageUpload.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';
|
||||||
|
import 'package:path/path.dart' as path;
|
||||||
|
|
||||||
|
class AddCertificate extends StatefulWidget {
|
||||||
|
const AddCertificate({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<AddCertificate> createState() => _AddCertificateState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _AddCertificateState extends State<AddCertificate> {
|
||||||
|
final GlobalKey<FormState> _formkey = GlobalKey<FormState>();
|
||||||
|
TextEditingController certicationname = TextEditingController();
|
||||||
|
TextEditingController certificationreason = TextEditingController();
|
||||||
|
TextEditingController datecontroller = TextEditingController();
|
||||||
|
|
||||||
|
TextEditingController querycontroller = TextEditingController();
|
||||||
|
|
||||||
|
DateTime? _selectedDate;
|
||||||
|
|
||||||
|
Future<void> _selectDate(BuildContext context) async {
|
||||||
|
DateTime yesterday = DateTime.now().subtract(const Duration(days: 1));
|
||||||
|
DateTime eighteenYearsAgo =
|
||||||
|
DateTime.now().subtract(const Duration(days: 365 * 18));
|
||||||
|
|
||||||
|
final ThemeData customTheme = Theme.of(context).copyWith(
|
||||||
|
colorScheme: const ColorScheme.light(
|
||||||
|
primary: Color(0xFFD90B2E),
|
||||||
|
surfaceTint: Color(0xFF222935),
|
||||||
|
surface: Color(0xFF222935),
|
||||||
|
onPrimary: Colors.white,
|
||||||
|
onSurface: Colors.white,
|
||||||
|
onSecondary: Colors.white),
|
||||||
|
textButtonTheme: TextButtonThemeData(
|
||||||
|
style: TextButton.styleFrom(
|
||||||
|
foregroundColor: const Color(0xFFD90B2E),
|
||||||
|
),
|
||||||
|
));
|
||||||
|
|
||||||
|
final DateTime? pickedDate = await showDatePicker(
|
||||||
|
context: context,
|
||||||
|
initialDate: yesterday,
|
||||||
|
firstDate: DateTime(1950),
|
||||||
|
lastDate: DateTime(2026),
|
||||||
|
builder: (BuildContext context, Widget? child) {
|
||||||
|
return Theme(
|
||||||
|
data: customTheme,
|
||||||
|
// ThemeData.light().copyWith(
|
||||||
|
// colorScheme: ColorScheme.dark(
|
||||||
|
// primary: Color(0XFF222935).withOpacity(0.60),
|
||||||
|
// onPrimary: Colors.white, // Change text color
|
||||||
|
// ),
|
||||||
|
// textButtonTheme: TextButtonThemeData(
|
||||||
|
// style: TextButton.styleFrom(
|
||||||
|
// foregroundColor: Colors.white, // Change button text color
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// dialogBackgroundColor: Color(0XFF222935)
|
||||||
|
// .withOpacity(0.60), // Change dialog background color
|
||||||
|
// ),
|
||||||
|
child: child!,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
if (pickedDate != null) {
|
||||||
|
// if (pickedDate.isBefore(eighteenYearsAgo)) {
|
||||||
|
setState(() {
|
||||||
|
_selectedDate = pickedDate;
|
||||||
|
datecontroller.text =
|
||||||
|
"${_selectedDate!.year.toString().padLeft(2, '0')}-${_selectedDate!.month.toString().padLeft(2, '0')}-${_selectedDate!.day.toString().padLeft(2, '0')}";
|
||||||
|
});
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<File?> filePath = [];
|
||||||
|
bool isImageAdded = false;
|
||||||
|
|
||||||
|
UploadData() async {
|
||||||
|
utils.loader();
|
||||||
|
List<MultipartFile> certificatelist = [];
|
||||||
|
|
||||||
|
for (var file in filePath.where((file) => file != null)) {
|
||||||
|
certificatelist.add(
|
||||||
|
await MultipartFile.fromFile(
|
||||||
|
file!.path,
|
||||||
|
filename: path.basename(file.path),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
FormData formdata = FormData.fromMap({
|
||||||
|
"certification_name": certicationname.text,
|
||||||
|
"certification_reason": certificationreason.text,
|
||||||
|
"certification_date": datecontroller.text,
|
||||||
|
"certification_image": certificatelist[0],
|
||||||
|
});
|
||||||
|
final data = await Profilepostmethod().postCertification(formdata);
|
||||||
|
if (data.status == ResponseStatus.SUCCESS) {
|
||||||
|
Get.back();
|
||||||
|
// Get.back();
|
||||||
|
Get.toNamed(RouteName.mainscreen, arguments: 4);
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
} else {
|
||||||
|
Get.back();
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
|
||||||
|
child: Scaffold(
|
||||||
|
// key: _scaffoldKey1,
|
||||||
|
backgroundColor: Color(0xFF222935),
|
||||||
|
extendBody: true,
|
||||||
|
appBar: CommonAppbar(
|
||||||
|
titleTxt: "Add certifications",
|
||||||
|
),
|
||||||
|
body: Stack(children: [
|
||||||
|
Container(
|
||||||
|
decoration: const BoxDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
||||||
|
fit: BoxFit.fill)),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
|
child: SingleChildScrollView(
|
||||||
|
child: Form(
|
||||||
|
key: _formkey,
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
text16400white("Certification name"),
|
||||||
|
sizedBoxHeight(16.h),
|
||||||
|
CustomTextFormField(
|
||||||
|
leadingIcon: Container(
|
||||||
|
height: 17.h,
|
||||||
|
width: 18.w,
|
||||||
|
child: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/Frame 24.png",
|
||||||
|
height: 17.h,
|
||||||
|
width: 18.w,
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
validator: (value) {
|
||||||
|
if (value!.isEmpty) {
|
||||||
|
return 'Enter your certification name ';
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
inputFormatters: [
|
||||||
|
// LengthLimitingTextInputFormatter(20),
|
||||||
|
RemoveEmojiInputFormatter(),
|
||||||
|
FilteringTextInputFormatter.allow(
|
||||||
|
RegExp('[a-zA-Z ]'))
|
||||||
|
],
|
||||||
|
hintText: "Enter certification name",
|
||||||
|
textEditingController: certicationname,
|
||||||
|
),
|
||||||
|
sizedBoxHeight(10.h),
|
||||||
|
text16400white("Certification reason"),
|
||||||
|
sizedBoxHeight(16.h),
|
||||||
|
CustomTextFormField(
|
||||||
|
leadingIcon: Container(
|
||||||
|
height: 17.h,
|
||||||
|
width: 18.w,
|
||||||
|
child: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/Frame 24.png",
|
||||||
|
height: 17.h,
|
||||||
|
width: 18.w,
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
validator: (value) {
|
||||||
|
if (value!.isEmpty) {
|
||||||
|
return 'Enter your certification reason ';
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
inputFormatters: [
|
||||||
|
// LengthLimitingTextInputFormatter(20),
|
||||||
|
RemoveEmojiInputFormatter(),
|
||||||
|
FilteringTextInputFormatter.allow(
|
||||||
|
RegExp('[a-zA-Z ]'))
|
||||||
|
],
|
||||||
|
hintText: "Enter certification reason",
|
||||||
|
textEditingController: certificationreason,
|
||||||
|
),
|
||||||
|
sizedBoxHeight(10.h),
|
||||||
|
text16400white("Certification date"),
|
||||||
|
sizedBoxHeight(16.h),
|
||||||
|
CustomTextFormField(
|
||||||
|
textEditingController: datecontroller,
|
||||||
|
readonly: true,
|
||||||
|
onTap: () {
|
||||||
|
_selectDate(context);
|
||||||
|
},
|
||||||
|
// texttype: TextInputType.text,
|
||||||
|
hintText: "Enter your certification date",
|
||||||
|
leadingIcon:
|
||||||
|
// const Icon(Icons.mail_outline),
|
||||||
|
Image.asset(
|
||||||
|
width: 22.w,
|
||||||
|
height: 17.h,
|
||||||
|
'assets/images/png/dateimage.png',
|
||||||
|
),
|
||||||
|
// validatorText: "Enter date of birth",
|
||||||
|
validator: (value) {
|
||||||
|
if (value!.isEmpty) {
|
||||||
|
return 'Enter your certification date';
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
),
|
||||||
|
sizedBoxHeight(10.h),
|
||||||
|
text16400white("Certification image"),
|
||||||
|
sizedBoxHeight(16.h),
|
||||||
|
filePath.isNotEmpty && isImageAdded
|
||||||
|
? Container(
|
||||||
|
height: 167.h,
|
||||||
|
width: double.infinity,
|
||||||
|
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: 12,
|
||||||
|
bottom: 12,
|
||||||
|
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: Colors.black,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
5)),
|
||||||
|
),
|
||||||
|
child: Icon(
|
||||||
|
Icons.delete_outline_outlined,
|
||||||
|
color: Colors.white,
|
||||||
|
))),
|
||||||
|
),
|
||||||
|
// ),
|
||||||
|
]),
|
||||||
|
)
|
||||||
|
: GestureDetector(
|
||||||
|
// onTap: () {
|
||||||
|
// ImageUploadBottomSheet().showModal(
|
||||||
|
// context,
|
||||||
|
// false,
|
||||||
|
// (result) {
|
||||||
|
// var file = File(result);
|
||||||
|
// filePath.add(file);
|
||||||
|
// // isImageAdded = true;
|
||||||
|
// setState(() {
|
||||||
|
// isImageAdded = true;
|
||||||
|
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
onTap: () {
|
||||||
|
ImageUploadBottomSheet().showModal(
|
||||||
|
context,
|
||||||
|
false,
|
||||||
|
(result) {
|
||||||
|
var file = File(result);
|
||||||
|
|
||||||
|
filePath.add(file);
|
||||||
|
isImageAdded = true;
|
||||||
|
setState(() {
|
||||||
|
// Navigator.of(context).pop();
|
||||||
|
Get.back();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
width: double.infinity,
|
||||||
|
height: 167,
|
||||||
|
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 certification \nimage',
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 14.sp,
|
||||||
|
fontFamily: 'Poppins',
|
||||||
|
fontWeight: FontWeight.w400,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
sizedBoxHeight(50.h),
|
||||||
|
CustomButton(
|
||||||
|
onPressed: () {
|
||||||
|
// final isValid =
|
||||||
|
// _formkey.currentState?.validate();
|
||||||
|
if (certicationname.text.isBlank! &&
|
||||||
|
certificationreason.text.isBlank! &&
|
||||||
|
datecontroller.text.isBlank! &&
|
||||||
|
filePath.isEmpty) {
|
||||||
|
utils.showToast("Please fill all fields");
|
||||||
|
} else {
|
||||||
|
UploadData();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
text: "Send")
|
||||||
|
]),
|
||||||
|
),
|
||||||
|
))
|
||||||
|
])),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profileGetmethod.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
|
|
||||||
@@ -42,60 +41,149 @@ class _CertificateState extends State<Certificate> {
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
late Future myfuture;
|
||||||
|
int id = Get.arguments["id"];
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
// TODO: implement initState
|
||||||
|
|
||||||
|
myfuture = Profilegetmethod().getUserCertificates(id);
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
appBar: CommonAppbar(
|
appBar: CommonAppbar(
|
||||||
titleTxt: "Certifications/Qualifications",
|
titleTxt: "Certifications/Qualifications",
|
||||||
),
|
),
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
body: Stack(children: [
|
body: FutureBuilder(
|
||||||
Container(
|
future: myfuture,
|
||||||
decoration: const BoxDecoration(
|
builder: (ctx, snapshot) {
|
||||||
image: DecorationImage(
|
if (snapshot.data == null) {
|
||||||
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
return const Column(
|
||||||
fit: BoxFit.fill)),
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
), SingleChildScrollView(
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
child: Padding(
|
children: [
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
Center(
|
||||||
child: Column(children: [
|
child: CircularProgressIndicator(
|
||||||
sizedBoxHeight(25.h),
|
color: Color(0xFFC18948),
|
||||||
Container(
|
),
|
||||||
height: 600.h,
|
)
|
||||||
child: GridView.builder(
|
],
|
||||||
scrollDirection: Axis.vertical,
|
);
|
||||||
gridDelegate:
|
}
|
||||||
const SliverGridDelegateWithFixedCrossAxisCount(
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
crossAxisCount: 3,
|
if (snapshot.hasError) {
|
||||||
mainAxisSpacing: 20,
|
return Center(
|
||||||
crossAxisSpacing: 8,
|
child: Text(
|
||||||
childAspectRatio: 0.65,
|
'${snapshot.error} occured',
|
||||||
),
|
style: TextStyle(fontSize: 18.spMin),
|
||||||
itemCount: CertificateData.length,
|
),
|
||||||
itemBuilder: (context, index) {
|
);
|
||||||
return Column(
|
}
|
||||||
children: [
|
}
|
||||||
Image.asset(
|
return certificateobj!.data!.isEmpty
|
||||||
|
? _buildNoDataBody(context)
|
||||||
|
: _buildBody(context);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildNoDataBody(context) {
|
||||||
|
return Center(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"No Data Found",
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 16.sp,
|
||||||
|
fontWeight: FontWeight.w600),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildBody(context) {
|
||||||
|
return Stack(children: [
|
||||||
|
Container(
|
||||||
|
decoration: const BoxDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
||||||
|
fit: BoxFit.fill)),
|
||||||
|
),
|
||||||
|
SingleChildScrollView(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
|
child: Column(children: [
|
||||||
|
sizedBoxHeight(25.h),
|
||||||
|
Container(
|
||||||
|
height: 600.h,
|
||||||
|
child: GridView.builder(
|
||||||
|
scrollDirection: Axis.vertical,
|
||||||
|
gridDelegate:
|
||||||
|
const SliverGridDelegateWithFixedCrossAxisCount(
|
||||||
|
crossAxisCount: 3,
|
||||||
|
mainAxisSpacing: 20,
|
||||||
|
crossAxisSpacing: 8,
|
||||||
|
childAspectRatio: 0.65,
|
||||||
|
),
|
||||||
|
itemCount: certificateobj!.data!.length,
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
return Column(
|
||||||
|
// mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
certificateobj!.data![index].certificationImage ==
|
||||||
|
null ||
|
||||||
|
certificateobj!.data![index]
|
||||||
|
.certificationImage!.isEmpty
|
||||||
|
? Image.asset(
|
||||||
|
CertificateData[index]["imagePath"],
|
||||||
|
height: 100.h,
|
||||||
|
width: 105.w,
|
||||||
|
)
|
||||||
|
: Image.network(
|
||||||
|
certificateobj!
|
||||||
|
.data![index].certificationImage!,
|
||||||
|
height: 100.h,
|
||||||
|
width: 105.w,
|
||||||
|
errorBuilder: (context, error, stackTrace) {
|
||||||
|
// Error handling when image fails to load
|
||||||
|
return Image.asset(
|
||||||
CertificateData[index]["imagePath"],
|
CertificateData[index]["imagePath"],
|
||||||
height: 100.h,
|
fit: BoxFit.cover,
|
||||||
width: 105.w,
|
);
|
||||||
),
|
}),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Center(
|
child: Center(
|
||||||
child: text14w400_FCFCFC(
|
child: text14w400_FCFCFC(
|
||||||
CertificateData[index]["text"],
|
certificateobj!.data![index]
|
||||||
textAlign: TextAlign.center,
|
.certificationName ==
|
||||||
),
|
null ||
|
||||||
),
|
certificateobj!.data![index]
|
||||||
),
|
.certificationName!.isEmpty
|
||||||
],
|
? CertificateData[index]["text"]
|
||||||
);
|
: certificateobj!
|
||||||
}),
|
.data![index].certificationName,
|
||||||
)
|
textAlign: TextAlign.center,
|
||||||
])))
|
),
|
||||||
]));
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
])))
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,9 +27,12 @@ class GetEditProfileBus {
|
|||||||
|
|
||||||
class Data {
|
class Data {
|
||||||
int? id;
|
int? id;
|
||||||
|
int? iamPrincipalXid;
|
||||||
int? businessTypeXid;
|
int? businessTypeXid;
|
||||||
|
String? foundedon;
|
||||||
String? businessOwnerName;
|
String? businessOwnerName;
|
||||||
String? businessName;
|
String? businessName;
|
||||||
|
String? businessUsername;
|
||||||
String? businessLocation;
|
String? businessLocation;
|
||||||
String? businessContactNumber;
|
String? businessContactNumber;
|
||||||
String? businessEmail;
|
String? businessEmail;
|
||||||
@@ -39,14 +42,20 @@ class Data {
|
|||||||
String? businessLogo;
|
String? businessLogo;
|
||||||
String? tags;
|
String? tags;
|
||||||
String? bannerImage;
|
String? bannerImage;
|
||||||
|
String? businessProfileImage;
|
||||||
|
String? bio;
|
||||||
Follows? follows;
|
Follows? follows;
|
||||||
|
int? isIamFollowingToGuestUser;
|
||||||
BusinessType? businessType;
|
BusinessType? businessType;
|
||||||
|
IamPrincipalData? iamPrincipalData;
|
||||||
|
|
||||||
Data(
|
Data(
|
||||||
{this.id,
|
{this.id,
|
||||||
|
this.iamPrincipalXid,
|
||||||
this.businessTypeXid,
|
this.businessTypeXid,
|
||||||
this.businessOwnerName,
|
this.businessOwnerName,
|
||||||
this.businessName,
|
this.businessName,
|
||||||
|
this.businessUsername,
|
||||||
this.businessLocation,
|
this.businessLocation,
|
||||||
this.businessContactNumber,
|
this.businessContactNumber,
|
||||||
this.businessEmail,
|
this.businessEmail,
|
||||||
@@ -56,14 +65,21 @@ class Data {
|
|||||||
this.businessLogo,
|
this.businessLogo,
|
||||||
this.tags,
|
this.tags,
|
||||||
this.bannerImage,
|
this.bannerImage,
|
||||||
|
this.businessProfileImage,
|
||||||
|
this.bio,
|
||||||
this.follows,
|
this.follows,
|
||||||
this.businessType});
|
this.isIamFollowingToGuestUser,
|
||||||
|
this.businessType,
|
||||||
|
this.iamPrincipalData});
|
||||||
|
|
||||||
Data.fromJson(Map<String, dynamic> json) {
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
id = json['id'];
|
id = json['id'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
businessTypeXid = json['business_type_xid'];
|
businessTypeXid = json['business_type_xid'];
|
||||||
|
foundedon = json['founded_on'];
|
||||||
businessOwnerName = json['business_owner_name'];
|
businessOwnerName = json['business_owner_name'];
|
||||||
businessName = json['business_name'];
|
businessName = json['business_name'];
|
||||||
|
businessUsername = json['business_username'];
|
||||||
businessLocation = json['business_location'];
|
businessLocation = json['business_location'];
|
||||||
businessContactNumber = json['business_contact_number'];
|
businessContactNumber = json['business_contact_number'];
|
||||||
businessEmail = json['business_email'];
|
businessEmail = json['business_email'];
|
||||||
@@ -73,19 +89,28 @@ class Data {
|
|||||||
businessLogo = json['business_logo'];
|
businessLogo = json['business_logo'];
|
||||||
tags = json['tags'];
|
tags = json['tags'];
|
||||||
bannerImage = json['banner_image'];
|
bannerImage = json['banner_image'];
|
||||||
|
businessProfileImage = json['business_profile_image'];
|
||||||
|
bio = json['bio'];
|
||||||
follows =
|
follows =
|
||||||
json['follows'] != null ? new Follows.fromJson(json['follows']) : null;
|
json['follows'] != null ? new Follows.fromJson(json['follows']) : null;
|
||||||
|
isIamFollowingToGuestUser = json['is_iam_following_to_guest_user'];
|
||||||
businessType = json['business_type'] != null
|
businessType = json['business_type'] != null
|
||||||
? new BusinessType.fromJson(json['business_type'])
|
? new BusinessType.fromJson(json['business_type'])
|
||||||
: null;
|
: null;
|
||||||
|
iamPrincipalData = json['iam_principal_data'] != null
|
||||||
|
? new IamPrincipalData.fromJson(json['iam_principal_data'])
|
||||||
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
data['id'] = this.id;
|
data['id'] = this.id;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
data['business_type_xid'] = this.businessTypeXid;
|
data['business_type_xid'] = this.businessTypeXid;
|
||||||
|
data['founded_on'] = this.foundedon;
|
||||||
data['business_owner_name'] = this.businessOwnerName;
|
data['business_owner_name'] = this.businessOwnerName;
|
||||||
data['business_name'] = this.businessName;
|
data['business_name'] = this.businessName;
|
||||||
|
data['business_username'] = this.businessUsername;
|
||||||
data['business_location'] = this.businessLocation;
|
data['business_location'] = this.businessLocation;
|
||||||
data['business_contact_number'] = this.businessContactNumber;
|
data['business_contact_number'] = this.businessContactNumber;
|
||||||
data['business_email'] = this.businessEmail;
|
data['business_email'] = this.businessEmail;
|
||||||
@@ -95,12 +120,18 @@ class Data {
|
|||||||
data['business_logo'] = this.businessLogo;
|
data['business_logo'] = this.businessLogo;
|
||||||
data['tags'] = this.tags;
|
data['tags'] = this.tags;
|
||||||
data['banner_image'] = this.bannerImage;
|
data['banner_image'] = this.bannerImage;
|
||||||
|
data['business_profile_image'] = this.businessProfileImage;
|
||||||
|
data['bio'] = this.bio;
|
||||||
if (this.follows != null) {
|
if (this.follows != null) {
|
||||||
data['follows'] = this.follows!.toJson();
|
data['follows'] = this.follows!.toJson();
|
||||||
}
|
}
|
||||||
|
data['is_iam_following_to_guest_user'] = this.isIamFollowingToGuestUser;
|
||||||
if (this.businessType != null) {
|
if (this.businessType != null) {
|
||||||
data['business_type'] = this.businessType!.toJson();
|
data['business_type'] = this.businessType!.toJson();
|
||||||
}
|
}
|
||||||
|
if (this.iamPrincipalData != null) {
|
||||||
|
data['iam_principal_data'] = this.iamPrincipalData!.toJson();
|
||||||
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -176,3 +207,208 @@ class BusinessType {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class IamPrincipalData {
|
||||||
|
int? id;
|
||||||
|
int? principalTypeXid;
|
||||||
|
int? principalSourceXid;
|
||||||
|
String? oneSignalPlayerId;
|
||||||
|
String? googleId;
|
||||||
|
String? appleId;
|
||||||
|
String? facebookId;
|
||||||
|
String? microsoftId;
|
||||||
|
String? userName;
|
||||||
|
String? pin;
|
||||||
|
String? fullName;
|
||||||
|
String? gender;
|
||||||
|
String? dateOfBirth;
|
||||||
|
String? phoneNumber;
|
||||||
|
String? otherPhoneNumber;
|
||||||
|
String? emailAddress;
|
||||||
|
String? addressLine1;
|
||||||
|
String? addressLine2;
|
||||||
|
String? cityXid;
|
||||||
|
String? stateXid;
|
||||||
|
String? countryXid;
|
||||||
|
String? postCode;
|
||||||
|
String? lastLoginDatetime;
|
||||||
|
String? profilePhoto;
|
||||||
|
String? referralCode;
|
||||||
|
String? description;
|
||||||
|
String? about;
|
||||||
|
String? position;
|
||||||
|
String? trainingScores;
|
||||||
|
String? height;
|
||||||
|
String? weight;
|
||||||
|
String? battingAverage;
|
||||||
|
int? isProfileUpdated;
|
||||||
|
String? isActive;
|
||||||
|
int? groupNotification;
|
||||||
|
int? communityNotification;
|
||||||
|
int? followerNotification;
|
||||||
|
int? newFollowerNotification;
|
||||||
|
int? directMessageNotification;
|
||||||
|
int? isAccountVisibility;
|
||||||
|
int? isDeleted;
|
||||||
|
String? reason;
|
||||||
|
String? createdBy;
|
||||||
|
String? modifiedBy;
|
||||||
|
String? deletedAt;
|
||||||
|
String? createdAt;
|
||||||
|
String? updatedAt;
|
||||||
|
String? profileImage;
|
||||||
|
|
||||||
|
IamPrincipalData(
|
||||||
|
{this.id,
|
||||||
|
this.principalTypeXid,
|
||||||
|
this.principalSourceXid,
|
||||||
|
this.oneSignalPlayerId,
|
||||||
|
this.googleId,
|
||||||
|
this.appleId,
|
||||||
|
this.facebookId,
|
||||||
|
this.microsoftId,
|
||||||
|
this.userName,
|
||||||
|
this.pin,
|
||||||
|
this.fullName,
|
||||||
|
this.gender,
|
||||||
|
this.dateOfBirth,
|
||||||
|
this.phoneNumber,
|
||||||
|
this.otherPhoneNumber,
|
||||||
|
this.emailAddress,
|
||||||
|
this.addressLine1,
|
||||||
|
this.addressLine2,
|
||||||
|
this.cityXid,
|
||||||
|
this.stateXid,
|
||||||
|
this.countryXid,
|
||||||
|
this.postCode,
|
||||||
|
this.lastLoginDatetime,
|
||||||
|
this.profilePhoto,
|
||||||
|
this.referralCode,
|
||||||
|
this.description,
|
||||||
|
this.about,
|
||||||
|
this.position,
|
||||||
|
this.trainingScores,
|
||||||
|
this.height,
|
||||||
|
this.weight,
|
||||||
|
this.battingAverage,
|
||||||
|
this.isProfileUpdated,
|
||||||
|
this.isActive,
|
||||||
|
this.groupNotification,
|
||||||
|
this.communityNotification,
|
||||||
|
this.followerNotification,
|
||||||
|
this.newFollowerNotification,
|
||||||
|
this.directMessageNotification,
|
||||||
|
this.isAccountVisibility,
|
||||||
|
this.isDeleted,
|
||||||
|
this.reason,
|
||||||
|
this.createdBy,
|
||||||
|
this.modifiedBy,
|
||||||
|
this.deletedAt,
|
||||||
|
this.createdAt,
|
||||||
|
this.updatedAt,
|
||||||
|
this.profileImage});
|
||||||
|
|
||||||
|
IamPrincipalData.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
principalTypeXid = json['principal_type_xid'];
|
||||||
|
principalSourceXid = json['principal_source_xid'];
|
||||||
|
oneSignalPlayerId = json['one_signal_player_id'];
|
||||||
|
googleId = json['google_id'];
|
||||||
|
appleId = json['apple_id'];
|
||||||
|
facebookId = json['facebook_id'];
|
||||||
|
microsoftId = json['microsoft_id'];
|
||||||
|
userName = json['user_name'];
|
||||||
|
pin = json['pin'];
|
||||||
|
fullName = json['full_name'];
|
||||||
|
gender = json['gender'];
|
||||||
|
dateOfBirth = json['date_of_birth'];
|
||||||
|
phoneNumber = json['phone_number'];
|
||||||
|
otherPhoneNumber = json['other_phone_number'];
|
||||||
|
emailAddress = json['email_address'];
|
||||||
|
addressLine1 = json['address_line1'];
|
||||||
|
addressLine2 = json['address_line2'];
|
||||||
|
cityXid = json['city_xid'];
|
||||||
|
stateXid = json['state_xid'];
|
||||||
|
countryXid = json['country_xid'];
|
||||||
|
postCode = json['post_code'];
|
||||||
|
lastLoginDatetime = json['last_login_datetime'];
|
||||||
|
profilePhoto = json['profile_photo'];
|
||||||
|
referralCode = json['referral_code'];
|
||||||
|
description = json['description'];
|
||||||
|
about = json['about'];
|
||||||
|
position = json['position'];
|
||||||
|
trainingScores = json['training_scores'];
|
||||||
|
height = json['height'];
|
||||||
|
weight = json['weight'];
|
||||||
|
battingAverage = json['batting_average'];
|
||||||
|
isProfileUpdated = json['is_profile_updated'];
|
||||||
|
isActive = json['is_active'];
|
||||||
|
groupNotification = json['group_notification'];
|
||||||
|
communityNotification = json['community_notification'];
|
||||||
|
followerNotification = json['follower_notification'];
|
||||||
|
newFollowerNotification = json['new_follower_notification'];
|
||||||
|
directMessageNotification = json['direct_message_notification'];
|
||||||
|
isAccountVisibility = json['is_account_visibility'];
|
||||||
|
isDeleted = json['is_deleted'];
|
||||||
|
reason = json['reason'];
|
||||||
|
createdBy = json['created_by'];
|
||||||
|
modifiedBy = json['modified_by'];
|
||||||
|
deletedAt = json['deleted_at'];
|
||||||
|
createdAt = json['created_at'];
|
||||||
|
updatedAt = json['updated_at'];
|
||||||
|
profileImage = json['profile_image'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['principal_type_xid'] = this.principalTypeXid;
|
||||||
|
data['principal_source_xid'] = this.principalSourceXid;
|
||||||
|
data['one_signal_player_id'] = this.oneSignalPlayerId;
|
||||||
|
data['google_id'] = this.googleId;
|
||||||
|
data['apple_id'] = this.appleId;
|
||||||
|
data['facebook_id'] = this.facebookId;
|
||||||
|
data['microsoft_id'] = this.microsoftId;
|
||||||
|
data['user_name'] = this.userName;
|
||||||
|
data['pin'] = this.pin;
|
||||||
|
data['full_name'] = this.fullName;
|
||||||
|
data['gender'] = this.gender;
|
||||||
|
data['date_of_birth'] = this.dateOfBirth;
|
||||||
|
data['phone_number'] = this.phoneNumber;
|
||||||
|
data['other_phone_number'] = this.otherPhoneNumber;
|
||||||
|
data['email_address'] = this.emailAddress;
|
||||||
|
data['address_line1'] = this.addressLine1;
|
||||||
|
data['address_line2'] = this.addressLine2;
|
||||||
|
data['city_xid'] = this.cityXid;
|
||||||
|
data['state_xid'] = this.stateXid;
|
||||||
|
data['country_xid'] = this.countryXid;
|
||||||
|
data['post_code'] = this.postCode;
|
||||||
|
data['last_login_datetime'] = this.lastLoginDatetime;
|
||||||
|
data['profile_photo'] = this.profilePhoto;
|
||||||
|
data['referral_code'] = this.referralCode;
|
||||||
|
data['description'] = this.description;
|
||||||
|
data['about'] = this.about;
|
||||||
|
data['position'] = this.position;
|
||||||
|
data['training_scores'] = this.trainingScores;
|
||||||
|
data['height'] = this.height;
|
||||||
|
data['weight'] = this.weight;
|
||||||
|
data['batting_average'] = this.battingAverage;
|
||||||
|
data['is_profile_updated'] = this.isProfileUpdated;
|
||||||
|
data['is_active'] = this.isActive;
|
||||||
|
data['group_notification'] = this.groupNotification;
|
||||||
|
data['community_notification'] = this.communityNotification;
|
||||||
|
data['follower_notification'] = this.followerNotification;
|
||||||
|
data['new_follower_notification'] = this.newFollowerNotification;
|
||||||
|
data['direct_message_notification'] = this.directMessageNotification;
|
||||||
|
data['is_account_visibility'] = this.isAccountVisibility;
|
||||||
|
data['is_deleted'] = this.isDeleted;
|
||||||
|
data['reason'] = this.reason;
|
||||||
|
data['created_by'] = this.createdBy;
|
||||||
|
data['modified_by'] = this.modifiedBy;
|
||||||
|
data['deleted_at'] = this.deletedAt;
|
||||||
|
data['created_at'] = this.createdAt;
|
||||||
|
data['updated_at'] = this.updatedAt;
|
||||||
|
data['profile_image'] = this.profileImage;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -28,7 +28,10 @@ class GetEditProfileIndi {
|
|||||||
class Data {
|
class Data {
|
||||||
int? id;
|
int? id;
|
||||||
String? userName;
|
String? userName;
|
||||||
|
String? location;
|
||||||
String? fullName;
|
String? fullName;
|
||||||
|
// String? profileImage;
|
||||||
|
String? profilePhoto;
|
||||||
String? gender;
|
String? gender;
|
||||||
String? dateOfBirth;
|
String? dateOfBirth;
|
||||||
List<Interest>? interest;
|
List<Interest>? interest;
|
||||||
@@ -39,11 +42,18 @@ class Data {
|
|||||||
String? weight;
|
String? weight;
|
||||||
String? battingAverage;
|
String? battingAverage;
|
||||||
Follows? follows;
|
Follows? follows;
|
||||||
|
List<Timelines>? timelines;
|
||||||
|
int? accountVisibility;
|
||||||
|
List<MyJoinedGroups>? myJoinedGroups;
|
||||||
|
List<Certifications>? certifications;
|
||||||
|
int? daysBeforeJoined;
|
||||||
|
|
||||||
Data(
|
Data(
|
||||||
{this.id,
|
{this.id,
|
||||||
this.userName,
|
this.userName,
|
||||||
this.fullName,
|
this.fullName,
|
||||||
|
// this.profileImage,
|
||||||
|
this.profilePhoto,
|
||||||
this.gender,
|
this.gender,
|
||||||
this.dateOfBirth,
|
this.dateOfBirth,
|
||||||
this.interest,
|
this.interest,
|
||||||
@@ -53,12 +63,21 @@ class Data {
|
|||||||
this.height,
|
this.height,
|
||||||
this.weight,
|
this.weight,
|
||||||
this.battingAverage,
|
this.battingAverage,
|
||||||
this.follows});
|
this.follows,
|
||||||
|
this.timelines,
|
||||||
|
this.accountVisibility,
|
||||||
|
this.myJoinedGroups,
|
||||||
|
this.certifications,
|
||||||
|
this.daysBeforeJoined});
|
||||||
|
|
||||||
Data.fromJson(Map<String, dynamic> json) {
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
id = json['id'];
|
id = json['id'];
|
||||||
userName = json['user_name'];
|
userName = json['user_name'];
|
||||||
|
location = json['location'];
|
||||||
|
|
||||||
fullName = json['full_name'];
|
fullName = json['full_name'];
|
||||||
|
// profileImage = json['profile_image'];
|
||||||
|
profilePhoto = json['profile_photo'];
|
||||||
gender = json['gender'];
|
gender = json['gender'];
|
||||||
dateOfBirth = json['date_of_birth'];
|
dateOfBirth = json['date_of_birth'];
|
||||||
if (json['interest'] != null) {
|
if (json['interest'] != null) {
|
||||||
@@ -75,13 +94,37 @@ class Data {
|
|||||||
battingAverage = json['batting_average'];
|
battingAverage = json['batting_average'];
|
||||||
follows =
|
follows =
|
||||||
json['follows'] != null ? new Follows.fromJson(json['follows']) : null;
|
json['follows'] != null ? new Follows.fromJson(json['follows']) : null;
|
||||||
|
if (json['timelines'] != null) {
|
||||||
|
timelines = <Timelines>[];
|
||||||
|
json['timelines'].forEach((v) {
|
||||||
|
timelines!.add(new Timelines.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
accountVisibility = json['account_visibility'];
|
||||||
|
if (json['my_joined_groups'] != null) {
|
||||||
|
myJoinedGroups = <MyJoinedGroups>[];
|
||||||
|
json['my_joined_groups'].forEach((v) {
|
||||||
|
myJoinedGroups!.add(new MyJoinedGroups.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (json['certifications'] != null) {
|
||||||
|
certifications = <Certifications>[];
|
||||||
|
json['certifications'].forEach((v) {
|
||||||
|
certifications!.add(new Certifications.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
daysBeforeJoined = json['days_before_joined'];
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
data['id'] = this.id;
|
data['id'] = this.id;
|
||||||
data['user_name'] = this.userName;
|
data['user_name'] = this.userName;
|
||||||
|
data['location'] = this.location;
|
||||||
|
|
||||||
data['full_name'] = this.fullName;
|
data['full_name'] = this.fullName;
|
||||||
|
// data['profile_image'] = this.profileImage;
|
||||||
|
data['profile_photo'] = this.profilePhoto;
|
||||||
data['gender'] = this.gender;
|
data['gender'] = this.gender;
|
||||||
data['date_of_birth'] = this.dateOfBirth;
|
data['date_of_birth'] = this.dateOfBirth;
|
||||||
if (this.interest != null) {
|
if (this.interest != null) {
|
||||||
@@ -96,6 +139,19 @@ class Data {
|
|||||||
if (this.follows != null) {
|
if (this.follows != null) {
|
||||||
data['follows'] = this.follows!.toJson();
|
data['follows'] = this.follows!.toJson();
|
||||||
}
|
}
|
||||||
|
if (this.timelines != null) {
|
||||||
|
data['timelines'] = this.timelines!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['account_visibility'] = this.accountVisibility;
|
||||||
|
if (this.myJoinedGroups != null) {
|
||||||
|
data['my_joined_groups'] =
|
||||||
|
this.myJoinedGroups!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
if (this.certifications != null) {
|
||||||
|
data['certifications'] =
|
||||||
|
this.certifications!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['days_before_joined'] = this.daysBeforeJoined;
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -119,6 +175,77 @@ class Interest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class Timelines {
|
||||||
|
int? id;
|
||||||
|
String? clubName;
|
||||||
|
String? roleName;
|
||||||
|
String? teamName;
|
||||||
|
String? startDate;
|
||||||
|
String? endDate;
|
||||||
|
String? abilitiesXids;
|
||||||
|
List<Abilities>? abilities;
|
||||||
|
|
||||||
|
Timelines(
|
||||||
|
{this.id,
|
||||||
|
this.clubName,
|
||||||
|
this.roleName,
|
||||||
|
this.teamName,
|
||||||
|
this.startDate,
|
||||||
|
this.endDate,
|
||||||
|
this.abilitiesXids,
|
||||||
|
this.abilities});
|
||||||
|
|
||||||
|
Timelines.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
clubName = json['club_name'];
|
||||||
|
roleName = json['role_name'];
|
||||||
|
teamName = json['team_name'];
|
||||||
|
startDate = json['start_date'];
|
||||||
|
endDate = json['end_date'];
|
||||||
|
abilitiesXids = json['abilities_xids'];
|
||||||
|
if (json['abilities'] != null) {
|
||||||
|
abilities = <Abilities>[];
|
||||||
|
json['abilities'].forEach((v) {
|
||||||
|
abilities!.add(new Abilities.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['club_name'] = this.clubName;
|
||||||
|
data['role_name'] = this.roleName;
|
||||||
|
data['team_name'] = this.teamName;
|
||||||
|
data['start_date'] = this.startDate;
|
||||||
|
data['end_date'] = this.endDate;
|
||||||
|
data['abilities_xids'] = this.abilitiesXids;
|
||||||
|
if (this.abilities != null) {
|
||||||
|
data['abilities'] = this.abilities!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Abilities {
|
||||||
|
int? id;
|
||||||
|
String? name;
|
||||||
|
|
||||||
|
Abilities({this.id, this.name});
|
||||||
|
|
||||||
|
Abilities.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
name = json['name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['name'] = this.name;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class Follows {
|
class Follows {
|
||||||
int? following;
|
int? following;
|
||||||
int? followers;
|
int? followers;
|
||||||
@@ -137,3 +264,92 @@ class Follows {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class Certifications {
|
||||||
|
int? id;
|
||||||
|
String? certificationName;
|
||||||
|
String? certificationImage;
|
||||||
|
String? certificationReason;
|
||||||
|
String? certificationDate;
|
||||||
|
int? iamPrincipalXid;
|
||||||
|
|
||||||
|
Certifications(
|
||||||
|
{this.id,
|
||||||
|
this.certificationName,
|
||||||
|
this.certificationImage,
|
||||||
|
this.certificationReason,
|
||||||
|
this.certificationDate,
|
||||||
|
this.iamPrincipalXid});
|
||||||
|
|
||||||
|
Certifications.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
certificationName = json['certification_name'];
|
||||||
|
certificationImage = json['certification_image'];
|
||||||
|
certificationReason = json['certification_reason'];
|
||||||
|
certificationDate = json['certification_date'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['certification_name'] = this.certificationName;
|
||||||
|
data['certification_image'] = this.certificationImage;
|
||||||
|
data['certification_reason'] = this.certificationReason;
|
||||||
|
data['certification_date'] = this.certificationDate;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class MyJoinedGroups {
|
||||||
|
int? id;
|
||||||
|
int? iamPrincipalXid;
|
||||||
|
int? manageGroupXid;
|
||||||
|
GroupData? groupData;
|
||||||
|
|
||||||
|
MyJoinedGroups(
|
||||||
|
{this.id, this.iamPrincipalXid, this.manageGroupXid, this.groupData});
|
||||||
|
|
||||||
|
MyJoinedGroups.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
|
manageGroupXid = json['manage_group_xid'];
|
||||||
|
groupData = json['group_data'] != null
|
||||||
|
? new GroupData.fromJson(json['group_data'])
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
|
data['manage_group_xid'] = this.manageGroupXid;
|
||||||
|
if (this.groupData != null) {
|
||||||
|
data['group_data'] = this.groupData!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class GroupData {
|
||||||
|
int? id;
|
||||||
|
String? title;
|
||||||
|
String? groupImage;
|
||||||
|
|
||||||
|
GroupData({this.id, this.title, this.groupImage});
|
||||||
|
|
||||||
|
GroupData.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
title = json['title'];
|
||||||
|
groupImage = json['group_image'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['title'] = this.title;
|
||||||
|
data['group_image'] = this.groupImage;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
class InterestModel {
|
||||||
|
String? status;
|
||||||
|
int? statusCode;
|
||||||
|
String? message;
|
||||||
|
List<Data>? data;
|
||||||
|
|
||||||
|
InterestModel({this.status, this.statusCode, this.message, this.data});
|
||||||
|
|
||||||
|
InterestModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
status = json['status'];
|
||||||
|
statusCode = json['status_code'];
|
||||||
|
message = json['message'];
|
||||||
|
if (json['data'] != null) {
|
||||||
|
data = <Data>[];
|
||||||
|
json['data'].forEach((v) {
|
||||||
|
data!.add(Data.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
|
data['status'] = status;
|
||||||
|
data['status_code'] = statusCode;
|
||||||
|
data['message'] = message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
int? id;
|
||||||
|
String? name;
|
||||||
|
String? image;
|
||||||
|
|
||||||
|
Data({this.id, this.name, this.image});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
name = json['name'];
|
||||||
|
image = json['image'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
|
data['id'] = id;
|
||||||
|
data['name'] = name;
|
||||||
|
data['image'] = image;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,10 +7,9 @@ import 'package:get/get.dart' hide MultipartFile, FormData;
|
|||||||
import 'package:regroup/Common/CommonButton.dart';
|
import 'package:regroup/Common/CommonButton.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Common/base_manager.dart';
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/EditProfile/View/ProfileTab.dart';
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/EditProfile/View/picturecontroller/profileimagecontoller.dart';
|
||||||
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/EditProfile/ViewModel/EditProfileApi.dart';
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/EditProfile/ViewModel/EditProfileApi.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonDropdown.dart';
|
|
||||||
import 'package:regroup/Utils/Common/ImageUpload.dart';
|
import 'package:regroup/Utils/Common/ImageUpload.dart';
|
||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/dialogs.dart';
|
import 'package:regroup/Utils/dialogs.dart';
|
||||||
@@ -60,20 +59,23 @@ class _BusEditProfileState extends State<BusEditProfile> {
|
|||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Founded on & bio data not there
|
//Founded on & bio , businessUsername data not there
|
||||||
|
|
||||||
setValues() {
|
setValues() {
|
||||||
if (isOnce) {
|
if (isOnce) {
|
||||||
busNameController.text = getEditProfileBus!.data!.businessName ?? '';
|
busNameController.text = getEditProfileBus!.data!.businessName ?? '';
|
||||||
busUserNameController.text = getEditProfileBus!.data!.businessName ?? '';
|
busUserNameController.text =
|
||||||
|
getEditProfileBus!.data!.businessOwnerName ?? 'victorygames _10';
|
||||||
ownerNameController.text =
|
ownerNameController.text =
|
||||||
getEditProfileBus!.data!.businessOwnerName ?? '';
|
getEditProfileBus!.data!.businessOwnerName ?? 'James Bothman';
|
||||||
foundedonController.text =
|
foundedonController.text =
|
||||||
getEditProfileBus!.data!.businessOwnerName ?? '';
|
getEditProfileBus!.data!.foundedon ?? '12-04-2024';
|
||||||
websiteLinkController.text = getEditProfileBus!.data!.websiteLink ?? '';
|
websiteLinkController.text =
|
||||||
locationController.text = getEditProfileBus!.data!.businessLocation ?? '';
|
getEditProfileBus!.data!.websiteLink ?? 'victorygames _10';
|
||||||
|
locationController.text = getEditProfileBus!.data!.businessLocation ??
|
||||||
|
'Elm street london, United Kingdom';
|
||||||
|
|
||||||
bioController.text = getEditProfileBus!.data!.businessOwnerName ?? '';
|
bioController.text = getEditProfileBus!.data!.bio ?? "";
|
||||||
|
|
||||||
// _selectedgenderType = getEditProfileIndi!.data!.gender ?? '';
|
// _selectedgenderType = getEditProfileIndi!.data!.gender ?? '';
|
||||||
// _selectedsportType = getEditProfileIndi!.data!.interest!.join(', ') ?? '';
|
// _selectedsportType = getEditProfileIndi!.data!.interest!.join(', ') ?? '';
|
||||||
@@ -84,6 +86,16 @@ class _BusEditProfileState extends State<BusEditProfile> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void saveEditProfileBus() async {
|
void saveEditProfileBus() async {
|
||||||
|
var imageFile;
|
||||||
|
|
||||||
|
if (editProfileImage.usserprofilePicPath.value.isNotEmpty) {
|
||||||
|
imageFile = await MultipartFile.fromFile(
|
||||||
|
editProfileImage.usserprofilePicPath.value,
|
||||||
|
filename: path.basename(profilePicture),
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
FormData? updata;
|
FormData? updata;
|
||||||
if (busNameController.text.isBlank! ||
|
if (busNameController.text.isBlank! ||
|
||||||
busUserNameController.text.isBlank! ||
|
busUserNameController.text.isBlank! ||
|
||||||
@@ -99,9 +111,12 @@ class _BusEditProfileState extends State<BusEditProfile> {
|
|||||||
backgroundColor: Colors.red,
|
backgroundColor: Colors.red,
|
||||||
colorText: Colors.white,
|
colorText: Colors.white,
|
||||||
);
|
);
|
||||||
} else if (profilePicture == "") {
|
}
|
||||||
utils.showToast('Upload edit profile picture!');
|
// else if (profilePicture == "") {
|
||||||
} else {
|
// utils.showToast('Upload edit profile picture!');
|
||||||
|
// }
|
||||||
|
else {
|
||||||
|
utils.loader();
|
||||||
updata = FormData.fromMap({
|
updata = FormData.fromMap({
|
||||||
"business_name": busNameController.text,
|
"business_name": busNameController.text,
|
||||||
"business_username": busUserNameController.text,
|
"business_username": busUserNameController.text,
|
||||||
@@ -110,11 +125,14 @@ class _BusEditProfileState extends State<BusEditProfile> {
|
|||||||
"website_link": websiteLinkController.text,
|
"website_link": websiteLinkController.text,
|
||||||
"business_location": locationController.text,
|
"business_location": locationController.text,
|
||||||
"bio": bioController.text,
|
"bio": bioController.text,
|
||||||
"business_profile": await convertFileToMultiPart(profilePicture),
|
"business_profile":
|
||||||
|
editProfileImage.usserprofilePicPath.isNotEmpty ? imageFile : null,
|
||||||
|
// await convertFileToMultiPart(profilePicture),
|
||||||
});
|
});
|
||||||
|
|
||||||
final data = await EditProfileApi().postEditProfileBusiness(updata);
|
final data = await EditProfileApi().postEditProfileBusiness(updata);
|
||||||
if (data.status == ResponseStatus.SUCCESS) {
|
if (data.status == ResponseStatus.SUCCESS) {
|
||||||
|
Get.back();
|
||||||
// await global.setname();
|
// await global.setname();
|
||||||
// Get.snackbar(
|
// Get.snackbar(
|
||||||
// "Success!",
|
// "Success!",
|
||||||
@@ -128,17 +146,18 @@ class _BusEditProfileState extends State<BusEditProfile> {
|
|||||||
// );
|
// );
|
||||||
utils.showToast("Data Saved Successfully");
|
utils.showToast("Data Saved Successfully");
|
||||||
// Get.back();
|
// Get.back();
|
||||||
Get.toNamed(RouteName.profiletab);
|
Get.toNamed(RouteName.mainscreen, arguments: 4);
|
||||||
// Get.back(result: true);
|
// Get.back(result: true);
|
||||||
} else {
|
} else {
|
||||||
|
Get.back();
|
||||||
// btnController.reset();
|
// btnController.reset();
|
||||||
Get.snackbar(
|
Get.snackbar(
|
||||||
"Error!",
|
"Error!",
|
||||||
data.data['message'],
|
data.data['message'],
|
||||||
duration: Duration(seconds: 2),
|
duration: const Duration(seconds: 2),
|
||||||
colorText: Colors.white,
|
colorText: Colors.white,
|
||||||
backgroundColor: Colors.red,
|
backgroundColor: Colors.red,
|
||||||
margin: EdgeInsets.all(8),
|
margin: const EdgeInsets.all(8),
|
||||||
snackStyle: SnackStyle.FLOATING,
|
snackStyle: SnackStyle.FLOATING,
|
||||||
snackPosition: SnackPosition.BOTTOM,
|
snackPosition: SnackPosition.BOTTOM,
|
||||||
);
|
);
|
||||||
@@ -147,277 +166,322 @@ class _BusEditProfileState extends State<BusEditProfile> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final UserProfileImageController editProfileImage =
|
||||||
|
Get.put(UserProfileImageController());
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return GestureDetector(
|
||||||
// key: _scaffoldKey1,
|
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
|
||||||
backgroundColor: Color(0xFF222935),
|
child: Scaffold(
|
||||||
extendBody: true,
|
// key: _scaffoldKey1,
|
||||||
appBar: CommonAppbar(
|
backgroundColor: const Color(0xFF222935),
|
||||||
titleTxt: "",
|
extendBody: true,
|
||||||
),
|
appBar: const CommonAppbar(
|
||||||
body: FutureBuilder(
|
titleTxt: "",
|
||||||
future: myfuture,
|
),
|
||||||
builder: (ctx, snapshot) {
|
body: FutureBuilder(
|
||||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
future: myfuture,
|
||||||
return Center(
|
builder: (ctx, snapshot) {
|
||||||
child: CircularProgressIndicator(
|
if (snapshot.connectionState == ConnectionState.waiting) {
|
||||||
color: Colors.blue,
|
return
|
||||||
),
|
// const ShimmerCommon();
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (snapshot.hasError) {
|
const Center(
|
||||||
return Center(
|
child: CircularProgressIndicator(
|
||||||
child: Text(
|
color: Colors.blue,
|
||||||
'${snapshot.error} occurred',
|
),
|
||||||
style: TextStyle(fontSize: 18.spMin),
|
);
|
||||||
),
|
}
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (snapshot.connectionState == ConnectionState.done &&
|
if (snapshot.hasError) {
|
||||||
snapshot.hasData) {
|
return Center(
|
||||||
print("Data fetched-->");
|
child: Text(
|
||||||
return Stack(children: [
|
'${snapshot.error} occurred',
|
||||||
Container(
|
style: TextStyle(fontSize: 18.spMin),
|
||||||
decoration: const BoxDecoration(
|
),
|
||||||
image: DecorationImage(
|
);
|
||||||
image: AssetImage(
|
}
|
||||||
"assets/images/png/Ellipse 1496.png"),
|
|
||||||
fit: BoxFit.fill)),
|
if (snapshot.connectionState == ConnectionState.done &&
|
||||||
),
|
snapshot.hasData) {
|
||||||
SingleChildScrollView(
|
print("Data fetched-->");
|
||||||
child: Padding(
|
return Stack(children: [
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
Container(
|
||||||
child: Column(children: [
|
decoration: const BoxDecoration(
|
||||||
sizedBoxHeight(25.h),
|
image: DecorationImage(
|
||||||
Stack(
|
image: AssetImage(
|
||||||
children: [
|
"assets/images/png/Ellipse 1496.png"),
|
||||||
profilePicture != "" && isImageAdded
|
fit: BoxFit.fill)),
|
||||||
? ClipOval(
|
),
|
||||||
child: SizedBox.fromSize(
|
SingleChildScrollView(
|
||||||
size: Size.fromRadius(50.r),
|
child: Padding(
|
||||||
child: Image.file(
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
File(profilePicture),
|
child: Column(children: [
|
||||||
// filePath[0]!,
|
sizedBoxHeight(25.h),
|
||||||
fit: BoxFit.cover,
|
Stack(
|
||||||
width: double.infinity,
|
children: [
|
||||||
),
|
Obx(
|
||||||
),
|
() => editProfileImage
|
||||||
)
|
.usserprofilePicPath.value !=
|
||||||
: getEditProfileBus!.data!.businessLogo !=
|
''
|
||||||
null
|
? ClipOval(
|
||||||
? Container(
|
child: SizedBox.fromSize(
|
||||||
width: 100.w,
|
size: Size.fromRadius(50.r),
|
||||||
height: 100.h,
|
child: editProfileImage
|
||||||
decoration: ShapeDecoration(
|
.usserprofilePicPath
|
||||||
image: DecorationImage(
|
.value !=
|
||||||
image: Image(
|
''
|
||||||
image: NetworkImage(
|
? Image(
|
||||||
getEditProfileBus!.data!
|
// File(profilePicture),
|
||||||
.businessLogo ??
|
image: FileImage(
|
||||||
''),
|
File(
|
||||||
).image,
|
editProfileImage
|
||||||
fit: BoxFit.cover,
|
.usserprofilePicPath
|
||||||
),
|
.value,
|
||||||
shape: OvalBorder(),
|
),
|
||||||
),
|
),
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
width: double.infinity,
|
||||||
|
errorBuilder:
|
||||||
|
(BuildContext
|
||||||
|
context,
|
||||||
|
Object
|
||||||
|
exception,
|
||||||
|
StackTrace?
|
||||||
|
stackTrace) {
|
||||||
|
return CircleAvatar(
|
||||||
|
backgroundImage:
|
||||||
|
const AssetImage(
|
||||||
|
"assets/images/png/Ellipse 37 (1).png"),
|
||||||
|
radius: 50.r,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
)
|
||||||
|
: Image.asset(
|
||||||
|
'assets/images/png/Ellipse 37 (1).png')),
|
||||||
)
|
)
|
||||||
: CircleAvatar(
|
: ClipOval(
|
||||||
backgroundImage: AssetImage(
|
child: SizedBox.fromSize(
|
||||||
"assets/images/png/Ellipse 37 (1).png",
|
size: Size.fromRadius(60.r),
|
||||||
),
|
child: getEditProfileBus!.data!
|
||||||
radius: 50.r,
|
.businessProfileImage !=
|
||||||
|
null
|
||||||
|
? ClipOval(
|
||||||
|
child:
|
||||||
|
SizedBox.fromSize(
|
||||||
|
size: Size.fromRadius(
|
||||||
|
25.r),
|
||||||
|
child: CircleAvatar(
|
||||||
|
backgroundImage:
|
||||||
|
NetworkImage(
|
||||||
|
getEditProfileBus!
|
||||||
|
.data!
|
||||||
|
.businessProfileImage!),
|
||||||
|
radius: 25.r,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: Image.asset(
|
||||||
|
"assets/images/png/Ellipse 37 (1).png")),
|
||||||
),
|
),
|
||||||
Positioned(
|
),
|
||||||
bottom: 0,
|
Positioned(
|
||||||
right: 0,
|
bottom: 0,
|
||||||
child: InkWell(
|
right: 0,
|
||||||
onTap: () {
|
child: InkWell(
|
||||||
ImageUploadBottomSheet().showModal(
|
onTap: () {
|
||||||
context,
|
ImageUploadBottomSheet().showModal(
|
||||||
true,
|
context,
|
||||||
(result) {
|
true,
|
||||||
var filenameresult =
|
(result) {
|
||||||
extractFileName(result);
|
editProfileImage
|
||||||
|
.usserprofilePicPath
|
||||||
|
.value = result;
|
||||||
|
var filenameresult =
|
||||||
|
extractFileName(result);
|
||||||
|
|
||||||
profilePicture = result;
|
print(
|
||||||
isImageAdded = true;
|
"File name is $filenameresult");
|
||||||
setState(() {});
|
|
||||||
},
|
profilePicture = result;
|
||||||
);
|
isImageAdded = true;
|
||||||
},
|
setState(() {});
|
||||||
child: Container(
|
},
|
||||||
height: 35.h,
|
);
|
||||||
width: 35.w,
|
},
|
||||||
decoration: BoxDecoration(
|
child: Container(
|
||||||
shape: BoxShape.circle,
|
height: 35.h,
|
||||||
color: Color(0xFFD90B2E)),
|
width: 35.w,
|
||||||
child: Center(
|
decoration: const BoxDecoration(
|
||||||
child: Image.asset(
|
shape: BoxShape.circle,
|
||||||
"assets/images/png/cameraicon2.png",
|
color: Color(0xFFD90B2E)),
|
||||||
height: 19.h,
|
child: Center(
|
||||||
width: 19.w,
|
child: Image.asset(
|
||||||
|
"assets/images/png/cameraicon2.png",
|
||||||
|
height: 19.h,
|
||||||
|
width: 19.w,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
))
|
||||||
))
|
],
|
||||||
],
|
),
|
||||||
),
|
sizedBoxHeight(15.h),
|
||||||
sizedBoxHeight(15.h),
|
text16400white("Edit profile picture"),
|
||||||
text16400white("Edit profile picture"),
|
sizedBoxHeight(30.h),
|
||||||
sizedBoxHeight(30.h),
|
Column(
|
||||||
Column(
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
children: [
|
||||||
children: [
|
text16400white("Business name"),
|
||||||
text16400white("Business name"),
|
sizedBoxHeight(16.h),
|
||||||
sizedBoxHeight(16.h),
|
CustomTextFormField(
|
||||||
CustomTextFormField(
|
textEditingController: busNameController,
|
||||||
textEditingController: busNameController,
|
leadingIcon: SizedBox(
|
||||||
leadingIcon: Container(
|
width: 18.w,
|
||||||
width: 18.w,
|
height: 17.h,
|
||||||
height: 17.h,
|
child: Center(
|
||||||
child: Center(
|
child: Image.asset(
|
||||||
child: Image.asset(
|
"assets/images/png/Frame 24.png",
|
||||||
"assets/images/png/Frame 24.png",
|
width: 18.w,
|
||||||
width: 18.w,
|
height: 17.h,
|
||||||
height: 17.h,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
hintText: "Victory gear sports emporium",
|
|
||||||
),
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
text16400white("Business username"),
|
|
||||||
sizedBoxHeight(16.h),
|
|
||||||
CustomTextFormField(
|
|
||||||
textEditingController: busUserNameController,
|
|
||||||
leadingIcon: Container(
|
|
||||||
width: 18.w,
|
|
||||||
height: 17.h,
|
|
||||||
child: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/Frame 24.png",
|
|
||||||
width: 18.w,
|
|
||||||
height: 17.h,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
hintText: "victorygames _10",
|
|
||||||
),
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
text16400white("Owner name"),
|
|
||||||
sizedBoxHeight(16.h),
|
|
||||||
CustomTextFormField(
|
|
||||||
textEditingController: ownerNameController,
|
|
||||||
leadingIcon: Container(
|
|
||||||
width: 18.w,
|
|
||||||
height: 17.h,
|
|
||||||
child: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/Frame 24.png",
|
|
||||||
width: 18.w,
|
|
||||||
height: 17.h,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
hintText: "James Bothman",
|
|
||||||
),
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
text16400white("Founded on"),
|
|
||||||
sizedBoxHeight(16.h),
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () =>
|
|
||||||
datePicker(context, foundedonController),
|
|
||||||
child: AbsorbPointer(
|
|
||||||
child: CustomTextFormField(
|
|
||||||
leadingIcon: Container(
|
|
||||||
width: 18.0,
|
|
||||||
height: 17.0,
|
|
||||||
child: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/calender.png",
|
|
||||||
width: 18.0,
|
|
||||||
height: 17.0,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
hintText: "12-04-2024",
|
|
||||||
textEditingController:
|
|
||||||
foundedonController,
|
|
||||||
),
|
),
|
||||||
|
hintText: "Victory gear sports emporium",
|
||||||
),
|
),
|
||||||
),
|
sizedBoxHeight(20.h),
|
||||||
sizedBoxHeight(20.h),
|
text16400white("Business username"),
|
||||||
text16400white("Website link"),
|
sizedBoxHeight(16.h),
|
||||||
sizedBoxHeight(16.h),
|
CustomTextFormField(
|
||||||
CustomTextFormField(
|
textEditingController:
|
||||||
textEditingController: websiteLinkController,
|
busUserNameController,
|
||||||
leadingIcon: Container(
|
leadingIcon: SizedBox(
|
||||||
width: 18.w,
|
width: 18.w,
|
||||||
height: 17.h,
|
height: 17.h,
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
"assets/images/png/Vector2a.png",
|
"assets/images/png/Frame 24.png",
|
||||||
width: 18.w,
|
width: 18.w,
|
||||||
height: 17.h,
|
height: 17.h,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
hintText: "",
|
||||||
|
),
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
text16400white("Owner name"),
|
||||||
|
sizedBoxHeight(16.h),
|
||||||
|
CustomTextFormField(
|
||||||
|
textEditingController: ownerNameController,
|
||||||
|
leadingIcon: SizedBox(
|
||||||
|
width: 18.w,
|
||||||
|
height: 17.h,
|
||||||
|
child: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/Frame 24.png",
|
||||||
|
width: 18.w,
|
||||||
|
height: 17.h,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
hintText: "",
|
||||||
|
),
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
text16400white("Founded on"),
|
||||||
|
sizedBoxHeight(16.h),
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () => datePicker(
|
||||||
|
context, foundedonController),
|
||||||
|
child: AbsorbPointer(
|
||||||
|
child: CustomTextFormField(
|
||||||
|
leadingIcon: SizedBox(
|
||||||
|
width: 18.0,
|
||||||
|
height: 17.0,
|
||||||
|
child: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/calender.png",
|
||||||
|
width: 18.0,
|
||||||
|
height: 17.0,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
hintText: "",
|
||||||
|
textEditingController:
|
||||||
|
foundedonController,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
hintText: "victorygames _10",
|
sizedBoxHeight(20.h),
|
||||||
),
|
text16400white("Website link"),
|
||||||
sizedBoxHeight(25.h),
|
sizedBoxHeight(16.h),
|
||||||
Row(
|
CustomTextFormField(
|
||||||
children: [
|
textEditingController:
|
||||||
text16400white("Location"),
|
websiteLinkController,
|
||||||
sizedBoxWidth(6.w),
|
leadingIcon: SizedBox(
|
||||||
Image.asset(
|
width: 18.w,
|
||||||
"assets/images/png/octicon_question-24.png",
|
height: 17.h,
|
||||||
height: 16.h,
|
child: Center(
|
||||||
width: 16.w,
|
child: Image.asset(
|
||||||
)
|
"assets/images/png/Vector2a.png",
|
||||||
],
|
width: 18.w,
|
||||||
),
|
height: 17.h,
|
||||||
sizedBoxHeight(16.h),
|
),
|
||||||
CustomTextFormField(
|
|
||||||
textEditingController: locationController,
|
|
||||||
leadingIcon: Container(
|
|
||||||
width: 18.w,
|
|
||||||
height: 17.h,
|
|
||||||
child: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/Group 58645.png",
|
|
||||||
width: 18.w,
|
|
||||||
height: 17.h,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
hintText: "",
|
||||||
),
|
),
|
||||||
hintText: "Elm street london, United Kingdom",
|
sizedBoxHeight(25.h),
|
||||||
),
|
Row(
|
||||||
sizedBoxHeight(20.h),
|
children: [
|
||||||
text16400white("Bio"),
|
text16400white("Location"),
|
||||||
sizedBoxHeight(16.h),
|
sizedBoxWidth(6.w),
|
||||||
CustomTextFormField2(
|
Image.asset(
|
||||||
textEditingController: bioController,
|
"assets/images/png/octicon_question-24.png",
|
||||||
hintText:
|
height: 16.h,
|
||||||
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem Ipsum has been the industry's standard",
|
width: 16.w,
|
||||||
maxlines: 3,
|
)
|
||||||
),
|
],
|
||||||
sizedBoxHeight(60.h),
|
),
|
||||||
CommonBtn(
|
sizedBoxHeight(16.h),
|
||||||
text: "Save",
|
CustomTextFormField(
|
||||||
onTap: () {
|
textEditingController: locationController,
|
||||||
saveEditProfileBus();
|
leadingIcon: SizedBox(
|
||||||
},
|
width: 18.w,
|
||||||
),
|
height: 17.h,
|
||||||
sizedBoxHeight(60.h),
|
child: Center(
|
||||||
],
|
child: Image.asset(
|
||||||
)
|
"assets/images/png/Group 58645.png",
|
||||||
])))
|
width: 18.w,
|
||||||
]);
|
height: 17.h,
|
||||||
}
|
),
|
||||||
return Container();
|
),
|
||||||
}));
|
),
|
||||||
|
hintText: "",
|
||||||
|
),
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
text16400white("Bio"),
|
||||||
|
sizedBoxHeight(16.h),
|
||||||
|
CustomTextFormField2(
|
||||||
|
textEditingController: bioController,
|
||||||
|
hintText: "",
|
||||||
|
maxlines: 3,
|
||||||
|
),
|
||||||
|
sizedBoxHeight(60.h),
|
||||||
|
CommonBtn(
|
||||||
|
text: "Save",
|
||||||
|
onTap: () {
|
||||||
|
saveEditProfileBus();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
sizedBoxHeight(60.h),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
])))
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
return Container();
|
||||||
|
})),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:image_picker/image_picker.dart';
|
||||||
|
import 'package:image_cropper/image_cropper.dart';
|
||||||
|
|
||||||
|
class UserIndiProfileImageController extends GetxController {
|
||||||
|
RxString usserprofilePicPath = "".obs;
|
||||||
|
|
||||||
|
void getImage(ImageSource imgSource) async {
|
||||||
|
final ImagePicker picker = ImagePicker();
|
||||||
|
print('profilePicPath $usserprofilePicPath');
|
||||||
|
final XFile? pickedImg = await picker.pickImage(source: imgSource);
|
||||||
|
if (pickedImg != null) {
|
||||||
|
final CroppedFile? croppedImg = await ImageCropper().cropImage(
|
||||||
|
sourcePath: pickedImg.path,
|
||||||
|
aspectRatio: const CropAspectRatio(ratioX: 1, ratioY: 1),
|
||||||
|
compressFormat: ImageCompressFormat.jpg,
|
||||||
|
maxHeight: 512,
|
||||||
|
maxWidth: 512,
|
||||||
|
compressQuality: 100,
|
||||||
|
cropStyle: CropStyle.circle,
|
||||||
|
aspectRatioPresets: [
|
||||||
|
CropAspectRatioPreset.square,
|
||||||
|
],
|
||||||
|
uiSettings: [
|
||||||
|
AndroidUiSettings(
|
||||||
|
toolbarTitle: "Crop Image",
|
||||||
|
toolbarColor: Get.theme.appBarTheme.backgroundColor,
|
||||||
|
backgroundColor: Colors.black,
|
||||||
|
activeControlsWidgetColor: Colors.red,
|
||||||
|
cropFrameColor: Colors.white,
|
||||||
|
cropGridColor: Colors.white, // Ensure this matches the theme
|
||||||
|
cropGridColumnCount: 2, // Add to make the grid lines prominent
|
||||||
|
cropGridRowCount: 2, // Add to make the grid lines prominent
|
||||||
|
lockAspectRatio: true, // Ensure the aspect ratio is locked
|
||||||
|
),
|
||||||
|
IOSUiSettings(
|
||||||
|
title: 'Crop Image',
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
if (croppedImg != null) {
|
||||||
|
usserprofilePicPath.value = croppedImg.path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:image_picker/image_picker.dart';
|
||||||
|
import 'package:image_cropper/image_cropper.dart';
|
||||||
|
|
||||||
|
class UserProfileImageController extends GetxController {
|
||||||
|
RxString usserprofilePicPath = "".obs;
|
||||||
|
|
||||||
|
void getImage(ImageSource imgSource) async {
|
||||||
|
final ImagePicker picker = ImagePicker();
|
||||||
|
print('profilePicPath $usserprofilePicPath');
|
||||||
|
final XFile? pickedImg = await picker.pickImage(source: imgSource);
|
||||||
|
if (pickedImg != null) {
|
||||||
|
final CroppedFile? croppedImg = await ImageCropper().cropImage(
|
||||||
|
sourcePath: pickedImg.path,
|
||||||
|
aspectRatio: const CropAspectRatio(ratioX: 1, ratioY: 1),
|
||||||
|
compressFormat: ImageCompressFormat.jpg,
|
||||||
|
maxHeight: 512,
|
||||||
|
maxWidth: 512,
|
||||||
|
compressQuality: 100,
|
||||||
|
cropStyle: CropStyle.circle,
|
||||||
|
aspectRatioPresets: [
|
||||||
|
CropAspectRatioPreset.square,
|
||||||
|
],
|
||||||
|
uiSettings: [
|
||||||
|
AndroidUiSettings(
|
||||||
|
toolbarTitle: "Crop Image",
|
||||||
|
toolbarColor: Get.theme.appBarTheme.backgroundColor,
|
||||||
|
backgroundColor: Colors.black,
|
||||||
|
activeControlsWidgetColor: Colors.red,
|
||||||
|
cropFrameColor: Colors.white,
|
||||||
|
cropGridColor: Colors.white, // Ensure this matches the theme
|
||||||
|
cropGridColumnCount: 2, // Add to make the grid lines prominent
|
||||||
|
cropGridRowCount: 2, // Add to make the grid lines prominent
|
||||||
|
lockAspectRatio: true, // Ensure the aspect ratio is locked
|
||||||
|
),
|
||||||
|
IOSUiSettings(
|
||||||
|
title: 'Crop Image',
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
if (croppedImg != null) {
|
||||||
|
usserprofilePicPath.value = croppedImg.path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
import 'package:regroup/Common/api_urls.dart';
|
import 'package:regroup/Common/api_urls.dart';
|
||||||
import 'package:regroup/Common/base_manager.dart';
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
import 'package:regroup/Common/controller/data/network/network_api.dart';
|
import 'package:regroup/Common/controller/data/network/network_api.dart';
|
||||||
@@ -7,6 +9,9 @@ import 'package:shared_preferences/shared_preferences.dart';
|
|||||||
|
|
||||||
GetEditProfileIndi? getEditProfileIndi;
|
GetEditProfileIndi? getEditProfileIndi;
|
||||||
GetEditProfileBus? getEditProfileBus;
|
GetEditProfileBus? getEditProfileBus;
|
||||||
|
List<String> listofUserInterests = [];
|
||||||
|
|
||||||
|
bool accountvisibility = true;
|
||||||
|
|
||||||
class EditProfileApi {
|
class EditProfileApi {
|
||||||
EditProfileApi();
|
EditProfileApi();
|
||||||
@@ -27,23 +32,33 @@ class EditProfileApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<ResponseData<dynamic>> getEditProfileIndividual() async {
|
Future<ResponseData<dynamic>> getEditProfileIndividual() async {
|
||||||
final response = await NetworkApiServices().getApi(
|
final response = await NetworkApiServices().getApi(ApiUrls.geteditprofile);
|
||||||
ApiUrls.geteditprofile,
|
|
||||||
);
|
|
||||||
getEditProfileIndi = GetEditProfileIndi.fromJson(response.data);
|
|
||||||
if (response.status == ResponseStatus.SUCCESS) {
|
if (response.status == ResponseStatus.SUCCESS) {
|
||||||
if (response.data["status"] == "success") {
|
if (response.data["status"] == "success") {
|
||||||
print("Success---->");
|
getEditProfileIndi = GetEditProfileIndi.fromJson(response.data);
|
||||||
return ResponseData<dynamic>(
|
accountvisibility = getEditProfileIndi!.data!.accountVisibility == 1;
|
||||||
response.data['message'], ResponseStatus.SUCCESS,
|
getUserIntersetFromResponse();
|
||||||
data: response.data);
|
}
|
||||||
|
return ResponseData<dynamic>(
|
||||||
|
response.data['message'], ResponseStatus.SUCCESS,
|
||||||
|
data: response.data);
|
||||||
|
} else {
|
||||||
|
return ResponseData<dynamic>(
|
||||||
|
response.data['message'], ResponseStatus.FAILED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getUserIntersetFromResponse() {
|
||||||
|
for (var interests in getEditProfileIndi!.data!.interest!) {
|
||||||
|
String interestName = interests.name ?? "null";
|
||||||
|
int index = listofUserInterests.indexOf(interestName);
|
||||||
|
if (index != -1) {
|
||||||
|
listofUserInterests[index] = interestName;
|
||||||
} else {
|
} else {
|
||||||
return ResponseData<dynamic>(
|
listofUserInterests.add(interestName);
|
||||||
response.data['message'], ResponseStatus.FAILED);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return response;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<ResponseData<dynamic>> postEditProfileBusiness(var data) async {
|
Future<ResponseData<dynamic>> postEditProfileBusiness(var data) async {
|
||||||
@@ -65,8 +80,9 @@ class EditProfileApi {
|
|||||||
final response = await NetworkApiServices().getApi(
|
final response = await NetworkApiServices().getApi(
|
||||||
ApiUrls.geteditprofilebusiness,
|
ApiUrls.geteditprofilebusiness,
|
||||||
);
|
);
|
||||||
getEditProfileBus = GetEditProfileBus.fromJson(response.data);
|
|
||||||
if (response.status == ResponseStatus.SUCCESS) {
|
if (response.status == ResponseStatus.SUCCESS) {
|
||||||
|
getEditProfileBus = GetEditProfileBus.fromJson(response.data);
|
||||||
|
|
||||||
if (response.data["status"] == "success") {
|
if (response.data["status"] == "success") {
|
||||||
print("Success---->");
|
print("Success---->");
|
||||||
return ResponseData<dynamic>(
|
return ResponseData<dynamic>(
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
import 'package:regroup/Common/api_urls.dart';
|
||||||
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
|
import 'package:regroup/Common/controller/data/network/network_api.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/EditProfile/Model/InterestModel.dart';
|
||||||
|
|
||||||
|
InterestModel? interestlistobj;
|
||||||
|
List<String> listofInterests = [];
|
||||||
|
|
||||||
|
class InterestListApi {
|
||||||
|
InterestListApi();
|
||||||
|
var data = "";
|
||||||
|
Future<ResponseData<dynamic>> getinterestlistApi() async {
|
||||||
|
final response = await NetworkApiServices().getApi(
|
||||||
|
ApiUrls.getinterestlist,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (response.status == ResponseStatus.SUCCESS) {
|
||||||
|
Map<String, dynamic> responseData =
|
||||||
|
Map<String, dynamic>.from(response.data);
|
||||||
|
if (responseData['status'] == "success") {
|
||||||
|
interestlistobj = InterestModel.fromJson(responseData);
|
||||||
|
getIntersetFromResponse();
|
||||||
|
} else {
|
||||||
|
return ResponseData<dynamic>(
|
||||||
|
responseData['message'], ResponseStatus.FAILED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
getIntersetFromResponse() {
|
||||||
|
for (var interests in interestlistobj!.data!) {
|
||||||
|
listofInterests.add(interests.name ?? "null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,6 +5,9 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Common/base_manager.dart';
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Guest%20User/Model/GetGuestFollowers.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Guest%20User/Model/GetGuestFollowing.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Guest%20User/ViewModel/GuestProfileApi.dart';
|
||||||
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Model/followingModel.dart';
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Model/followingModel.dart';
|
||||||
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profileGetmethod.dart';
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profileGetmethod.dart';
|
||||||
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profilePostmethod.dart';
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profilePostmethod.dart';
|
||||||
@@ -13,6 +16,7 @@ import 'package:regroup/Utils/Common/CustomTextformfield.dart';
|
|||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/dialogs.dart';
|
import 'package:regroup/Utils/dialogs.dart';
|
||||||
import 'package:regroup/Utils/texts.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 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
|
||||||
|
|
||||||
class Following extends StatefulWidget {
|
class Following extends StatefulWidget {
|
||||||
@@ -24,12 +28,34 @@ class Following extends StatefulWidget {
|
|||||||
|
|
||||||
class _FollowingState extends State<Following> {
|
class _FollowingState extends State<Following> {
|
||||||
StreamController<FollowingModel> searchcontroller = StreamController();
|
StreamController<FollowingModel> searchcontroller = StreamController();
|
||||||
|
StreamController<GetGuestFollowing> guestsearchcontroller =
|
||||||
|
StreamController();
|
||||||
|
|
||||||
|
var guestUserid = Get.arguments['UpdataGuestIdfollowing'] ?? '';
|
||||||
|
|
||||||
|
var fromBusFollowing = Get.arguments['From'] ?? '';
|
||||||
|
|
||||||
|
var guestBusUserid = Get.arguments['UpdataGuestBusIdfollowing'] ?? '';
|
||||||
|
|
||||||
|
var fromMainBusProfile = Get.arguments['From'] ?? '';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
// TODO: implement initState
|
// TODO: implement initState
|
||||||
var updata = "";
|
var updata = "";
|
||||||
Profilegetmethod().getFollowing(updata, streamController: searchcontroller);
|
if (fromMainBusProfile == 'MainBusProfile') {
|
||||||
|
Profilegetmethod()
|
||||||
|
.getFollowing(updata, streamController: searchcontroller);
|
||||||
|
}
|
||||||
|
|
||||||
|
var guestupdata = "";
|
||||||
|
if (fromBusFollowing == 'GuestBusFollowing') {
|
||||||
|
GuestProfileApi().getGuestfollowing(guestBusUserid, guestupdata,
|
||||||
|
streamController: guestsearchcontroller);
|
||||||
|
} else {
|
||||||
|
GuestProfileApi().getGuestfollowing(guestUserid, guestupdata,
|
||||||
|
streamController: guestsearchcontroller);
|
||||||
|
}
|
||||||
|
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
@@ -66,261 +92,562 @@ class _FollowingState extends State<Following> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
// key: _scaffoldKey1,
|
// key: _scaffoldKey1,
|
||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: const Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Following",
|
titleTxt: "Following",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body: fromMainBusProfile == 'MainBusProfile'
|
||||||
Container(
|
? Stack(children: [
|
||||||
decoration: const BoxDecoration(
|
Container(
|
||||||
image: DecorationImage(
|
decoration: const BoxDecoration(
|
||||||
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
image: DecorationImage(
|
||||||
fit: BoxFit.fill)),
|
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
||||||
),
|
fit: BoxFit.fill)),
|
||||||
SingleChildScrollView(
|
),
|
||||||
child: Column(children: [
|
SingleChildScrollView(
|
||||||
Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
child: Column(children: [
|
||||||
Padding(
|
Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
Padding(
|
||||||
child: CustomTextFormField(
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
leadingIcon: SizedBox(
|
child: CustomTextFormField(
|
||||||
height: 23,
|
leadingIcon: SizedBox(
|
||||||
width: 23,
|
|
||||||
child: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/ion_search-outline.png",
|
|
||||||
height: 23,
|
height: 23,
|
||||||
width: 23,
|
width: 23,
|
||||||
|
child: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/ion_search-outline.png",
|
||||||
|
height: 23,
|
||||||
|
width: 23,
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
|
hintText: "Search people",
|
||||||
|
texttype: TextInputType.text,
|
||||||
|
inputFormatters: [
|
||||||
|
// LengthLimitingTextInputFormatter(20),
|
||||||
|
RemoveEmojiInputFormatter(),
|
||||||
|
],
|
||||||
|
onInput: (value) {
|
||||||
|
// Onboard().postGroupsearch({"search": value},
|
||||||
|
// streamController: searchcontroller);
|
||||||
|
// searchGroups(value!);
|
||||||
|
Profilegetmethod().getFollowing(value,
|
||||||
|
streamController: searchcontroller);
|
||||||
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
hintText: "Search people",
|
sizedBoxHeight(25.h),
|
||||||
texttype: TextInputType.text,
|
StreamBuilder<FollowingModel>(
|
||||||
inputFormatters: [
|
stream: searchcontroller.stream,
|
||||||
// LengthLimitingTextInputFormatter(20),
|
builder: (ctx, snapshot) {
|
||||||
RemoveEmojiInputFormatter(),
|
if (snapshot.connectionState == ConnectionState.waiting) {
|
||||||
],
|
// Display shimmer effect while waiting for data
|
||||||
onInput: (value) {
|
return const Center(child: CircularProgressIndicator());
|
||||||
// Onboard().postGroupsearch({"search": value},
|
} else if (snapshot.hasError) {
|
||||||
// streamController: searchcontroller);
|
// Handle error state
|
||||||
// searchGroups(value!);
|
return Center(
|
||||||
Profilegetmethod().getFollowing(value,
|
child: Text(
|
||||||
streamController: searchcontroller);
|
'${snapshot.error} occurred',
|
||||||
},
|
style: const TextStyle(fontSize: 18),
|
||||||
),
|
),
|
||||||
),
|
);
|
||||||
sizedBoxHeight(25.h),
|
} else {
|
||||||
StreamBuilder<FollowingModel>(
|
// Data has been loaded, show actual UI
|
||||||
stream: searchcontroller.stream,
|
return followingobj!.data!.isEmpty
|
||||||
builder: (ctx, snapshot) {
|
? _buildNoDataBody(context)
|
||||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
: ListView.separated(
|
||||||
// Display shimmer effect while waiting for data
|
physics: const ScrollPhysics(),
|
||||||
return Center(child: CircularProgressIndicator());
|
shrinkWrap: true,
|
||||||
} else if (snapshot.hasError) {
|
itemCount: followingobj!.data!.length,
|
||||||
// Handle error state
|
separatorBuilder:
|
||||||
return Center(
|
(BuildContext context, int index) {
|
||||||
child: Text(
|
return commonDivider();
|
||||||
'${snapshot.error} occurred',
|
},
|
||||||
style: TextStyle(fontSize: 18),
|
itemBuilder: (context, index) {
|
||||||
),
|
var mainFollowing =
|
||||||
);
|
followingobj!.data![index];
|
||||||
} else {
|
return
|
||||||
// Data has been loaded, show actual UI
|
// Column(
|
||||||
return followingobj!.data!.isEmpty
|
// children: [
|
||||||
? _buildNoDataBody(context)
|
// Followinglist(
|
||||||
: ListView.separated(
|
// imagePath: followingobj?.data?[index]
|
||||||
physics: ScrollPhysics(),
|
// .following?.profilePhoto ??
|
||||||
shrinkWrap: true,
|
// '',
|
||||||
itemCount: followingobj!.data!.length,
|
// title: followingobj!
|
||||||
separatorBuilder:
|
// .data?[index].following?.fullName ??
|
||||||
(BuildContext context, int index) {
|
// '',
|
||||||
return commonDivider();
|
// subtitle: followingobj!
|
||||||
},
|
// .data?[index].following?.userName ??
|
||||||
itemBuilder: (context, index) {
|
// '',
|
||||||
return
|
// unfollowontap: (id) => Uploadata(id),
|
||||||
// Column(
|
// unfollowindex: followingobj!
|
||||||
// children: [
|
// .data![index].following!.id!,
|
||||||
// Followinglist(
|
// ),
|
||||||
// imagePath: followingobj?.data?[index]
|
// if (index != followingobj!.data!.length - 1)
|
||||||
// .following?.profilePhoto ??
|
// commonDivider(),
|
||||||
// '',
|
// ],
|
||||||
// title: followingobj!
|
// );
|
||||||
// .data?[index].following?.fullName ??
|
GestureDetector(
|
||||||
// '',
|
onTap: () {
|
||||||
// subtitle: followingobj!
|
mainFollowing.following!
|
||||||
// .data?[index].following?.userName ??
|
.principleTypeXid ==
|
||||||
// '',
|
1
|
||||||
// unfollowontap: (id) => Uploadata(id),
|
? Get.toNamed(
|
||||||
// unfollowindex: followingobj!
|
RouteName.profiletabindguest,
|
||||||
// .data![index].following!.id!,
|
arguments: {
|
||||||
// ),
|
"FollowingidIndex": mainFollowing
|
||||||
// if (index != followingobj!.data!.length - 1)
|
.followingIamPrincipalXid!,
|
||||||
// commonDivider(),
|
})
|
||||||
// ],
|
: Get.toNamed(
|
||||||
// );
|
RouteName.profiletabbusguest,
|
||||||
Column(
|
arguments: {
|
||||||
children: [
|
"FollowingidIndex": mainFollowing
|
||||||
Padding(
|
.followingIamPrincipalXid!,
|
||||||
padding: EdgeInsets.symmetric(
|
});
|
||||||
vertical: 16.h, horizontal: 16.w),
|
},
|
||||||
child: Row(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
followingobj!.data![index].following!
|
Padding(
|
||||||
.profilePhoto ==
|
padding: EdgeInsets.symmetric(
|
||||||
null ||
|
vertical: 16.h, horizontal: 16.w),
|
||||||
followingobj!
|
child: Row(
|
||||||
.data![index]
|
children: [
|
||||||
.following!
|
mainFollowing.following!
|
||||||
.profilePhoto!
|
.profilePhoto ==
|
||||||
.isEmpty
|
null ||
|
||||||
? CircleAvatar(
|
mainFollowing.following!
|
||||||
backgroundImage: AssetImage(
|
.profilePhoto!.isEmpty
|
||||||
'assets/images/png/Ellipse 43.png'),
|
? CircleAvatar(
|
||||||
radius: 25.r,
|
backgroundImage:
|
||||||
)
|
const AssetImage(
|
||||||
: CircleAvatar(
|
'assets/images/png/Ellipse 43.png'),
|
||||||
backgroundImage: NetworkImage(
|
radius: 25.r,
|
||||||
followingobj!
|
)
|
||||||
.data![index]
|
: CircleAvatar(
|
||||||
.following!
|
backgroundImage:
|
||||||
.profilePhoto!),
|
NetworkImage(
|
||||||
radius: 25.r,
|
mainFollowing
|
||||||
),
|
.following!
|
||||||
sizedBoxWidth(10.w),
|
.profilePhoto!),
|
||||||
Column(
|
radius: 25.r,
|
||||||
crossAxisAlignment:
|
|
||||||
CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
followingobj!
|
|
||||||
.data![index]
|
|
||||||
.following!
|
|
||||||
.fullName ==
|
|
||||||
null ||
|
|
||||||
followingobj!
|
|
||||||
.data![index]
|
|
||||||
.following!
|
|
||||||
.fullName!
|
|
||||||
.isEmpty
|
|
||||||
? text16w400_FCFCFC("Regroup")
|
|
||||||
: text16w400_FCFCFC(
|
|
||||||
followingobj!.data![index]
|
|
||||||
.following!.fullName!),
|
|
||||||
sizedBoxHeight(4.h),
|
|
||||||
followingobj!
|
|
||||||
.data![index]
|
|
||||||
.following!
|
|
||||||
.userName ==
|
|
||||||
null ||
|
|
||||||
followingobj!
|
|
||||||
.data![index]
|
|
||||||
.following!
|
|
||||||
.userName!
|
|
||||||
.isEmpty
|
|
||||||
? text12w400_FCFCFC_blur(
|
|
||||||
"regroup")
|
|
||||||
: text12w400_FCFCFC_blur(
|
|
||||||
followingobj!.data![index]
|
|
||||||
.following!.userName!)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Spacer(),
|
|
||||||
PopupMenuButton(
|
|
||||||
surfaceTintColor: Color(0xFF222935),
|
|
||||||
constraints:
|
|
||||||
BoxConstraints.tightFor(
|
|
||||||
width: 176.w),
|
|
||||||
offset: Offset(0, 20),
|
|
||||||
color: Color(0xFF222935),
|
|
||||||
tooltip: "",
|
|
||||||
itemBuilder: (BuildContext
|
|
||||||
context) =>
|
|
||||||
<PopupMenuEntry>[
|
|
||||||
PopupMenuItem(
|
|
||||||
onTap: () async {
|
|
||||||
setState(() {
|
|
||||||
unfollowid =
|
|
||||||
followingobj!
|
|
||||||
.data![
|
|
||||||
index]
|
|
||||||
.following!
|
|
||||||
.id ??
|
|
||||||
0;
|
|
||||||
// followingobj!.data!.removeAt(index);
|
|
||||||
followingobj!.data!
|
|
||||||
.removeWhere((item) =>
|
|
||||||
item.following!
|
|
||||||
.id ==
|
|
||||||
unfollowid);
|
|
||||||
Uploadata();
|
|
||||||
});
|
|
||||||
},
|
|
||||||
child: Padding(
|
|
||||||
padding:
|
|
||||||
EdgeInsets.symmetric(
|
|
||||||
horizontal: 12.w),
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
text14400white(
|
|
||||||
"Unfollow user"),
|
|
||||||
Spacer(),
|
|
||||||
Image.asset(
|
|
||||||
"assets/images/png/Black1323e.png",
|
|
||||||
height: 20.h,
|
|
||||||
width: 20.w,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
sizedBoxWidth(10.w),
|
||||||
PopupMenuDivider(),
|
Column(
|
||||||
PopupMenuItem(
|
crossAxisAlignment:
|
||||||
onTap: () {},
|
CrossAxisAlignment.start,
|
||||||
child: Padding(
|
children: [
|
||||||
padding:
|
mainFollowing.following!
|
||||||
EdgeInsets.symmetric(
|
.fullName ==
|
||||||
horizontal: 12.w),
|
null ||
|
||||||
child: Row(
|
mainFollowing
|
||||||
children: [
|
.following!
|
||||||
text14400white(
|
.fullName!
|
||||||
"Message user"),
|
.isEmpty
|
||||||
Spacer(),
|
? text16w400_FCFCFC(
|
||||||
Image.asset(
|
"Regroup")
|
||||||
"assets/images/png/fluent_chat-20-22.png",
|
: text16w400_FCFCFC(
|
||||||
height: 20.h,
|
mainFollowing
|
||||||
width: 20.w,
|
.following!
|
||||||
)
|
.fullName!),
|
||||||
],
|
sizedBoxHeight(4.h),
|
||||||
),
|
mainFollowing.following!
|
||||||
),
|
.userName ==
|
||||||
),
|
null ||
|
||||||
|
mainFollowing
|
||||||
|
.following!
|
||||||
|
.userName!
|
||||||
|
.isEmpty
|
||||||
|
? text12w400_FCFCFC_blur(
|
||||||
|
"regroup")
|
||||||
|
: text12w400_FCFCFC_blur(
|
||||||
|
mainFollowing
|
||||||
|
.following!
|
||||||
|
.userName!)
|
||||||
],
|
],
|
||||||
child: Container(
|
|
||||||
height: 20,
|
|
||||||
width: 20,
|
|
||||||
child: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/Group 1000004071.png",
|
|
||||||
height: 22.h,
|
|
||||||
width: 4.w,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
)),
|
const Spacer(),
|
||||||
|
PopupMenuButton(
|
||||||
|
surfaceTintColor:
|
||||||
|
const Color(0xFF222935),
|
||||||
|
constraints:
|
||||||
|
BoxConstraints.tightFor(
|
||||||
|
width: 176.w),
|
||||||
|
offset: const Offset(0, 20),
|
||||||
|
color:
|
||||||
|
const Color(0xFF222935),
|
||||||
|
tooltip: "",
|
||||||
|
itemBuilder: (BuildContext
|
||||||
|
context) =>
|
||||||
|
<PopupMenuEntry>[
|
||||||
|
PopupMenuItem(
|
||||||
|
onTap: () async {
|
||||||
|
setState(() {
|
||||||
|
unfollowid =
|
||||||
|
mainFollowing
|
||||||
|
.following!
|
||||||
|
.id ??
|
||||||
|
0;
|
||||||
|
// followingobj!.data!.removeAt(index);
|
||||||
|
followingobj!
|
||||||
|
.data!
|
||||||
|
.removeWhere((item) =>
|
||||||
|
item.following!
|
||||||
|
.id ==
|
||||||
|
unfollowid);
|
||||||
|
Uploadata();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets
|
||||||
|
.symmetric(
|
||||||
|
horizontal:
|
||||||
|
12.w),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
text14400white(
|
||||||
|
"Unfollow user"),
|
||||||
|
const Spacer(),
|
||||||
|
Image.asset(
|
||||||
|
"assets/images/png/Black1323e.png",
|
||||||
|
height: 20.h,
|
||||||
|
width: 20.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const PopupMenuDivider(),
|
||||||
|
PopupMenuItem(
|
||||||
|
onTap: () {},
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets
|
||||||
|
.symmetric(
|
||||||
|
horizontal:
|
||||||
|
12.w),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
text14400white(
|
||||||
|
"Message user"),
|
||||||
|
const Spacer(),
|
||||||
|
Image.asset(
|
||||||
|
"assets/images/png/fluent_chat-20-22.png",
|
||||||
|
height: 20.h,
|
||||||
|
width: 20.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
child: Container(
|
||||||
|
height: 20,
|
||||||
|
width: 20,
|
||||||
|
child: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/Group 1000004071.png",
|
||||||
|
height: 22.h,
|
||||||
|
width: 4.w,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
);
|
||||||
],
|
},
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
);
|
},
|
||||||
}
|
),
|
||||||
},
|
])
|
||||||
),
|
]))
|
||||||
])
|
])
|
||||||
]))
|
: Stack(
|
||||||
]));
|
children: [
|
||||||
|
Container(
|
||||||
|
decoration: const BoxDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
image:
|
||||||
|
AssetImage("assets/images/png/Ellipse 1496.png"),
|
||||||
|
fit: BoxFit.fill)),
|
||||||
|
),
|
||||||
|
SingleChildScrollView(
|
||||||
|
child: Column(children: [
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 16.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 people",
|
||||||
|
texttype: TextInputType.text,
|
||||||
|
inputFormatters: [
|
||||||
|
// LengthLimitingTextInputFormatter(20),
|
||||||
|
RemoveEmojiInputFormatter(),
|
||||||
|
],
|
||||||
|
onInput: (value) {
|
||||||
|
// GuestProfileApi().getGuestfollowing(guestUserid, value,
|
||||||
|
// streamController: guestsearchcontroller);
|
||||||
|
if (fromBusFollowing == 'GuestBusFollowing') {
|
||||||
|
GuestProfileApi().getGuestfollowing(
|
||||||
|
guestBusUserid, value,
|
||||||
|
streamController: guestsearchcontroller);
|
||||||
|
} else {
|
||||||
|
GuestProfileApi().getGuestfollowing(
|
||||||
|
guestUserid, value,
|
||||||
|
streamController: guestsearchcontroller);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
sizedBoxHeight(25.h),
|
||||||
|
StreamBuilder<GetGuestFollowing>(
|
||||||
|
stream: guestsearchcontroller.stream,
|
||||||
|
builder: (ctx, snapshot) {
|
||||||
|
if (snapshot.connectionState ==
|
||||||
|
ConnectionState.waiting) {
|
||||||
|
// Display shimmer effect while waiting for data
|
||||||
|
return const Center(
|
||||||
|
child: CircularProgressIndicator());
|
||||||
|
} else if (snapshot.hasError) {
|
||||||
|
// Handle error state
|
||||||
|
return Center(
|
||||||
|
child: Text(
|
||||||
|
'${snapshot.error} occurred',
|
||||||
|
style: const TextStyle(fontSize: 18),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
// Data has been loaded, show actual UI
|
||||||
|
return getguestfollowingobj!.data!.isEmpty
|
||||||
|
? _buildNoDataBody(context)
|
||||||
|
: ListView.separated(
|
||||||
|
physics: const ScrollPhysics(),
|
||||||
|
shrinkWrap: true,
|
||||||
|
itemCount:
|
||||||
|
getguestfollowingobj!.data!.length,
|
||||||
|
separatorBuilder:
|
||||||
|
(BuildContext context, int index) {
|
||||||
|
return commonDivider();
|
||||||
|
},
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
var guestFollowing =
|
||||||
|
getguestfollowingobj!.data![index];
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
guestFollowing.following!
|
||||||
|
.principleTypeXid ==
|
||||||
|
1
|
||||||
|
? Get.toNamed(
|
||||||
|
RouteName
|
||||||
|
.profiletabindguest,
|
||||||
|
arguments: {
|
||||||
|
"FollowingidIndex":
|
||||||
|
guestFollowing
|
||||||
|
.followingIamPrincipalXid!,
|
||||||
|
})
|
||||||
|
: Get.toNamed(
|
||||||
|
RouteName
|
||||||
|
.profiletabbusguest,
|
||||||
|
arguments: {
|
||||||
|
"FollowingidIndex":
|
||||||
|
guestFollowing
|
||||||
|
.followingIamPrincipalXid!,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
vertical: 16.h,
|
||||||
|
horizontal: 16.w),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
guestFollowing.following!
|
||||||
|
.profilePhoto ==
|
||||||
|
null ||
|
||||||
|
guestFollowing
|
||||||
|
.following!
|
||||||
|
.profilePhoto!
|
||||||
|
.isEmpty
|
||||||
|
? CircleAvatar(
|
||||||
|
backgroundImage:
|
||||||
|
const AssetImage(
|
||||||
|
'assets/images/png/Ellipse 43.png'),
|
||||||
|
radius: 25.r,
|
||||||
|
)
|
||||||
|
: CircleAvatar(
|
||||||
|
backgroundImage:
|
||||||
|
NetworkImage(
|
||||||
|
guestFollowing
|
||||||
|
.following!
|
||||||
|
.profilePhoto!),
|
||||||
|
radius: 25.r,
|
||||||
|
),
|
||||||
|
sizedBoxWidth(10.w),
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment:
|
||||||
|
CrossAxisAlignment
|
||||||
|
.start,
|
||||||
|
children: [
|
||||||
|
guestFollowing.following!
|
||||||
|
.fullName ==
|
||||||
|
null ||
|
||||||
|
guestFollowing
|
||||||
|
.following!
|
||||||
|
.fullName!
|
||||||
|
.isEmpty
|
||||||
|
? text16w400_FCFCFC(
|
||||||
|
"Regroup")
|
||||||
|
: text16w400_FCFCFC(
|
||||||
|
guestFollowing
|
||||||
|
.following!
|
||||||
|
.fullName!),
|
||||||
|
sizedBoxHeight(4.h),
|
||||||
|
guestFollowing.following!
|
||||||
|
.userName ==
|
||||||
|
null ||
|
||||||
|
guestFollowing
|
||||||
|
.following!
|
||||||
|
.userName!
|
||||||
|
.isEmpty
|
||||||
|
? text12w400_FCFCFC_blur(
|
||||||
|
"regroup")
|
||||||
|
: text12w400_FCFCFC_blur(
|
||||||
|
guestFollowing
|
||||||
|
.following!
|
||||||
|
.userName!)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const Spacer(),
|
||||||
|
PopupMenuButton(
|
||||||
|
surfaceTintColor:
|
||||||
|
const Color(
|
||||||
|
0xFF222935),
|
||||||
|
constraints:
|
||||||
|
BoxConstraints
|
||||||
|
.tightFor(
|
||||||
|
width:
|
||||||
|
176.w),
|
||||||
|
offset:
|
||||||
|
const Offset(0, 20),
|
||||||
|
color: const Color(
|
||||||
|
0xFF222935),
|
||||||
|
tooltip: "",
|
||||||
|
itemBuilder:
|
||||||
|
(BuildContext
|
||||||
|
context) =>
|
||||||
|
<PopupMenuEntry>[
|
||||||
|
PopupMenuItem(
|
||||||
|
onTap:
|
||||||
|
() async {
|
||||||
|
// setState(
|
||||||
|
// () {
|
||||||
|
// unfollowid =
|
||||||
|
// getguestfollowingobj!.data![index].following!.id ??
|
||||||
|
// 0;
|
||||||
|
// // followingobj!.data!.removeAt(index);
|
||||||
|
// getguestfollowingobj!.data!.removeWhere((item) =>
|
||||||
|
// item.following!.id ==
|
||||||
|
// unfollowid);
|
||||||
|
// Uploadata();
|
||||||
|
// });
|
||||||
|
},
|
||||||
|
child:
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal:
|
||||||
|
12.w),
|
||||||
|
child:
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
text14400white(
|
||||||
|
""),
|
||||||
|
const Spacer(),
|
||||||
|
Image
|
||||||
|
.asset(
|
||||||
|
"assets/images/png/Black1323e.png",
|
||||||
|
height:
|
||||||
|
20.h,
|
||||||
|
width:
|
||||||
|
20.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const PopupMenuDivider(),
|
||||||
|
PopupMenuItem(
|
||||||
|
onTap:
|
||||||
|
() {},
|
||||||
|
child:
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal:
|
||||||
|
12.w),
|
||||||
|
child:
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
text14400white(
|
||||||
|
"Message user"),
|
||||||
|
const Spacer(),
|
||||||
|
Image
|
||||||
|
.asset(
|
||||||
|
"assets/images/png/fluent_chat-20-22.png",
|
||||||
|
height:
|
||||||
|
20.h,
|
||||||
|
width:
|
||||||
|
20.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
child: Container(
|
||||||
|
height: 20,
|
||||||
|
width: 20,
|
||||||
|
child: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/Group 1000004071.png",
|
||||||
|
height: 22.h,
|
||||||
|
width: 4.w,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
|
])
|
||||||
|
]))
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildNoDataBody(context) {
|
Widget _buildNoDataBody(context) {
|
||||||
|
|||||||
@@ -1,813 +0,0 @@
|
|||||||
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/CommonWidget.dart';
|
|
||||||
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/EditProfile/ViewModel/EditProfileApi.dart';
|
|
||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
|
||||||
import 'package:regroup/Utils/texts.dart';
|
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
|
||||||
|
|
||||||
class profiletabBusGest extends StatefulWidget {
|
|
||||||
const profiletabBusGest({super.key});
|
|
||||||
|
|
||||||
@override
|
|
||||||
State<profiletabBusGest> createState() => _profiletabBusGestState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _profiletabBusGestState extends State<profiletabBusGest> {
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Scaffold(
|
|
||||||
// key: _scaffoldKey1,
|
|
||||||
backgroundColor: Color(0xFF222935),
|
|
||||||
extendBody: true,
|
|
||||||
// accountTypeValue == '1' ||
|
|
||||||
body:
|
|
||||||
// FutureBuilder(
|
|
||||||
// future: businessfuture,
|
|
||||||
// builder: (ctx, snapshot) {
|
|
||||||
// if (snapshot.connectionState == ConnectionState.waiting) {
|
|
||||||
// return Center(
|
|
||||||
// child: CircularProgressIndicator(
|
|
||||||
// color: Colors.blue,
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (snapshot.hasError) {
|
|
||||||
// return Center(
|
|
||||||
// child: Text(
|
|
||||||
// '${snapshot.error} occurred',
|
|
||||||
// style: TextStyle(fontSize: 18.spMin),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (snapshot.connectionState == ConnectionState.done &&
|
|
||||||
// snapshot.hasData) {
|
|
||||||
// print("Data fetched-->");
|
|
||||||
// return
|
|
||||||
|
|
||||||
Stack(clipBehavior: Clip.none, children: [
|
|
||||||
Container(
|
|
||||||
decoration: const BoxDecoration(
|
|
||||||
image: DecorationImage(
|
|
||||||
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
|
||||||
fit: BoxFit.fill)),
|
|
||||||
),
|
|
||||||
SafeArea(
|
|
||||||
child: SingleChildScrollView(
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Stack(
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
height: 484.h,
|
|
||||||
width: double.infinity,
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/Rectangle 49 (1).png",
|
|
||||||
fit: BoxFit.cover,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Positioned.fill(
|
|
||||||
child: Container(
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
gradient: LinearGradient(
|
|
||||||
begin: Alignment.topCenter,
|
|
||||||
end: Alignment.bottomCenter,
|
|
||||||
colors: [
|
|
||||||
Color.fromRGBO(34, 41, 53, 0.1),
|
|
||||||
Color.fromRGBO(34, 41, 53, 0.79),
|
|
||||||
],
|
|
||||||
stops: [
|
|
||||||
0.5788,
|
|
||||||
0.8,
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Positioned(
|
|
||||||
bottom: 0,
|
|
||||||
right: 0,
|
|
||||||
left: 0,
|
|
||||||
child: Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
|
||||||
child: Column(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
|
||||||
children: [
|
|
||||||
Column(
|
|
||||||
children: [
|
|
||||||
text20700white(
|
|
||||||
"Victory gear sports emporium"),
|
|
||||||
sizedBoxHeight(5.h),
|
|
||||||
text18w400white("@Victorygames_10"),
|
|
||||||
sizedBoxHeight(15.h),
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
Get.toNamed(RouteName.followers);
|
|
||||||
},
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
text16400white("254"),
|
|
||||||
sizedBoxHeight(6.h),
|
|
||||||
text12400whiteblur("Followers")
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
sizedBoxWidth(20.w),
|
|
||||||
Container(
|
|
||||||
height: 58.h,
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.white,
|
|
||||||
border: Border.all(
|
|
||||||
color: Colors.white,
|
|
||||||
width: 1.0,
|
|
||||||
),
|
|
||||||
boxShadow: [
|
|
||||||
BoxShadow(
|
|
||||||
color: Color(0x66000000),
|
|
||||||
offset: Offset(0, 4),
|
|
||||||
blurRadius: 4.0,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
sizedBoxWidth(20.w),
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
Get.toNamed(RouteName.following);
|
|
||||||
},
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
text16400white("344"),
|
|
||||||
sizedBoxHeight(6.h),
|
|
||||||
text12400whiteblur("Following")
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
sizedBoxHeight(30.h),
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
Get.toNamed(RouteName.buseditprofile);
|
|
||||||
},
|
|
||||||
child: Container(
|
|
||||||
height: 40.h,
|
|
||||||
width: 170.w,
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Color(0xFFD90B2E),
|
|
||||||
borderRadius: BorderRadius.circular(30.r),
|
|
||||||
),
|
|
||||||
child:
|
|
||||||
Center(child: text16w400_FCFCFC("Follow")),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
Get.toNamed(RouteName.shareProfile);
|
|
||||||
},
|
|
||||||
child: commonGlassUI(
|
|
||||||
width: 170.w,
|
|
||||||
height: 40.h,
|
|
||||||
|
|
||||||
opacity1: 0.05,
|
|
||||||
opacity2: 0.07,
|
|
||||||
borderRadius: BorderRadius.circular(30.r),
|
|
||||||
mainOpacity: 1,
|
|
||||||
customWidget: Center(
|
|
||||||
child: text16w400_FCFCFC("Message"),
|
|
||||||
),
|
|
||||||
// border: 1,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
sizedBoxHeight(30.h),
|
|
||||||
text18w700white("About"),
|
|
||||||
sizedBoxHeight(10.h),
|
|
||||||
text14400white(
|
|
||||||
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s."),
|
|
||||||
sizedBoxHeight(25.h),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
commonContainer(
|
|
||||||
width: 25.w,
|
|
||||||
height: 25.h,
|
|
||||||
opacity1: 0.26,
|
|
||||||
opacity2: 0.26,
|
|
||||||
borderwidth: 0.5,
|
|
||||||
boxShape: BoxShape.circle,
|
|
||||||
customWidget: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/Frame 24.png",
|
|
||||||
height: 12.h,
|
|
||||||
width: 12.w,
|
|
||||||
)),
|
|
||||||
),
|
|
||||||
sizedBoxWidth(12.w),
|
|
||||||
text14400whiteblur("James Bothman"),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
commonContainer(
|
|
||||||
width: 25.w,
|
|
||||||
height: 25.h,
|
|
||||||
opacity1: 0.26,
|
|
||||||
opacity2: 0.26,
|
|
||||||
borderwidth: 0.5,
|
|
||||||
boxShape: BoxShape.circle,
|
|
||||||
customWidget: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/Vector2a.png",
|
|
||||||
height: 12.h,
|
|
||||||
width: 12.w,
|
|
||||||
)),
|
|
||||||
),
|
|
||||||
sizedBoxWidth(12.w),
|
|
||||||
text14400whiteblur("www.exampledummywebsite.com"),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
commonContainer(
|
|
||||||
width: 25.w,
|
|
||||||
height: 25.h,
|
|
||||||
opacity1: 0.26,
|
|
||||||
opacity2: 0.26,
|
|
||||||
borderwidth: 0.5,
|
|
||||||
boxShape: BoxShape.circle,
|
|
||||||
customWidget: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/Group 58645.png",
|
|
||||||
height: 12.h,
|
|
||||||
width: 12.w,
|
|
||||||
)),
|
|
||||||
),
|
|
||||||
sizedBoxWidth(12.w),
|
|
||||||
text14400whiteblur(
|
|
||||||
"Elm street london, United Kingdom"),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
commonContainer(
|
|
||||||
width: 25.w,
|
|
||||||
height: 25.h,
|
|
||||||
opacity1: 0.26,
|
|
||||||
opacity2: 0.26,
|
|
||||||
borderwidth: 0.5,
|
|
||||||
boxShape: BoxShape.circle,
|
|
||||||
customWidget: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
"assets/images/png/calender.png",
|
|
||||||
height: 12.h,
|
|
||||||
width: 12.w,
|
|
||||||
)),
|
|
||||||
),
|
|
||||||
sizedBoxWidth(12.w),
|
|
||||||
// text14400whiteblur(getEditProfileIndi!
|
|
||||||
// .data!.interest!
|
|
||||||
// .join(', ')),
|
|
||||||
text14400whiteblur("Founded at : 2010"),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
sizedBoxHeight(30.h),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
sizedBoxHeight(30.h),
|
|
||||||
Padding(
|
|
||||||
padding: EdgeInsets.only(left: 16.w),
|
|
||||||
child: text18w700white("Posts"),
|
|
||||||
),
|
|
||||||
normalcardtile(
|
|
||||||
profileImg: 'assets/images/png/Ellipse 48.png',
|
|
||||||
title: 'Jocelyn Dokidis',
|
|
||||||
mainImg: 'assets/images/png/Rectangle 46.png',
|
|
||||||
containerTitle: [
|
|
||||||
'Race',
|
|
||||||
'Swimming',
|
|
||||||
'Events',
|
|
||||||
'Marathon',
|
|
||||||
'Events'
|
|
||||||
]),
|
|
||||||
sizedBoxHeight(120.h),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Positioned.fill(
|
|
||||||
top: 40.h,
|
|
||||||
child: Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Spacer(),
|
|
||||||
commonContainer(
|
|
||||||
width: 40.w,
|
|
||||||
height: 40.h,
|
|
||||||
borderwidth: 0.5,
|
|
||||||
boxShape: BoxShape.circle,
|
|
||||||
opacity1: 0.5,
|
|
||||||
opacity2: 0.6,
|
|
||||||
customWidget: PopupMenuButton(
|
|
||||||
surfaceTintColor: const Color(0xFF222935),
|
|
||||||
constraints: BoxConstraints.tightFor(width: 200.w),
|
|
||||||
offset: const Offset(0, 50),
|
|
||||||
color: const Color(0xFF222935),
|
|
||||||
tooltip: "",
|
|
||||||
itemBuilder: (BuildContext context) =>
|
|
||||||
<PopupMenuEntry>[
|
|
||||||
PopupMenuItem(
|
|
||||||
onTap: () {
|
|
||||||
Get.toNamed(RouteName.shareProfile);
|
|
||||||
},
|
|
||||||
child: Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
'Share profile',
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 16.sp,
|
|
||||||
color: Colors.white,
|
|
||||||
fontWeight: FontWeight.w800,
|
|
||||||
fontFamily: "Nunito Sans",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const Spacer(),
|
|
||||||
Image.asset(
|
|
||||||
"assets/images/png/share.png",
|
|
||||||
height: 17.h,
|
|
||||||
width: 17.w,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const PopupMenuDivider(),
|
|
||||||
PopupMenuItem(
|
|
||||||
onTap: () {},
|
|
||||||
child: Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
'Report user',
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 16.sp,
|
|
||||||
color: Colors.white,
|
|
||||||
fontWeight: FontWeight.w800,
|
|
||||||
fontFamily: "Nunito Sans",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const Spacer(),
|
|
||||||
Image.asset(
|
|
||||||
"assets/images/png/Vector (5).png",
|
|
||||||
height: 20.h,
|
|
||||||
width: 20.w,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const PopupMenuDivider(),
|
|
||||||
PopupMenuItem(
|
|
||||||
onTap: () {},
|
|
||||||
child: Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
'Block user',
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 16.sp,
|
|
||||||
color: Colors.white,
|
|
||||||
fontWeight: FontWeight.w800,
|
|
||||||
fontFamily: "Nunito Sans",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const Spacer(),
|
|
||||||
Image.asset(
|
|
||||||
"assets/images/png/blocked.png",
|
|
||||||
height: 18.h,
|
|
||||||
width: 18.w,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
child: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
'assets/images/png/Group 1000004071.png',
|
|
||||||
height: 20.h,
|
|
||||||
width: 20.w,
|
|
||||||
)),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget normalcardtile({
|
|
||||||
required String profileImg,
|
|
||||||
required String title,
|
|
||||||
required String mainImg,
|
|
||||||
required List<String> containerTitle,
|
|
||||||
}) {
|
|
||||||
var mainImage = 'assets/images/png/uiw_like-o.png'.obs;
|
|
||||||
void updateImage(String reaction) {
|
|
||||||
if (reaction == 'like') {
|
|
||||||
mainImage.value = 'assets/images/png/f7_hand-thumbsup.png';
|
|
||||||
} else if (reaction == 'heart') {
|
|
||||||
mainImage.value = 'assets/images/png/heart 2.png';
|
|
||||||
} else if (reaction == 'party') {
|
|
||||||
mainImage.value = 'assets/images/png/party-popper 2.png';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 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) => <PopupMenuEntry>[
|
|
||||||
PopupMenuItem(
|
|
||||||
onTap: () {},
|
|
||||||
child: Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
'Report Post',
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 16.sp,
|
|
||||||
color: Colors.white,
|
|
||||||
fontWeight: FontWeight.w800,
|
|
||||||
fontFamily: "Nunito Sans",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
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: [
|
|
||||||
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(),
|
|
||||||
commonContainer(
|
|
||||||
width: 30.w,
|
|
||||||
height: 30.h,
|
|
||||||
opacity1: 0.2,
|
|
||||||
opacity2: 0.2,
|
|
||||||
borderwidth: 0.43,
|
|
||||||
boxShape: BoxShape.circle,
|
|
||||||
customWidget: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
'assets/images/png/Frame 1000004088.png',
|
|
||||||
height: 13.h,
|
|
||||||
width: 13.w,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
sizedBoxWidth(12.w),
|
|
||||||
text14w400_FCFCFC('20'),
|
|
||||||
sizedBoxWidth(20.w),
|
|
||||||
commonContainer(
|
|
||||||
width: 30.w,
|
|
||||||
height: 30.h,
|
|
||||||
opacity1: 0.2,
|
|
||||||
opacity2: 0.2,
|
|
||||||
borderwidth: 0.43,
|
|
||||||
boxShape: BoxShape.circle,
|
|
||||||
customWidget: Center(
|
|
||||||
child: Image.asset(
|
|
||||||
'assets/images/png/Vector (1).png',
|
|
||||||
height: 12.h,
|
|
||||||
width: 12.w,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
sizedBoxWidth(12.w),
|
|
||||||
text14w400_FCFCFC('10'),
|
|
||||||
]),
|
|
||||||
sizedBoxHeight(30.h),
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
|
||||||
children: [
|
|
||||||
Column(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
Obx(() {
|
|
||||||
return ReactionButton<String>(
|
|
||||||
onReactionChanged: (reaction) {
|
|
||||||
updateImage(reaction?.value ?? 'like');
|
|
||||||
debugPrint('Selected value: ${reaction?.value}');
|
|
||||||
},
|
|
||||||
reactions: <Reaction<String>?>[
|
|
||||||
Reaction<String>(
|
|
||||||
value: 'like',
|
|
||||||
previewIcon: _buildReactionsPreviewIcon(
|
|
||||||
'assets/images/png/f7_hand-thumbsup.png'),
|
|
||||||
icon: _buildReactionsIcon(
|
|
||||||
'assets/images/png/f7_hand-thumbsup.png'),
|
|
||||||
),
|
|
||||||
Reaction<String>(
|
|
||||||
value: 'heart',
|
|
||||||
previewIcon: _buildReactionsPreviewIcon(
|
|
||||||
'assets/images/png/heart 2.png'),
|
|
||||||
icon: _buildReactionsIcon(
|
|
||||||
'assets/images/png/heart 2.png'),
|
|
||||||
),
|
|
||||||
Reaction<String>(
|
|
||||||
value: 'party',
|
|
||||||
previewIcon: _buildReactionsPreviewIcon(
|
|
||||||
'assets/images/png/party-popper 2.png'),
|
|
||||||
icon: _buildReactionsIcon(
|
|
||||||
'assets/images/png/party-popper 2.png'),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
selectedReaction: Reaction<String>(
|
|
||||||
value: 'like',
|
|
||||||
icon: _buildReactionsIcon(
|
|
||||||
'assets/images/png/f7_hand-thumbsup.png'),
|
|
||||||
),
|
|
||||||
boxColor: Colors.white,
|
|
||||||
boxElevation: 9,
|
|
||||||
boxRadius: 30,
|
|
||||||
itemsSpacing: 8,
|
|
||||||
itemScale: 0.4,
|
|
||||||
itemSize: 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')
|
|
||||||
],
|
|
||||||
)
|
|
||||||
],
|
|
||||||
)
|
|
||||||
]),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
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 commonContainer(
|
|
||||||
width: 100.w,
|
|
||||||
height: 30.h,
|
|
||||||
borderRadius: BorderRadius.circular(30.r),
|
|
||||||
borderColor: Color(0xFFD90B2E),
|
|
||||||
borderwidth: 0.9,
|
|
||||||
customWidget: Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
|
||||||
child: Center(child: text14w400_FCFCFC(text)),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
class GetGuestFollowers {
|
||||||
|
String? status;
|
||||||
|
int? statusCode;
|
||||||
|
String? message;
|
||||||
|
List<Data>? data;
|
||||||
|
|
||||||
|
GetGuestFollowers({this.status, this.statusCode, this.message, this.data});
|
||||||
|
|
||||||
|
GetGuestFollowers.fromJson(Map<String, dynamic> json) {
|
||||||
|
status = json['status'];
|
||||||
|
statusCode = json['status_code'];
|
||||||
|
message = json['message'];
|
||||||
|
if (json['data'] != null) {
|
||||||
|
data = <Data>[];
|
||||||
|
json['data'].forEach((v) {
|
||||||
|
data!.add(new Data.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['status'] = this.status;
|
||||||
|
data['status_code'] = this.statusCode;
|
||||||
|
data['message'] = this.message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
int? followingIamPrincipalXid;
|
||||||
|
int? iamPrincipalXid;
|
||||||
|
Follower? follower;
|
||||||
|
|
||||||
|
Data({this.followingIamPrincipalXid, this.iamPrincipalXid, this.follower});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
followingIamPrincipalXid = json['following_iam_principal_xid'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
|
follower = json['follower'] != null
|
||||||
|
? new Follower.fromJson(json['follower'])
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['following_iam_principal_xid'] = this.followingIamPrincipalXid;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
|
if (this.follower != null) {
|
||||||
|
data['follower'] = this.follower!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Follower {
|
||||||
|
int? id;
|
||||||
|
String? userName;
|
||||||
|
String? fullName;
|
||||||
|
String? profilePhoto;
|
||||||
|
int? principleTypeXid;
|
||||||
|
|
||||||
|
Follower(
|
||||||
|
{this.id,
|
||||||
|
this.userName,
|
||||||
|
this.fullName,
|
||||||
|
this.profilePhoto,
|
||||||
|
this.principleTypeXid});
|
||||||
|
|
||||||
|
Follower.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
userName = json['user_name'];
|
||||||
|
fullName = json['full_name'];
|
||||||
|
profilePhoto = json['profile_photo'];
|
||||||
|
principleTypeXid = json['principal_type_xid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['user_name'] = this.userName;
|
||||||
|
data['full_name'] = this.fullName;
|
||||||
|
data['profile_photo'] = this.profilePhoto;
|
||||||
|
data['principal_type_xid'] = this.principleTypeXid;
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
class GetGuestFollowing {
|
||||||
|
String? status;
|
||||||
|
int? statusCode;
|
||||||
|
String? message;
|
||||||
|
List<Data>? data;
|
||||||
|
|
||||||
|
GetGuestFollowing({this.status, this.statusCode, this.message, this.data});
|
||||||
|
|
||||||
|
GetGuestFollowing.fromJson(Map<String, dynamic> json) {
|
||||||
|
status = json['status'];
|
||||||
|
statusCode = json['status_code'];
|
||||||
|
message = json['message'];
|
||||||
|
if (json['data'] != null) {
|
||||||
|
data = <Data>[];
|
||||||
|
json['data'].forEach((v) {
|
||||||
|
data!.add(new Data.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['status'] = this.status;
|
||||||
|
data['status_code'] = this.statusCode;
|
||||||
|
data['message'] = this.message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
int? followingIamPrincipalXid;
|
||||||
|
int? iamPrincipalXid;
|
||||||
|
Following? following;
|
||||||
|
|
||||||
|
Data({this.followingIamPrincipalXid, this.iamPrincipalXid, this.following});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
followingIamPrincipalXid = json['following_iam_principal_xid'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
|
following = json['following'] != null
|
||||||
|
? new Following.fromJson(json['following'])
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['following_iam_principal_xid'] = this.followingIamPrincipalXid;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
|
if (this.following != null) {
|
||||||
|
data['following'] = this.following!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Following {
|
||||||
|
int? id;
|
||||||
|
String? userName;
|
||||||
|
String? fullName;
|
||||||
|
String? profilePhoto;
|
||||||
|
int? principleTypeXid;
|
||||||
|
|
||||||
|
|
||||||
|
Following({this.id, this.userName, this.fullName, this.profilePhoto, this.principleTypeXid});
|
||||||
|
|
||||||
|
Following.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
userName = json['user_name'];
|
||||||
|
fullName = json['full_name'];
|
||||||
|
profilePhoto = json['profile_photo'];
|
||||||
|
principleTypeXid = json['principal_type_xid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['user_name'] = this.userName;
|
||||||
|
data['full_name'] = this.fullName;
|
||||||
|
data['profile_photo'] = this.profilePhoto;
|
||||||
|
data['principal_type_xid'] = this.principleTypeXid;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,412 @@
|
|||||||
|
class GuestGetProfileDataBus {
|
||||||
|
String? status;
|
||||||
|
int? statusCode;
|
||||||
|
String? message;
|
||||||
|
Data? data;
|
||||||
|
|
||||||
|
GuestGetProfileDataBus(
|
||||||
|
{this.status, this.statusCode, this.message, this.data});
|
||||||
|
|
||||||
|
GuestGetProfileDataBus.fromJson(Map<String, dynamic> json) {
|
||||||
|
status = json['status'];
|
||||||
|
statusCode = json['status_code'];
|
||||||
|
message = json['message'];
|
||||||
|
data = json['data'] != null ? new Data.fromJson(json['data']) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['status'] = this.status;
|
||||||
|
data['status_code'] = this.statusCode;
|
||||||
|
data['message'] = this.message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
int? id;
|
||||||
|
int? iamPrincipalXid;
|
||||||
|
int? businessTypeXid;
|
||||||
|
String? businessOwnerName;
|
||||||
|
String? businessName;
|
||||||
|
String? businessUsername;
|
||||||
|
String? businessLocation;
|
||||||
|
String? businessContactNumber;
|
||||||
|
String? businessEmail;
|
||||||
|
String? businessHandle;
|
||||||
|
String? websiteLink;
|
||||||
|
String? googleReviewLink;
|
||||||
|
String? businessLogo;
|
||||||
|
String? tags;
|
||||||
|
String? bannerImage;
|
||||||
|
String? businessProfileImage;
|
||||||
|
String? bio;
|
||||||
|
Follows? follows;
|
||||||
|
int? isIamFollowingToGuestUser;
|
||||||
|
BusinessType? businessType;
|
||||||
|
IamPrincipalData? iamPrincipalData;
|
||||||
|
|
||||||
|
Data(
|
||||||
|
{this.id,
|
||||||
|
this.iamPrincipalXid,
|
||||||
|
this.businessTypeXid,
|
||||||
|
this.businessOwnerName,
|
||||||
|
this.businessName,
|
||||||
|
this.businessUsername,
|
||||||
|
this.businessLocation,
|
||||||
|
this.businessContactNumber,
|
||||||
|
this.businessEmail,
|
||||||
|
this.businessHandle,
|
||||||
|
this.websiteLink,
|
||||||
|
this.googleReviewLink,
|
||||||
|
this.businessLogo,
|
||||||
|
this.tags,
|
||||||
|
this.bannerImage,
|
||||||
|
this.businessProfileImage,
|
||||||
|
this.bio,
|
||||||
|
this.follows,
|
||||||
|
this.isIamFollowingToGuestUser,
|
||||||
|
this.businessType,
|
||||||
|
this.iamPrincipalData});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
|
businessTypeXid = json['business_type_xid'];
|
||||||
|
businessOwnerName = json['business_owner_name'];
|
||||||
|
businessName = json['business_name'];
|
||||||
|
businessUsername = json['business_username'];
|
||||||
|
businessLocation = json['business_location'];
|
||||||
|
businessContactNumber = json['business_contact_number'];
|
||||||
|
businessEmail = json['business_email'];
|
||||||
|
businessHandle = json['business_handle'];
|
||||||
|
websiteLink = json['website_link'];
|
||||||
|
googleReviewLink = json['google_review_link'];
|
||||||
|
businessLogo = json['business_logo'];
|
||||||
|
tags = json['tags'];
|
||||||
|
bannerImage = json['banner_image'];
|
||||||
|
businessProfileImage = json['business_profile_image'];
|
||||||
|
bio = json['bio'];
|
||||||
|
follows =
|
||||||
|
json['follows'] != null ? new Follows.fromJson(json['follows']) : null;
|
||||||
|
isIamFollowingToGuestUser = json['is_iam_following_to_guest_user'];
|
||||||
|
businessType = json['business_type'] != null
|
||||||
|
? new BusinessType.fromJson(json['business_type'])
|
||||||
|
: null;
|
||||||
|
iamPrincipalData = json['iam_principal_data'] != null
|
||||||
|
? new IamPrincipalData.fromJson(json['iam_principal_data'])
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
|
data['business_type_xid'] = this.businessTypeXid;
|
||||||
|
data['business_owner_name'] = this.businessOwnerName;
|
||||||
|
data['business_name'] = this.businessName;
|
||||||
|
data['business_username'] = this.businessUsername;
|
||||||
|
data['business_location'] = this.businessLocation;
|
||||||
|
data['business_contact_number'] = this.businessContactNumber;
|
||||||
|
data['business_email'] = this.businessEmail;
|
||||||
|
data['business_handle'] = this.businessHandle;
|
||||||
|
data['website_link'] = this.websiteLink;
|
||||||
|
data['google_review_link'] = this.googleReviewLink;
|
||||||
|
data['business_logo'] = this.businessLogo;
|
||||||
|
data['tags'] = this.tags;
|
||||||
|
data['banner_image'] = this.bannerImage;
|
||||||
|
data['business_profile_image'] = this.businessProfileImage;
|
||||||
|
data['bio'] = this.bio;
|
||||||
|
if (this.follows != null) {
|
||||||
|
data['follows'] = this.follows!.toJson();
|
||||||
|
}
|
||||||
|
data['is_iam_following_to_guest_user'] = this.isIamFollowingToGuestUser;
|
||||||
|
if (this.businessType != null) {
|
||||||
|
data['business_type'] = this.businessType!.toJson();
|
||||||
|
}
|
||||||
|
if (this.iamPrincipalData != null) {
|
||||||
|
data['iam_principal_data'] = this.iamPrincipalData!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Follows {
|
||||||
|
int? following;
|
||||||
|
int? followers;
|
||||||
|
|
||||||
|
Follows({this.following, this.followers});
|
||||||
|
|
||||||
|
Follows.fromJson(Map<String, dynamic> json) {
|
||||||
|
following = json['following'];
|
||||||
|
followers = json['followers'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['following'] = this.following;
|
||||||
|
data['followers'] = this.followers;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class BusinessType {
|
||||||
|
int? id;
|
||||||
|
String? name;
|
||||||
|
String? image;
|
||||||
|
String? description;
|
||||||
|
int? isActive;
|
||||||
|
String? createdBy;
|
||||||
|
String? modifiedBy;
|
||||||
|
String? deletedAt;
|
||||||
|
String? createdAt;
|
||||||
|
String? updatedAt;
|
||||||
|
|
||||||
|
BusinessType(
|
||||||
|
{this.id,
|
||||||
|
this.name,
|
||||||
|
this.image,
|
||||||
|
this.description,
|
||||||
|
this.isActive,
|
||||||
|
this.createdBy,
|
||||||
|
this.modifiedBy,
|
||||||
|
this.deletedAt,
|
||||||
|
this.createdAt,
|
||||||
|
this.updatedAt});
|
||||||
|
|
||||||
|
BusinessType.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
name = json['name'];
|
||||||
|
image = json['image'];
|
||||||
|
description = json['description'];
|
||||||
|
isActive = json['is_active'];
|
||||||
|
createdBy = json['created_by'];
|
||||||
|
modifiedBy = json['modified_by'];
|
||||||
|
deletedAt = json['deleted_at'];
|
||||||
|
createdAt = json['created_at'];
|
||||||
|
updatedAt = json['updated_at'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['name'] = this.name;
|
||||||
|
data['image'] = this.image;
|
||||||
|
data['description'] = this.description;
|
||||||
|
data['is_active'] = this.isActive;
|
||||||
|
data['created_by'] = this.createdBy;
|
||||||
|
data['modified_by'] = this.modifiedBy;
|
||||||
|
data['deleted_at'] = this.deletedAt;
|
||||||
|
data['created_at'] = this.createdAt;
|
||||||
|
data['updated_at'] = this.updatedAt;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class IamPrincipalData {
|
||||||
|
int? id;
|
||||||
|
int? principalTypeXid;
|
||||||
|
int? principalSourceXid;
|
||||||
|
String? oneSignalPlayerId;
|
||||||
|
String? googleId;
|
||||||
|
String? appleId;
|
||||||
|
String? facebookId;
|
||||||
|
String? microsoftId;
|
||||||
|
String? userName;
|
||||||
|
String? pin;
|
||||||
|
String? fullName;
|
||||||
|
String? gender;
|
||||||
|
String? dateOfBirth;
|
||||||
|
String? phoneNumber;
|
||||||
|
String? otherPhoneNumber;
|
||||||
|
String? emailAddress;
|
||||||
|
String? addressLine1;
|
||||||
|
String? addressLine2;
|
||||||
|
String? cityXid;
|
||||||
|
String? stateXid;
|
||||||
|
String? countryXid;
|
||||||
|
String? postCode;
|
||||||
|
String? lastLoginDatetime;
|
||||||
|
String? profilePhoto;
|
||||||
|
String? referralCode;
|
||||||
|
String? description;
|
||||||
|
String? about;
|
||||||
|
String? position;
|
||||||
|
String? trainingScores;
|
||||||
|
String? height;
|
||||||
|
String? weight;
|
||||||
|
String? battingAverage;
|
||||||
|
int? isProfileUpdated;
|
||||||
|
String? isActive;
|
||||||
|
int? groupNotification;
|
||||||
|
int? communityNotification;
|
||||||
|
int? followerNotification;
|
||||||
|
int? newFollowerNotification;
|
||||||
|
int? directMessageNotification;
|
||||||
|
int? isAccountVisibility;
|
||||||
|
int? isDeleted;
|
||||||
|
String? reason;
|
||||||
|
String? createdBy;
|
||||||
|
String? modifiedBy;
|
||||||
|
String? deletedAt;
|
||||||
|
String? createdAt;
|
||||||
|
String? updatedAt;
|
||||||
|
String? profileImage;
|
||||||
|
|
||||||
|
IamPrincipalData(
|
||||||
|
{this.id,
|
||||||
|
this.principalTypeXid,
|
||||||
|
this.principalSourceXid,
|
||||||
|
this.oneSignalPlayerId,
|
||||||
|
this.googleId,
|
||||||
|
this.appleId,
|
||||||
|
this.facebookId,
|
||||||
|
this.microsoftId,
|
||||||
|
this.userName,
|
||||||
|
this.pin,
|
||||||
|
this.fullName,
|
||||||
|
this.gender,
|
||||||
|
this.dateOfBirth,
|
||||||
|
this.phoneNumber,
|
||||||
|
this.otherPhoneNumber,
|
||||||
|
this.emailAddress,
|
||||||
|
this.addressLine1,
|
||||||
|
this.addressLine2,
|
||||||
|
this.cityXid,
|
||||||
|
this.stateXid,
|
||||||
|
this.countryXid,
|
||||||
|
this.postCode,
|
||||||
|
this.lastLoginDatetime,
|
||||||
|
this.profilePhoto,
|
||||||
|
this.referralCode,
|
||||||
|
this.description,
|
||||||
|
this.about,
|
||||||
|
this.position,
|
||||||
|
this.trainingScores,
|
||||||
|
this.height,
|
||||||
|
this.weight,
|
||||||
|
this.battingAverage,
|
||||||
|
this.isProfileUpdated,
|
||||||
|
this.isActive,
|
||||||
|
this.groupNotification,
|
||||||
|
this.communityNotification,
|
||||||
|
this.followerNotification,
|
||||||
|
this.newFollowerNotification,
|
||||||
|
this.directMessageNotification,
|
||||||
|
this.isAccountVisibility,
|
||||||
|
this.isDeleted,
|
||||||
|
this.reason,
|
||||||
|
this.createdBy,
|
||||||
|
this.modifiedBy,
|
||||||
|
this.deletedAt,
|
||||||
|
this.createdAt,
|
||||||
|
this.updatedAt,
|
||||||
|
this.profileImage});
|
||||||
|
|
||||||
|
IamPrincipalData.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
principalTypeXid = json['principal_type_xid'];
|
||||||
|
principalSourceXid = json['principal_source_xid'];
|
||||||
|
oneSignalPlayerId = json['one_signal_player_id'];
|
||||||
|
googleId = json['google_id'];
|
||||||
|
appleId = json['apple_id'];
|
||||||
|
facebookId = json['facebook_id'];
|
||||||
|
microsoftId = json['microsoft_id'];
|
||||||
|
userName = json['user_name'];
|
||||||
|
pin = json['pin'];
|
||||||
|
fullName = json['full_name'];
|
||||||
|
gender = json['gender'];
|
||||||
|
dateOfBirth = json['date_of_birth'];
|
||||||
|
phoneNumber = json['phone_number'];
|
||||||
|
otherPhoneNumber = json['other_phone_number'];
|
||||||
|
emailAddress = json['email_address'];
|
||||||
|
addressLine1 = json['address_line1'];
|
||||||
|
addressLine2 = json['address_line2'];
|
||||||
|
cityXid = json['city_xid'];
|
||||||
|
stateXid = json['state_xid'];
|
||||||
|
countryXid = json['country_xid'];
|
||||||
|
postCode = json['post_code'];
|
||||||
|
lastLoginDatetime = json['last_login_datetime'];
|
||||||
|
profilePhoto = json['profile_photo'];
|
||||||
|
referralCode = json['referral_code'];
|
||||||
|
description = json['description'];
|
||||||
|
about = json['about'];
|
||||||
|
position = json['position'];
|
||||||
|
trainingScores = json['training_scores'];
|
||||||
|
height = json['height'];
|
||||||
|
weight = json['weight'];
|
||||||
|
battingAverage = json['batting_average'];
|
||||||
|
isProfileUpdated = json['is_profile_updated'];
|
||||||
|
isActive = json['is_active'];
|
||||||
|
groupNotification = json['group_notification'];
|
||||||
|
communityNotification = json['community_notification'];
|
||||||
|
followerNotification = json['follower_notification'];
|
||||||
|
newFollowerNotification = json['new_follower_notification'];
|
||||||
|
directMessageNotification = json['direct_message_notification'];
|
||||||
|
isAccountVisibility = json['is_account_visibility'];
|
||||||
|
isDeleted = json['is_deleted'];
|
||||||
|
reason = json['reason'];
|
||||||
|
createdBy = json['created_by'];
|
||||||
|
modifiedBy = json['modified_by'];
|
||||||
|
deletedAt = json['deleted_at'];
|
||||||
|
createdAt = json['created_at'];
|
||||||
|
updatedAt = json['updated_at'];
|
||||||
|
profileImage = json['profile_image'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['principal_type_xid'] = this.principalTypeXid;
|
||||||
|
data['principal_source_xid'] = this.principalSourceXid;
|
||||||
|
data['one_signal_player_id'] = this.oneSignalPlayerId;
|
||||||
|
data['google_id'] = this.googleId;
|
||||||
|
data['apple_id'] = this.appleId;
|
||||||
|
data['facebook_id'] = this.facebookId;
|
||||||
|
data['microsoft_id'] = this.microsoftId;
|
||||||
|
data['user_name'] = this.userName;
|
||||||
|
data['pin'] = this.pin;
|
||||||
|
data['full_name'] = this.fullName;
|
||||||
|
data['gender'] = this.gender;
|
||||||
|
data['date_of_birth'] = this.dateOfBirth;
|
||||||
|
data['phone_number'] = this.phoneNumber;
|
||||||
|
data['other_phone_number'] = this.otherPhoneNumber;
|
||||||
|
data['email_address'] = this.emailAddress;
|
||||||
|
data['address_line1'] = this.addressLine1;
|
||||||
|
data['address_line2'] = this.addressLine2;
|
||||||
|
data['city_xid'] = this.cityXid;
|
||||||
|
data['state_xid'] = this.stateXid;
|
||||||
|
data['country_xid'] = this.countryXid;
|
||||||
|
data['post_code'] = this.postCode;
|
||||||
|
data['last_login_datetime'] = this.lastLoginDatetime;
|
||||||
|
data['profile_photo'] = this.profilePhoto;
|
||||||
|
data['referral_code'] = this.referralCode;
|
||||||
|
data['description'] = this.description;
|
||||||
|
data['about'] = this.about;
|
||||||
|
data['position'] = this.position;
|
||||||
|
data['training_scores'] = this.trainingScores;
|
||||||
|
data['height'] = this.height;
|
||||||
|
data['weight'] = this.weight;
|
||||||
|
data['batting_average'] = this.battingAverage;
|
||||||
|
data['is_profile_updated'] = this.isProfileUpdated;
|
||||||
|
data['is_active'] = this.isActive;
|
||||||
|
data['group_notification'] = this.groupNotification;
|
||||||
|
data['community_notification'] = this.communityNotification;
|
||||||
|
data['follower_notification'] = this.followerNotification;
|
||||||
|
data['new_follower_notification'] = this.newFollowerNotification;
|
||||||
|
data['direct_message_notification'] = this.directMessageNotification;
|
||||||
|
data['is_account_visibility'] = this.isAccountVisibility;
|
||||||
|
data['is_deleted'] = this.isDeleted;
|
||||||
|
data['reason'] = this.reason;
|
||||||
|
data['created_by'] = this.createdBy;
|
||||||
|
data['modified_by'] = this.modifiedBy;
|
||||||
|
data['deleted_at'] = this.deletedAt;
|
||||||
|
data['created_at'] = this.createdAt;
|
||||||
|
data['updated_at'] = this.updatedAt;
|
||||||
|
data['profile_image'] = this.profileImage;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,422 @@
|
|||||||
|
class GuestGetProfileDataIndi {
|
||||||
|
String? status;
|
||||||
|
int? statusCode;
|
||||||
|
String? message;
|
||||||
|
Data? data;
|
||||||
|
|
||||||
|
GuestGetProfileDataIndi(
|
||||||
|
{this.status, this.statusCode, this.message, this.data});
|
||||||
|
|
||||||
|
GuestGetProfileDataIndi.fromJson(Map<String, dynamic> json) {
|
||||||
|
status = json['status'];
|
||||||
|
statusCode = json['status_code'];
|
||||||
|
message = json['message'];
|
||||||
|
data = json['data'] != null ? new Data.fromJson(json['data']) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['status'] = this.status;
|
||||||
|
data['status_code'] = this.statusCode;
|
||||||
|
data['message'] = this.message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
int? id;
|
||||||
|
String? userName;
|
||||||
|
String? fullName;
|
||||||
|
String? gender;
|
||||||
|
String? profilePhoto;
|
||||||
|
String? dateOfBirth;
|
||||||
|
List<Interest>? interest;
|
||||||
|
String? about;
|
||||||
|
String? position;
|
||||||
|
String? trainingScores;
|
||||||
|
String? height;
|
||||||
|
String? weight;
|
||||||
|
String? battingAverage;
|
||||||
|
Follows? follows;
|
||||||
|
List<Timelines>? timelines;
|
||||||
|
int? accountVisibility;
|
||||||
|
List<MyJoinedGroups>? myJoinedGroups;
|
||||||
|
// List<MyJoinedSubgroups>? myJoinedSubgroups;
|
||||||
|
List<Certifications>? certifications;
|
||||||
|
int? daysBeforeJoined;
|
||||||
|
int? isIamFollowingToGuestUser;
|
||||||
|
|
||||||
|
Data(
|
||||||
|
{this.id,
|
||||||
|
this.userName,
|
||||||
|
this.fullName,
|
||||||
|
this.gender,
|
||||||
|
this.profilePhoto,
|
||||||
|
this.dateOfBirth,
|
||||||
|
this.interest,
|
||||||
|
this.about,
|
||||||
|
this.position,
|
||||||
|
this.trainingScores,
|
||||||
|
this.height,
|
||||||
|
this.weight,
|
||||||
|
this.battingAverage,
|
||||||
|
this.follows,
|
||||||
|
this.timelines,
|
||||||
|
this.accountVisibility,
|
||||||
|
this.myJoinedGroups,
|
||||||
|
// this.myJoinedSubgroups,
|
||||||
|
this.certifications,
|
||||||
|
this.daysBeforeJoined,
|
||||||
|
this.isIamFollowingToGuestUser,
|
||||||
|
});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
userName = json['user_name'];
|
||||||
|
fullName = json['full_name'];
|
||||||
|
gender = json['gender'];
|
||||||
|
profilePhoto = json['profile_photo'];
|
||||||
|
dateOfBirth = json['date_of_birth'];
|
||||||
|
if (json['interest'] != null) {
|
||||||
|
interest = <Interest>[];
|
||||||
|
json['interest'].forEach((v) {
|
||||||
|
interest!.add(new Interest.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
about = json['about'];
|
||||||
|
position = json['position'];
|
||||||
|
trainingScores = json['training_scores'];
|
||||||
|
height = json['height'];
|
||||||
|
weight = json['weight'];
|
||||||
|
battingAverage = json['batting_average'];
|
||||||
|
follows =
|
||||||
|
json['follows'] != null ? new Follows.fromJson(json['follows']) : null;
|
||||||
|
if (json['timelines'] != null) {
|
||||||
|
timelines = <Timelines>[];
|
||||||
|
json['timelines'].forEach((v) {
|
||||||
|
timelines!.add(new Timelines.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
accountVisibility = json['account_visibility'];
|
||||||
|
if (json['my_joined_groups'] != null) {
|
||||||
|
myJoinedGroups = <MyJoinedGroups>[];
|
||||||
|
json['my_joined_groups'].forEach((v) {
|
||||||
|
myJoinedGroups!.add(new MyJoinedGroups.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// if (json['my_joined_subgroups'] != null) {
|
||||||
|
// myJoinedSubgroups = <MyJoinedSubgroups>[];
|
||||||
|
// json['my_joined_subgroups'].forEach((v) {
|
||||||
|
// myJoinedSubgroups!.add(new MyJoinedSubgroups.fromJson(v));
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
if (json['certifications'] != null) {
|
||||||
|
certifications = <Certifications>[];
|
||||||
|
json['certifications'].forEach((v) {
|
||||||
|
certifications!.add(new Certifications.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
daysBeforeJoined = json['days_before_joined'];
|
||||||
|
isIamFollowingToGuestUser = json['is_iam_following_to_guest_user'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['user_name'] = this.userName;
|
||||||
|
data['full_name'] = this.fullName;
|
||||||
|
data['gender'] = this.gender;
|
||||||
|
data['profile_photo'] = this.profilePhoto;
|
||||||
|
data['date_of_birth'] = this.dateOfBirth;
|
||||||
|
if (this.interest != null) {
|
||||||
|
data['interest'] = this.interest!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['about'] = this.about;
|
||||||
|
data['position'] = this.position;
|
||||||
|
data['training_scores'] = this.trainingScores;
|
||||||
|
data['height'] = this.height;
|
||||||
|
data['weight'] = this.weight;
|
||||||
|
data['batting_average'] = this.battingAverage;
|
||||||
|
if (this.follows != null) {
|
||||||
|
data['follows'] = this.follows!.toJson();
|
||||||
|
}
|
||||||
|
if (this.timelines != null) {
|
||||||
|
data['timelines'] = this.timelines!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['account_visibility'] = this.accountVisibility;
|
||||||
|
if (this.myJoinedGroups != null) {
|
||||||
|
data['my_joined_groups'] =
|
||||||
|
this.myJoinedGroups!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
// if (this.myJoinedSubgroups != null) {
|
||||||
|
// data['my_joined_subgroups'] =
|
||||||
|
// this.myJoinedSubgroups!.map((v) => v.toJson()).toList();
|
||||||
|
// }
|
||||||
|
if (this.certifications != null) {
|
||||||
|
data['certifications'] =
|
||||||
|
this.certifications!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['days_before_joined'] = this.daysBeforeJoined;
|
||||||
|
data['is_iam_following_to_guest_user'] = this.isIamFollowingToGuestUser;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class Interest {
|
||||||
|
int? id;
|
||||||
|
String? name;
|
||||||
|
|
||||||
|
Interest({this.id, this.name});
|
||||||
|
|
||||||
|
Interest.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
name = json['name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['name'] = this.name;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Follows {
|
||||||
|
int? following;
|
||||||
|
int? followers;
|
||||||
|
|
||||||
|
Follows({this.following, this.followers});
|
||||||
|
|
||||||
|
Follows.fromJson(Map<String, dynamic> json) {
|
||||||
|
following = json['following'];
|
||||||
|
followers = json['followers'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['following'] = this.following;
|
||||||
|
data['followers'] = this.followers;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Timelines {
|
||||||
|
int? id;
|
||||||
|
String? clubName;
|
||||||
|
String? roleName;
|
||||||
|
String? teamName;
|
||||||
|
String? startDate;
|
||||||
|
String? endDate;
|
||||||
|
String? abilitiesXids;
|
||||||
|
List<Abilities>? abilities;
|
||||||
|
|
||||||
|
Timelines(
|
||||||
|
{this.id,
|
||||||
|
this.clubName,
|
||||||
|
this.roleName,
|
||||||
|
this.teamName,
|
||||||
|
this.startDate,
|
||||||
|
this.endDate,
|
||||||
|
this.abilitiesXids,
|
||||||
|
this.abilities});
|
||||||
|
|
||||||
|
Timelines.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
clubName = json['club_name'];
|
||||||
|
roleName = json['role_name'];
|
||||||
|
teamName = json['team_name'];
|
||||||
|
startDate = json['start_date'];
|
||||||
|
endDate = json['end_date'];
|
||||||
|
abilitiesXids = json['abilities_xids'];
|
||||||
|
if (json['abilities'] != null) {
|
||||||
|
abilities = <Abilities>[];
|
||||||
|
json['abilities'].forEach((v) {
|
||||||
|
abilities!.add(new Abilities.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['club_name'] = this.clubName;
|
||||||
|
data['role_name'] = this.roleName;
|
||||||
|
data['team_name'] = this.teamName;
|
||||||
|
data['start_date'] = this.startDate;
|
||||||
|
data['end_date'] = this.endDate;
|
||||||
|
data['abilities_xids'] = this.abilitiesXids;
|
||||||
|
if (this.abilities != null) {
|
||||||
|
data['abilities'] = this.abilities!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Abilities {
|
||||||
|
int? id;
|
||||||
|
String? name;
|
||||||
|
|
||||||
|
Abilities({this.id, this.name});
|
||||||
|
|
||||||
|
Abilities.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
name = json['name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['name'] = this.name;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class MyJoinedGroups {
|
||||||
|
int? id;
|
||||||
|
int? iamPrincipalXid;
|
||||||
|
int? manageGroupXid;
|
||||||
|
GroupData? groupData;
|
||||||
|
|
||||||
|
MyJoinedGroups(
|
||||||
|
{this.id, this.iamPrincipalXid, this.manageGroupXid, this.groupData});
|
||||||
|
|
||||||
|
MyJoinedGroups.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
|
manageGroupXid = json['manage_group_xid'];
|
||||||
|
groupData = json['group_data'] != null
|
||||||
|
? new GroupData.fromJson(json['group_data'])
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
|
data['manage_group_xid'] = this.manageGroupXid;
|
||||||
|
if (this.groupData != null) {
|
||||||
|
data['group_data'] = this.groupData!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class GroupData {
|
||||||
|
int? id;
|
||||||
|
String? title;
|
||||||
|
String? groupImage;
|
||||||
|
|
||||||
|
GroupData({this.id, this.title, this.groupImage});
|
||||||
|
|
||||||
|
GroupData.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
title = json['title'];
|
||||||
|
groupImage = json['group_image'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['title'] = this.title;
|
||||||
|
data['group_image'] = this.groupImage;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class MyJoinedSubgroups {
|
||||||
|
int? id;
|
||||||
|
int? iamPrincipalXid;
|
||||||
|
int? manageGroupXid;
|
||||||
|
int? manageSubGroupXid;
|
||||||
|
SubGroupData? subGroupData;
|
||||||
|
|
||||||
|
MyJoinedSubgroups(
|
||||||
|
{this.id,
|
||||||
|
this.iamPrincipalXid,
|
||||||
|
this.manageGroupXid,
|
||||||
|
this.manageSubGroupXid,
|
||||||
|
this.subGroupData});
|
||||||
|
|
||||||
|
MyJoinedSubgroups.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
|
manageGroupXid = json['manage_group_xid'];
|
||||||
|
manageSubGroupXid = json['manage_sub_group_xid'];
|
||||||
|
subGroupData = json['sub_group_data'] != null
|
||||||
|
? new SubGroupData.fromJson(json['sub_group_data'])
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
|
data['manage_group_xid'] = this.manageGroupXid;
|
||||||
|
data['manage_sub_group_xid'] = this.manageSubGroupXid;
|
||||||
|
if (this.subGroupData != null) {
|
||||||
|
data['sub_group_data'] = this.subGroupData!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class SubGroupData {
|
||||||
|
int? id;
|
||||||
|
String? title;
|
||||||
|
String? subGroupImage;
|
||||||
|
|
||||||
|
SubGroupData({this.id, this.title, this.subGroupImage});
|
||||||
|
|
||||||
|
SubGroupData.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
title = json['title'];
|
||||||
|
subGroupImage = json['sub_group_image'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['title'] = this.title;
|
||||||
|
data['sub_group_image'] = this.subGroupImage;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Certifications {
|
||||||
|
int? id;
|
||||||
|
String? certificationName;
|
||||||
|
String? certificationImage;
|
||||||
|
String? certificationReason;
|
||||||
|
String? certificationDate;
|
||||||
|
int? iamPrincipalXid;
|
||||||
|
|
||||||
|
Certifications(
|
||||||
|
{this.id,
|
||||||
|
this.certificationName,
|
||||||
|
this.certificationImage,
|
||||||
|
this.certificationReason,
|
||||||
|
this.certificationDate,
|
||||||
|
this.iamPrincipalXid});
|
||||||
|
|
||||||
|
Certifications.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
certificationName = json['certification_name'];
|
||||||
|
certificationImage = json['certification_image'];
|
||||||
|
certificationReason = json['certification_reason'];
|
||||||
|
certificationDate = json['certification_date'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['certification_name'] = this.certificationName;
|
||||||
|
data['certification_image'] = this.certificationImage;
|
||||||
|
data['certification_reason'] = this.certificationReason;
|
||||||
|
data['certification_date'] = this.certificationDate;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,998 @@
|
|||||||
|
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/CommonWidget.dart';
|
||||||
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/EditProfile/ViewModel/EditProfileApi.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Guest%20User/ViewModel/GuestProfileApi.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profilePostmethod.dart';
|
||||||
|
import 'package:regroup/Utils/Common/ShimmerCommon.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';
|
||||||
|
|
||||||
|
class profiletabBusGest extends StatefulWidget {
|
||||||
|
const profiletabBusGest({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<profiletabBusGest> createState() => _profiletabBusGestState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _profiletabBusGestState extends State<profiletabBusGest> {
|
||||||
|
late Future guestBusfuture;
|
||||||
|
var updata;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
// TODO: implement initState
|
||||||
|
updata = Get.arguments?['FolloweridIndex'] ??
|
||||||
|
Get.arguments?['FollowingidIndex'] ??
|
||||||
|
"64";
|
||||||
|
|
||||||
|
guestBusfuture = GuestProfileApi().getGuestProfileBus(updata);
|
||||||
|
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
int? followunfollowid;
|
||||||
|
int? blockid;
|
||||||
|
|
||||||
|
FollowUnfollowUploadata() async {
|
||||||
|
utils.loader();
|
||||||
|
Map<String, dynamic> newupdata = {
|
||||||
|
"following_iam_principal_xid": followunfollowid,
|
||||||
|
};
|
||||||
|
final data = await Profilepostmethod().postunfollowuser(newupdata);
|
||||||
|
if (data.status == ResponseStatus.SUCCESS) {
|
||||||
|
Get.back();
|
||||||
|
updata = Get.arguments?['FolloweridIndex'] ??
|
||||||
|
Get.arguments?['FollowingidIndex'] ??
|
||||||
|
"64";
|
||||||
|
|
||||||
|
guestBusfuture = GuestProfileApi().getGuestProfileBus(updata);
|
||||||
|
// return utils.showToast(data.message);
|
||||||
|
} else {
|
||||||
|
Get.back();
|
||||||
|
print("unfollow not done");
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
BlockUploadata() async {
|
||||||
|
utils.loader();
|
||||||
|
Map<String, dynamic> updata = {
|
||||||
|
"blocked_iam_principal_xid": blockid,
|
||||||
|
};
|
||||||
|
final data = await Profilepostmethod().postBlockuser(updata);
|
||||||
|
if (data.status == ResponseStatus.SUCCESS) {
|
||||||
|
Get.back();
|
||||||
|
// Get.back();
|
||||||
|
Get.toNamed(RouteName.mainscreen, arguments: 4);
|
||||||
|
print("block done");
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
} else {
|
||||||
|
Get.back();
|
||||||
|
print("block not done");
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
// key: _scaffoldKey1,
|
||||||
|
backgroundColor: Color(0xFF222935),
|
||||||
|
extendBody: true,
|
||||||
|
// accountTypeValue == '1' ||
|
||||||
|
body: FutureBuilder(
|
||||||
|
future: guestBusfuture,
|
||||||
|
builder: (ctx, snapshot) {
|
||||||
|
if (snapshot.connectionState == ConnectionState.waiting) {
|
||||||
|
return
|
||||||
|
// ShimmerCommon();
|
||||||
|
|
||||||
|
Center(
|
||||||
|
child: CircularProgressIndicator(
|
||||||
|
color: Colors.blue,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (snapshot.hasError) {
|
||||||
|
return Center(
|
||||||
|
child: Text(
|
||||||
|
'${snapshot.error} occurred',
|
||||||
|
style: TextStyle(fontSize: 18.spMin),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (snapshot.connectionState == ConnectionState.done &&
|
||||||
|
snapshot.hasData) {
|
||||||
|
print("Data fetched-->");
|
||||||
|
return Stack(clipBehavior: Clip.none, children: [
|
||||||
|
Container(
|
||||||
|
decoration: const BoxDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
image: AssetImage(
|
||||||
|
"assets/images/png/Ellipse 1496.png"),
|
||||||
|
fit: BoxFit.fill)),
|
||||||
|
),
|
||||||
|
SafeArea(
|
||||||
|
child: SingleChildScrollView(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Stack(
|
||||||
|
children: [
|
||||||
|
guestGetProfileBus!.data!.businessProfileImage !=
|
||||||
|
null
|
||||||
|
? Container(
|
||||||
|
width: double.infinity,
|
||||||
|
height: 484.h,
|
||||||
|
decoration: ShapeDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
image: Image(
|
||||||
|
image: NetworkImage(
|
||||||
|
guestGetProfileBus!.data!
|
||||||
|
.businessProfileImage ??
|
||||||
|
''),
|
||||||
|
).image,
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
),
|
||||||
|
shape: LinearBorder(),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: Container(
|
||||||
|
height: 484.h,
|
||||||
|
width: double.infinity,
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/Rectangle 49 (1).png",
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Positioned.fill(
|
||||||
|
child: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
gradient: LinearGradient(
|
||||||
|
begin: Alignment.topCenter,
|
||||||
|
end: Alignment.bottomCenter,
|
||||||
|
colors: [
|
||||||
|
Color.fromRGBO(34, 41, 53, 0.1),
|
||||||
|
Color.fromRGBO(34, 41, 53, 0.79),
|
||||||
|
],
|
||||||
|
stops: [
|
||||||
|
0.5788,
|
||||||
|
0.8,
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Positioned(
|
||||||
|
bottom: 0,
|
||||||
|
right: 0,
|
||||||
|
left: 0,
|
||||||
|
child: Padding(
|
||||||
|
padding:
|
||||||
|
EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
Column(
|
||||||
|
children: [
|
||||||
|
text20700white(guestGetProfileBus!
|
||||||
|
.data!.businessOwnerName ??
|
||||||
|
"Victory gear sports emporium"),
|
||||||
|
sizedBoxHeight(5.h),
|
||||||
|
text18w400white(guestGetProfileBus!
|
||||||
|
.data!.businessName ??
|
||||||
|
"@Victorygames_10"),
|
||||||
|
sizedBoxHeight(15.h),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment:
|
||||||
|
MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
Get.toNamed(
|
||||||
|
RouteName.followers,
|
||||||
|
arguments: {
|
||||||
|
'From':
|
||||||
|
"GuestBusFollowers",
|
||||||
|
'UpdataGuestBusIdfollowers':
|
||||||
|
updata
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
text16400white(
|
||||||
|
guestGetProfileBus!
|
||||||
|
.data!
|
||||||
|
.follows!
|
||||||
|
.followers
|
||||||
|
.toString() ??
|
||||||
|
"254"),
|
||||||
|
sizedBoxHeight(6.h),
|
||||||
|
text12400whiteblur(
|
||||||
|
"Followers")
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
sizedBoxWidth(20.w),
|
||||||
|
Container(
|
||||||
|
height: 58.h,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
border: Border.all(
|
||||||
|
color: Colors.white,
|
||||||
|
width: 1.0,
|
||||||
|
),
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: Color(0x66000000),
|
||||||
|
offset: Offset(0, 4),
|
||||||
|
blurRadius: 4.0,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
sizedBoxWidth(20.w),
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
Get.toNamed(
|
||||||
|
RouteName.following,
|
||||||
|
arguments: {
|
||||||
|
'From':
|
||||||
|
"GuestBusFollowing",
|
||||||
|
'UpdataGuestBusIdfollowing':
|
||||||
|
updata,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child:
|
||||||
|
// guestGetProfileBus.data.
|
||||||
|
|
||||||
|
Column(
|
||||||
|
children: [
|
||||||
|
text16400white(
|
||||||
|
guestGetProfileBus!
|
||||||
|
.data!
|
||||||
|
.follows!
|
||||||
|
.following
|
||||||
|
.toString() ??
|
||||||
|
"344"),
|
||||||
|
sizedBoxHeight(6.h),
|
||||||
|
text12400whiteblur(
|
||||||
|
"Following")
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
sizedBoxHeight(30.h),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment:
|
||||||
|
MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
// Get.toNamed(RouteName.buseditprofile);
|
||||||
|
followunfollowid =
|
||||||
|
guestGetProfileBus!.data!.id;
|
||||||
|
FollowUnfollowUploadata();
|
||||||
|
print(followunfollowid);
|
||||||
|
},
|
||||||
|
child: guestGetProfileBus!.data!
|
||||||
|
.isIamFollowingToGuestUser ==
|
||||||
|
0
|
||||||
|
? Container(
|
||||||
|
height: 40.h,
|
||||||
|
width: 170.w,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Color(0xFFD90B2E),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(30.r),
|
||||||
|
),
|
||||||
|
child: Center(
|
||||||
|
child: text16w400_FCFCFC(
|
||||||
|
"Follow")),
|
||||||
|
)
|
||||||
|
: Container(
|
||||||
|
height: 40.h,
|
||||||
|
width: 170.w,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Color(0xFFD90B2E),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(30.r),
|
||||||
|
),
|
||||||
|
child: Center(
|
||||||
|
child: text16w400_FCFCFC(
|
||||||
|
"Unfollow")),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
// Get.toNamed(RouteName.shareProfile);
|
||||||
|
},
|
||||||
|
child: commonGlassUI(
|
||||||
|
width: 170.w,
|
||||||
|
height: 40.h,
|
||||||
|
|
||||||
|
opacity1: 0.05,
|
||||||
|
opacity2: 0.07,
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(30.r),
|
||||||
|
mainOpacity: 1,
|
||||||
|
customWidget: Center(
|
||||||
|
child: text16w400_FCFCFC("Message"),
|
||||||
|
),
|
||||||
|
// border: 1,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
sizedBoxHeight(30.h),
|
||||||
|
text18w700white("About"),
|
||||||
|
sizedBoxHeight(10.h),
|
||||||
|
text14400white(
|
||||||
|
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s."),
|
||||||
|
sizedBoxHeight(25.h),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
commonContainer(
|
||||||
|
width: 25.w,
|
||||||
|
height: 25.h,
|
||||||
|
opacity1: 0.26,
|
||||||
|
opacity2: 0.26,
|
||||||
|
borderwidth: 0.5,
|
||||||
|
boxShape: BoxShape.circle,
|
||||||
|
customWidget: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/Frame 24.png",
|
||||||
|
height: 12.h,
|
||||||
|
width: 12.w,
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
sizedBoxWidth(12.w),
|
||||||
|
text14400whiteblur(guestGetProfileBus!
|
||||||
|
.data!.businessOwnerName ??
|
||||||
|
"James Bothman"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
commonContainer(
|
||||||
|
width: 25.w,
|
||||||
|
height: 25.h,
|
||||||
|
opacity1: 0.26,
|
||||||
|
opacity2: 0.26,
|
||||||
|
borderwidth: 0.5,
|
||||||
|
boxShape: BoxShape.circle,
|
||||||
|
customWidget: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/Vector2a.png",
|
||||||
|
height: 12.h,
|
||||||
|
width: 12.w,
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
sizedBoxWidth(12.w),
|
||||||
|
text14400whiteblur(
|
||||||
|
guestGetProfileBus!.data!.websiteLink ??
|
||||||
|
"www.exampledummywebsite.com"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
commonContainer(
|
||||||
|
width: 25.w,
|
||||||
|
height: 25.h,
|
||||||
|
opacity1: 0.26,
|
||||||
|
opacity2: 0.26,
|
||||||
|
borderwidth: 0.5,
|
||||||
|
boxShape: BoxShape.circle,
|
||||||
|
customWidget: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/Group 58645.png",
|
||||||
|
height: 12.h,
|
||||||
|
width: 12.w,
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
sizedBoxWidth(12.w),
|
||||||
|
text14400whiteblur(guestGetProfileBus!
|
||||||
|
.data!.businessLocation ??
|
||||||
|
"Elm street london, United Kingdom"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
commonContainer(
|
||||||
|
width: 25.w,
|
||||||
|
height: 25.h,
|
||||||
|
opacity1: 0.26,
|
||||||
|
opacity2: 0.26,
|
||||||
|
borderwidth: 0.5,
|
||||||
|
boxShape: BoxShape.circle,
|
||||||
|
customWidget: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/calender.png",
|
||||||
|
height: 12.h,
|
||||||
|
width: 12.w,
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
sizedBoxWidth(12.w),
|
||||||
|
// text14400whiteblur(getEditProfileIndi!
|
||||||
|
// .data!.interest!
|
||||||
|
// .join(', ')),
|
||||||
|
guestGetProfileBus!.data!.businessType!
|
||||||
|
.createdAt !=
|
||||||
|
null
|
||||||
|
? text14400whiteblur(
|
||||||
|
' Founded at : ${guestGetProfileBus!.data!.businessType!.createdAt}')
|
||||||
|
: text14400whiteblur(
|
||||||
|
"Founded at : 2010")
|
||||||
|
],
|
||||||
|
),
|
||||||
|
sizedBoxHeight(30.h),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
sizedBoxHeight(30.h),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(left: 16.w),
|
||||||
|
child: text18w700white("Posts"),
|
||||||
|
),
|
||||||
|
normalcardtile(
|
||||||
|
profileImg: 'assets/images/png/Ellipse 48.png',
|
||||||
|
title: 'Jocelyn Dokidis',
|
||||||
|
mainImg: 'assets/images/png/Rectangle 46.png',
|
||||||
|
containerTitle: [
|
||||||
|
'Race',
|
||||||
|
'Swimming',
|
||||||
|
'Events',
|
||||||
|
'Marathon',
|
||||||
|
'Events'
|
||||||
|
]),
|
||||||
|
sizedBoxHeight(120.h),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Positioned.fill(
|
||||||
|
top: 40.h,
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
Get.back();
|
||||||
|
},
|
||||||
|
child: commonContainer(
|
||||||
|
width: 40.w,
|
||||||
|
height: 40.h,
|
||||||
|
borderwidth: 0.5,
|
||||||
|
boxShape: BoxShape.circle,
|
||||||
|
opacity1: 0.5,
|
||||||
|
opacity2: 0.6,
|
||||||
|
customWidget: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
'assets/images/png/ph_arrow-up-thin.png',
|
||||||
|
height: 25.h,
|
||||||
|
width: 25.w,
|
||||||
|
),
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
Spacer(),
|
||||||
|
commonContainer(
|
||||||
|
width: 40.w,
|
||||||
|
height: 40.h,
|
||||||
|
borderwidth: 0.5,
|
||||||
|
boxShape: BoxShape.circle,
|
||||||
|
opacity1: 0.5,
|
||||||
|
opacity2: 0.6,
|
||||||
|
customWidget: PopupMenuButton(
|
||||||
|
surfaceTintColor: const Color(0xFF222935),
|
||||||
|
constraints:
|
||||||
|
BoxConstraints.tightFor(width: 200.w),
|
||||||
|
offset: const Offset(0, 50),
|
||||||
|
color: const Color(0xFF222935),
|
||||||
|
tooltip: "",
|
||||||
|
itemBuilder: (BuildContext context) =>
|
||||||
|
<PopupMenuEntry>[
|
||||||
|
PopupMenuItem(
|
||||||
|
onTap: () {
|
||||||
|
Get.toNamed(RouteName.shareProfile);
|
||||||
|
},
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 12.w),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'Share profile',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 16.sp,
|
||||||
|
color: Colors.white,
|
||||||
|
fontWeight: FontWeight.w800,
|
||||||
|
fontFamily: "Nunito Sans",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const Spacer(),
|
||||||
|
Image.asset(
|
||||||
|
"assets/images/png/share.png",
|
||||||
|
height: 17.h,
|
||||||
|
width: 17.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const PopupMenuDivider(),
|
||||||
|
PopupMenuItem(
|
||||||
|
onTap: () {},
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 12.w),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'Report user',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 16.sp,
|
||||||
|
color: Colors.white,
|
||||||
|
fontWeight: FontWeight.w800,
|
||||||
|
fontFamily: "Nunito Sans",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const Spacer(),
|
||||||
|
Image.asset(
|
||||||
|
"assets/images/png/Vector (5).png",
|
||||||
|
height: 20.h,
|
||||||
|
width: 20.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const PopupMenuDivider(),
|
||||||
|
PopupMenuItem(
|
||||||
|
onTap: () async {
|
||||||
|
setState(() {
|
||||||
|
blockid =
|
||||||
|
guestGetProfileBus!.data!.id ?? 0;
|
||||||
|
|
||||||
|
BlockUploadata();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 12.w),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'Block user',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 16.sp,
|
||||||
|
color: Colors.white,
|
||||||
|
fontWeight: FontWeight.w800,
|
||||||
|
fontFamily: "Nunito Sans",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const Spacer(),
|
||||||
|
Image.asset(
|
||||||
|
"assets/images/png/blocked.png",
|
||||||
|
height: 18.h,
|
||||||
|
width: 18.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
child: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
'assets/images/png/Group 1000004071.png',
|
||||||
|
height: 20.h,
|
||||||
|
width: 20.w,
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
return Container();
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget normalcardtile({
|
||||||
|
required String profileImg,
|
||||||
|
required String title,
|
||||||
|
required String mainImg,
|
||||||
|
required List<String> containerTitle,
|
||||||
|
}) {
|
||||||
|
var mainImage = 'assets/images/png/uiw_like-o.png'.obs;
|
||||||
|
void updateImage(String reaction) {
|
||||||
|
if (reaction == 'like') {
|
||||||
|
mainImage.value = 'assets/images/png/f7_hand-thumbsup.png';
|
||||||
|
} else if (reaction == 'heart') {
|
||||||
|
mainImage.value = 'assets/images/png/heart 2.png';
|
||||||
|
} else if (reaction == 'party') {
|
||||||
|
mainImage.value = 'assets/images/png/party-popper 2.png';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 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) => <PopupMenuEntry>[
|
||||||
|
PopupMenuItem(
|
||||||
|
onTap: () {},
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 12.w),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'Report Post',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 16.sp,
|
||||||
|
color: Colors.white,
|
||||||
|
fontWeight: FontWeight.w800,
|
||||||
|
fontFamily: "Nunito Sans",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
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: [
|
||||||
|
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(),
|
||||||
|
commonContainer(
|
||||||
|
width: 30.w,
|
||||||
|
height: 30.h,
|
||||||
|
opacity1: 0.2,
|
||||||
|
opacity2: 0.2,
|
||||||
|
borderwidth: 0.43,
|
||||||
|
boxShape: BoxShape.circle,
|
||||||
|
customWidget: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
'assets/images/png/Frame 1000004088.png',
|
||||||
|
height: 13.h,
|
||||||
|
width: 13.w,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
sizedBoxWidth(12.w),
|
||||||
|
text14w400_FCFCFC('20'),
|
||||||
|
sizedBoxWidth(20.w),
|
||||||
|
commonContainer(
|
||||||
|
width: 30.w,
|
||||||
|
height: 30.h,
|
||||||
|
opacity1: 0.2,
|
||||||
|
opacity2: 0.2,
|
||||||
|
borderwidth: 0.43,
|
||||||
|
boxShape: BoxShape.circle,
|
||||||
|
customWidget: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
'assets/images/png/Vector (1).png',
|
||||||
|
height: 12.h,
|
||||||
|
width: 12.w,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
sizedBoxWidth(12.w),
|
||||||
|
text14w400_FCFCFC('10'),
|
||||||
|
]),
|
||||||
|
sizedBoxHeight(30.h),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
|
children: [
|
||||||
|
Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Obx(() {
|
||||||
|
return ReactionButton<String>(
|
||||||
|
onReactionChanged: (reaction) {
|
||||||
|
updateImage(reaction?.value ?? 'like');
|
||||||
|
debugPrint('Selected value: ${reaction?.value}');
|
||||||
|
},
|
||||||
|
reactions: <Reaction<String>?>[
|
||||||
|
Reaction<String>(
|
||||||
|
value: 'like',
|
||||||
|
previewIcon: _buildReactionsPreviewIcon(
|
||||||
|
'assets/images/png/f7_hand-thumbsup.png'),
|
||||||
|
icon: _buildReactionsIcon(
|
||||||
|
'assets/images/png/f7_hand-thumbsup.png'),
|
||||||
|
),
|
||||||
|
Reaction<String>(
|
||||||
|
value: 'heart',
|
||||||
|
previewIcon: _buildReactionsPreviewIcon(
|
||||||
|
'assets/images/png/heart 2.png'),
|
||||||
|
icon: _buildReactionsIcon(
|
||||||
|
'assets/images/png/heart 2.png'),
|
||||||
|
),
|
||||||
|
Reaction<String>(
|
||||||
|
value: 'party',
|
||||||
|
previewIcon: _buildReactionsPreviewIcon(
|
||||||
|
'assets/images/png/party-popper 2.png'),
|
||||||
|
icon: _buildReactionsIcon(
|
||||||
|
'assets/images/png/party-popper 2.png'),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
selectedReaction: Reaction<String>(
|
||||||
|
value: 'like',
|
||||||
|
icon: _buildReactionsIcon(
|
||||||
|
'assets/images/png/f7_hand-thumbsup.png'),
|
||||||
|
),
|
||||||
|
boxColor: Colors.white,
|
||||||
|
boxElevation: 9,
|
||||||
|
boxRadius: 30,
|
||||||
|
itemsSpacing: 8,
|
||||||
|
itemScale: 0.4,
|
||||||
|
itemSize: 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')
|
||||||
|
],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)
|
||||||
|
]),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
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 commonContainer(
|
||||||
|
width: 100.w,
|
||||||
|
height: 30.h,
|
||||||
|
borderRadius: BorderRadius.circular(30.r),
|
||||||
|
borderColor: Color(0xFFD90B2E),
|
||||||
|
borderwidth: 0.9,
|
||||||
|
customWidget: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
||||||
|
child: Center(child: text14w400_FCFCFC(text)),
|
||||||
|
));
|
||||||
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
import 'dart:developer';
|
||||||
|
|
||||||
|
import 'package:regroup/Common/api_urls.dart';
|
||||||
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
|
import 'package:regroup/Common/controller/data/network/network_api.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Guest%20User/Model/GetGuestFollowers.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Guest%20User/Model/GetGuestFollowing.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Guest%20User/Model/GuestGetProfileDataBus.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Guest%20User/Model/GuestGetProfileDataIndi.dart';
|
||||||
|
|
||||||
|
|
||||||
|
GuestGetProfileDataIndi? guestGetProfileInd;
|
||||||
|
GuestGetProfileDataBus? guestGetProfileBus;
|
||||||
|
|
||||||
|
GetGuestFollowers? getguestfollowersobj;
|
||||||
|
GetGuestFollowing? getguestfollowingobj;
|
||||||
|
|
||||||
|
|
||||||
|
class GuestProfileApi {
|
||||||
|
GuestProfileApi();
|
||||||
|
|
||||||
|
|
||||||
|
Future<ResponseData<dynamic>> getGuestProfileInd(updata) async {
|
||||||
|
final response = await NetworkApiServices().getApi(
|
||||||
|
"${ApiUrls.getGuestProfileInd}?guest_user_id=$updata",
|
||||||
|
// optionalpar: false
|
||||||
|
);
|
||||||
|
if (response.status == ResponseStatus.SUCCESS) {
|
||||||
|
guestGetProfileInd = GuestGetProfileDataIndi.fromJson(response.data);
|
||||||
|
log(guestGetProfileInd!.data.toString());
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<ResponseData<dynamic>> getGuestProfileBus(updata) async {
|
||||||
|
final response = await NetworkApiServices().getApi(
|
||||||
|
"${ApiUrls.getGuestProfileBus}?guest_user_id=$updata",
|
||||||
|
// optionalpar: false
|
||||||
|
);
|
||||||
|
if (response.status == ResponseStatus.SUCCESS) {
|
||||||
|
guestGetProfileBus = GuestGetProfileDataBus.fromJson(response.data);
|
||||||
|
log(guestGetProfileBus!.data.toString());
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<ResponseData<dynamic>> getGuestfollowers(gestUserid ,guestupdata , {required StreamController<GetGuestFollowers> streamController}) async {
|
||||||
|
final response = await NetworkApiServices().getApi(
|
||||||
|
"${ApiUrls.getGuestfollowers}?guest_user_id=$gestUserid&search=$guestupdata",
|
||||||
|
// optionalpar: false
|
||||||
|
);
|
||||||
|
if (response.status == ResponseStatus.SUCCESS) {
|
||||||
|
getguestfollowersobj = GetGuestFollowers.fromJson(response.data);
|
||||||
|
if (!streamController.isClosed) streamController.sink.add(getguestfollowersobj!);
|
||||||
|
log(guestGetProfileInd!.data.toString());
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<ResponseData<dynamic>> getGuestfollowing(gestUserid ,guestupdata , {required StreamController<GetGuestFollowing> streamController}) async {
|
||||||
|
final response = await NetworkApiServices().getApi(
|
||||||
|
"${ApiUrls.getGuestfollowing}?guest_user_id=$gestUserid&search=$guestupdata",
|
||||||
|
// optionalpar: false
|
||||||
|
);
|
||||||
|
if (response.status == ResponseStatus.SUCCESS) {
|
||||||
|
getguestfollowingobj = GetGuestFollowing.fromJson(response.data);
|
||||||
|
if (!streamController.isClosed) streamController.sink.add(getguestfollowingobj!);
|
||||||
|
log(guestGetProfileInd!.data.toString());
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
class GetAccountSessionsModel {
|
||||||
|
String? status;
|
||||||
|
int? statusCode;
|
||||||
|
String? message;
|
||||||
|
List<Data>? data;
|
||||||
|
|
||||||
|
GetAccountSessionsModel(
|
||||||
|
{this.status, this.statusCode, this.message, this.data});
|
||||||
|
|
||||||
|
GetAccountSessionsModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
status = json['status'];
|
||||||
|
statusCode = json['status_code'];
|
||||||
|
message = json['message'];
|
||||||
|
if (json['data'] != null) {
|
||||||
|
data = <Data>[];
|
||||||
|
json['data'].forEach((v) {
|
||||||
|
data!.add(new Data.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['status'] = this.status;
|
||||||
|
data['status_code'] = this.statusCode;
|
||||||
|
data['message'] = this.message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
int? id;
|
||||||
|
String? deviceName;
|
||||||
|
String? ipAddress;
|
||||||
|
String? country;
|
||||||
|
String? state;
|
||||||
|
String? city;
|
||||||
|
String? zip;
|
||||||
|
String? isp;
|
||||||
|
String? lat;
|
||||||
|
String? lon;
|
||||||
|
String? timezone;
|
||||||
|
|
||||||
|
Data(
|
||||||
|
{this.id,
|
||||||
|
this.deviceName,
|
||||||
|
this.ipAddress,
|
||||||
|
this.country,
|
||||||
|
this.state,
|
||||||
|
this.city,
|
||||||
|
this.zip,
|
||||||
|
this.isp,
|
||||||
|
this.lat,
|
||||||
|
this.lon,
|
||||||
|
this.timezone});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
deviceName = json['device_name'];
|
||||||
|
ipAddress = json['ip_address'];
|
||||||
|
country = json['country'];
|
||||||
|
state = json['state'];
|
||||||
|
city = json['city'];
|
||||||
|
zip = json['zip'];
|
||||||
|
isp = json['isp'];
|
||||||
|
lat = json['lat'];
|
||||||
|
lon = json['lon'];
|
||||||
|
timezone = json['timezone'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['device_name'] = this.deviceName;
|
||||||
|
data['ip_address'] = this.ipAddress;
|
||||||
|
data['country'] = this.country;
|
||||||
|
data['state'] = this.state;
|
||||||
|
data['city'] = this.city;
|
||||||
|
data['zip'] = this.zip;
|
||||||
|
data['isp'] = this.isp;
|
||||||
|
data['lat'] = this.lat;
|
||||||
|
data['lon'] = this.lon;
|
||||||
|
data['timezone'] = this.timezone;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
class CertificateuserModel {
|
||||||
|
String? status;
|
||||||
|
int? statusCode;
|
||||||
|
String? message;
|
||||||
|
List<Data>? data;
|
||||||
|
|
||||||
|
CertificateuserModel({this.status, this.statusCode, this.message, this.data});
|
||||||
|
|
||||||
|
CertificateuserModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
status = json['status'];
|
||||||
|
statusCode = json['status_code'];
|
||||||
|
message = json['message'];
|
||||||
|
if (json['data'] != null) {
|
||||||
|
data = <Data>[];
|
||||||
|
json['data'].forEach((v) {
|
||||||
|
data!.add(new Data.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['status'] = this.status;
|
||||||
|
data['status_code'] = this.statusCode;
|
||||||
|
data['message'] = this.message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
int? id;
|
||||||
|
String? certificationName;
|
||||||
|
String? certificationImage;
|
||||||
|
String? certificationReason;
|
||||||
|
String? certificationDate;
|
||||||
|
int? iamPrincipalXid;
|
||||||
|
|
||||||
|
Data(
|
||||||
|
{this.id,
|
||||||
|
this.certificationName,
|
||||||
|
this.certificationImage,
|
||||||
|
this.certificationReason,
|
||||||
|
this.certificationDate,
|
||||||
|
this.iamPrincipalXid});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
certificationName = json['certification_name'];
|
||||||
|
certificationImage = json['certification_image'];
|
||||||
|
certificationReason = json['certification_reason'];
|
||||||
|
certificationDate = json['certification_date'];
|
||||||
|
iamPrincipalXid = json['iam_principal_xid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['certification_name'] = this.certificationName;
|
||||||
|
data['certification_image'] = this.certificationImage;
|
||||||
|
data['certification_reason'] = this.certificationReason;
|
||||||
|
data['certification_date'] = this.certificationDate;
|
||||||
|
data['iam_principal_xid'] = this.iamPrincipalXid;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
class GetEditTimelineModel {
|
||||||
|
String? status;
|
||||||
|
int? statusCode;
|
||||||
|
String? message;
|
||||||
|
Data? data;
|
||||||
|
|
||||||
|
GetEditTimelineModel({this.status, this.statusCode, this.message, this.data});
|
||||||
|
|
||||||
|
GetEditTimelineModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
status = json['status'];
|
||||||
|
statusCode = json['status_code'];
|
||||||
|
message = json['message'];
|
||||||
|
data = json['data'] != null ? new Data.fromJson(json['data']) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['status'] = this.status;
|
||||||
|
data['status_code'] = this.statusCode;
|
||||||
|
data['message'] = this.message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
List<Abilities>? abilities;
|
||||||
|
TimelineData? timelineData;
|
||||||
|
|
||||||
|
Data({this.abilities, this.timelineData});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
if (json['abilities'] != null) {
|
||||||
|
abilities = <Abilities>[];
|
||||||
|
json['abilities'].forEach((v) {
|
||||||
|
abilities!.add(new Abilities.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
timelineData = json['timeline_data'] != null
|
||||||
|
? new TimelineData.fromJson(json['timeline_data'])
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
if (this.abilities != null) {
|
||||||
|
data['abilities'] = this.abilities!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
if (this.timelineData != null) {
|
||||||
|
data['timeline_data'] = this.timelineData!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Abilities {
|
||||||
|
int? id;
|
||||||
|
String? name;
|
||||||
|
|
||||||
|
Abilities({this.id, this.name});
|
||||||
|
|
||||||
|
Abilities.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
name = json['name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['name'] = this.name;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class TimelineData {
|
||||||
|
int? id;
|
||||||
|
String? clubName;
|
||||||
|
String? roleName;
|
||||||
|
String? teamName;
|
||||||
|
String? startDate;
|
||||||
|
String? endDate;
|
||||||
|
String? abilitiesXids;
|
||||||
|
|
||||||
|
TimelineData(
|
||||||
|
{this.id,
|
||||||
|
this.clubName,
|
||||||
|
this.roleName,
|
||||||
|
this.teamName,
|
||||||
|
this.startDate,
|
||||||
|
this.endDate,
|
||||||
|
this.abilitiesXids});
|
||||||
|
|
||||||
|
TimelineData.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
clubName = json['club_name'];
|
||||||
|
roleName = json['role_name'];
|
||||||
|
teamName = json['team_name'];
|
||||||
|
startDate = json['start_date'];
|
||||||
|
endDate = json['end_date'];
|
||||||
|
abilitiesXids = json['abilities_xids'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['club_name'] = this.clubName;
|
||||||
|
data['role_name'] = this.roleName;
|
||||||
|
data['team_name'] = this.teamName;
|
||||||
|
data['start_date'] = this.startDate;
|
||||||
|
data['end_date'] = this.endDate;
|
||||||
|
data['abilities_xids'] = this.abilitiesXids;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -61,14 +61,18 @@ class Follower {
|
|||||||
String? userName;
|
String? userName;
|
||||||
String? fullName;
|
String? fullName;
|
||||||
String? profilePhoto;
|
String? profilePhoto;
|
||||||
|
int? principleTypeXid;
|
||||||
|
|
||||||
Follower({this.id, this.userName, this.fullName, this.profilePhoto});
|
|
||||||
|
Follower({this.id, this.userName, this.fullName, this.profilePhoto, this.principleTypeXid});
|
||||||
|
|
||||||
Follower.fromJson(Map<String, dynamic> json) {
|
Follower.fromJson(Map<String, dynamic> json) {
|
||||||
id = json['id'];
|
id = json['id'];
|
||||||
userName = json['user_name'];
|
userName = json['user_name'];
|
||||||
fullName = json['full_name'];
|
fullName = json['full_name'];
|
||||||
profilePhoto = json['profile_photo'];
|
profilePhoto = json['profile_photo'];
|
||||||
|
principleTypeXid = json['principal_type_xid'];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
@@ -77,6 +81,8 @@ class Follower {
|
|||||||
data['user_name'] = this.userName;
|
data['user_name'] = this.userName;
|
||||||
data['full_name'] = this.fullName;
|
data['full_name'] = this.fullName;
|
||||||
data['profile_photo'] = this.profilePhoto;
|
data['profile_photo'] = this.profilePhoto;
|
||||||
|
data['principal_type_xid'] = this.principleTypeXid;
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,14 +61,21 @@ class Following {
|
|||||||
String? userName;
|
String? userName;
|
||||||
String? fullName;
|
String? fullName;
|
||||||
String? profilePhoto;
|
String? profilePhoto;
|
||||||
|
int? principleTypeXid;
|
||||||
|
|
||||||
Following({this.id, this.userName, this.fullName, this.profilePhoto});
|
Following(
|
||||||
|
{this.id,
|
||||||
|
this.userName,
|
||||||
|
this.fullName,
|
||||||
|
this.profilePhoto,
|
||||||
|
this.principleTypeXid});
|
||||||
|
|
||||||
Following.fromJson(Map<String, dynamic> json) {
|
Following.fromJson(Map<String, dynamic> json) {
|
||||||
id = json['id'];
|
id = json['id'];
|
||||||
userName = json['user_name'];
|
userName = json['user_name'];
|
||||||
fullName = json['full_name'];
|
fullName = json['full_name'];
|
||||||
profilePhoto = json['profile_photo'];
|
profilePhoto = json['profile_photo'];
|
||||||
|
principleTypeXid = json['principal_type_xid'];
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
@@ -77,6 +84,8 @@ class Following {
|
|||||||
data['user_name'] = this.userName;
|
data['user_name'] = this.userName;
|
||||||
data['full_name'] = this.fullName;
|
data['full_name'] = this.fullName;
|
||||||
data['profile_photo'] = this.profilePhoto;
|
data['profile_photo'] = this.profilePhoto;
|
||||||
|
data['principal_type_xid'] = this.principleTypeXid;
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
class TimelineAbilityListModel {
|
||||||
|
String? status;
|
||||||
|
int? statusCode;
|
||||||
|
String? message;
|
||||||
|
List<Data>? data;
|
||||||
|
|
||||||
|
TimelineAbilityListModel(
|
||||||
|
{this.status, this.statusCode, this.message, this.data});
|
||||||
|
|
||||||
|
TimelineAbilityListModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
status = json['status'];
|
||||||
|
statusCode = json['status_code'];
|
||||||
|
message = json['message'];
|
||||||
|
if (json['data'] != null) {
|
||||||
|
data = <Data>[];
|
||||||
|
json['data'].forEach((v) {
|
||||||
|
data!.add(new Data.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['status'] = this.status;
|
||||||
|
data['status_code'] = this.statusCode;
|
||||||
|
data['message'] = this.message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
int? id;
|
||||||
|
String? name;
|
||||||
|
|
||||||
|
Data({this.id, this.name});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
name = json['name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['name'] = this.name;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profileGetmethod.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.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/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
|
|
||||||
@@ -30,7 +30,65 @@ class _AccountSessionState extends State<AccountSession> {
|
|||||||
appBar: CommonAppbar(
|
appBar: CommonAppbar(
|
||||||
titleTxt: "Account sessions",
|
titleTxt: "Account sessions",
|
||||||
),
|
),
|
||||||
body: Stack(children: [
|
body:
|
||||||
|
FutureBuilder(
|
||||||
|
future: Profilegetmethod().getAccountSessions(),
|
||||||
|
builder: (ctx, snapshot) {
|
||||||
|
if (snapshot.data == null) {
|
||||||
|
return const Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Center(
|
||||||
|
child: CircularProgressIndicator(
|
||||||
|
color: Color(0xFFC18948),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
|
if (snapshot.hasError) {
|
||||||
|
return Center(
|
||||||
|
child: Text(
|
||||||
|
'${snapshot.error} occured',
|
||||||
|
style: TextStyle(fontSize: 18.spMin),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return accountsessionobj!.data!.isEmpty
|
||||||
|
? _buildNoDataBody(context)
|
||||||
|
: _buildBody(context);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildNoDataBody(context) {
|
||||||
|
return Center(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"No Data Found",
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 16.sp,
|
||||||
|
fontWeight: FontWeight.w600),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildBody(context) {
|
||||||
|
return
|
||||||
|
|
||||||
|
Stack(children: [
|
||||||
Container(
|
Container(
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
@@ -45,17 +103,30 @@ class _AccountSessionState extends State<AccountSession> {
|
|||||||
sizedBoxHeight(16.h),
|
sizedBoxHeight(16.h),
|
||||||
ListView.builder(
|
ListView.builder(
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
itemCount: sessionData.length,
|
physics: ScrollPhysics(),
|
||||||
|
itemCount: accountsessionobj!.data!.length,
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
return sessionCard(title: sessionData[index]);
|
final city = accountsessionobj!.data![index].city;
|
||||||
|
final state = accountsessionobj!.data![index].state;
|
||||||
|
final country = accountsessionobj!.data![index].country;
|
||||||
|
|
||||||
|
// Combine city, state, and country
|
||||||
|
final locationTitle = '$city, $state, $country';
|
||||||
|
return sessionCard(
|
||||||
|
title: locationTitle,
|
||||||
|
devicename: accountsessionobj!.data![index].deviceName!,
|
||||||
|
ipaddress: accountsessionobj!.data![index].ipAddress!
|
||||||
|
|
||||||
|
);
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
]),
|
]),
|
||||||
)
|
)
|
||||||
]));
|
]);
|
||||||
}
|
|
||||||
|
}
|
||||||
|
|
||||||
Widget sessionCard({required String title}) {
|
Widget sessionCard({required String title, required String devicename, required String ipaddress}) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 15),
|
padding: const EdgeInsets.symmetric(vertical: 15),
|
||||||
child: commonGlassContainer(
|
child: commonGlassContainer(
|
||||||
@@ -89,7 +160,7 @@ class _AccountSessionState extends State<AccountSession> {
|
|||||||
sizedBoxHeight(16.h),
|
sizedBoxHeight(16.h),
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
text14400whiteblur("Apple iPhone 15"),
|
text14400whiteblur(devicename),
|
||||||
sizedBoxWidth(6.w),
|
sizedBoxWidth(6.w),
|
||||||
Icon(
|
Icon(
|
||||||
Icons.circle,
|
Icons.circle,
|
||||||
@@ -97,7 +168,7 @@ class _AccountSessionState extends State<AccountSession> {
|
|||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
sizedBoxWidth(6.w),
|
sizedBoxWidth(6.w),
|
||||||
text144005DFD63("192.158.1.38")
|
text144005DFD63(ipaddress.toString())
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -3,11 +3,16 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/EditProfile/ViewModel/EditProfileApi.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profilePostmethod.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/blureffect.dart';
|
import 'package:regroup/Utils/Common/blureffect.dart';
|
||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||||
|
import 'package:regroup/Utils/dialogs.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
class AccountSettings extends StatefulWidget {
|
class AccountSettings extends StatefulWidget {
|
||||||
const AccountSettings({super.key});
|
const AccountSettings({super.key});
|
||||||
@@ -17,7 +22,66 @@ class AccountSettings extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _AccountSettingsState extends State<AccountSettings> {
|
class _AccountSettingsState extends State<AccountSettings> {
|
||||||
bool swichvalue = false;
|
// bool swichvalue = false;
|
||||||
|
|
||||||
|
String? accountTypeValue;
|
||||||
|
String? accounTypeLogin;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
setValues();
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
setValues() async {
|
||||||
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
|
// Update state variables and trigger UI update with setState
|
||||||
|
setState(() {
|
||||||
|
accounTypeLogin = prefs.getString('accountTypefromLogin');
|
||||||
|
print('account type login is $accounTypeLogin');
|
||||||
|
accountTypeValue = prefs.getString('accountTypeValue');
|
||||||
|
// print('account type value is $accountTypeValue');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> UploadData() async {
|
||||||
|
print("upload data called");
|
||||||
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
|
|
||||||
|
int? accountype ;
|
||||||
|
if (accountvisibility == false) {
|
||||||
|
accountype = 0;
|
||||||
|
}
|
||||||
|
else if (accountvisibility == true) {
|
||||||
|
accountype = 1;
|
||||||
|
}
|
||||||
|
Map<String, dynamic> updata = {
|
||||||
|
"is_account_visibility": accountype,
|
||||||
|
};
|
||||||
|
|
||||||
|
final data = await Profilepostmethod().postAccountvisibility(updata);
|
||||||
|
|
||||||
|
if (data.status == ResponseStatus.SUCCESS) {
|
||||||
|
String? accountype;
|
||||||
|
|
||||||
|
accountype = prefs.getString('accountTypefromLogin');
|
||||||
|
|
||||||
|
if (accountype == "1") {
|
||||||
|
EditProfileApi()
|
||||||
|
.getEditProfileIndividual();
|
||||||
|
}
|
||||||
|
else if (accountype == "2") {
|
||||||
|
EditProfileApi()
|
||||||
|
.getEditProfileBusiness();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
} else {
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
@@ -47,32 +111,43 @@ class _AccountSettingsState extends State<AccountSettings> {
|
|||||||
child: text18w700_FCFCFC("Sign in & security"),
|
child: text18w700_FCFCFC("Sign in & security"),
|
||||||
),
|
),
|
||||||
sizedBoxHeight(20.h),
|
sizedBoxHeight(20.h),
|
||||||
Padding(
|
accounTypeLogin == '1'
|
||||||
padding:
|
?
|
||||||
EdgeInsets.symmetric(horizontal: 16.w, vertical: 20.h),
|
|
||||||
child: Row(children: [
|
Column(
|
||||||
Image.asset(
|
children: [
|
||||||
"assets/images/png/eyeIcon.png",
|
Padding(
|
||||||
height: 21.h,
|
padding:
|
||||||
width: 21.w,
|
EdgeInsets.symmetric(horizontal: 16.w, vertical: 20.h),
|
||||||
|
child: Row(children: [
|
||||||
|
Image.asset(
|
||||||
|
"assets/images/png/eyeIcon.png",
|
||||||
|
height: 21.h,
|
||||||
|
width: 21.w,
|
||||||
|
),
|
||||||
|
sizedBoxWidth(12.w),
|
||||||
|
text16w400_FCFCFC("Account visibility"),
|
||||||
|
Spacer(),
|
||||||
|
Transform.scale(
|
||||||
|
scale: 0.9,
|
||||||
|
child: CupertinoSwitch(
|
||||||
|
value: accountvisibility,
|
||||||
|
trackColor: Colors.white.withOpacity(0.4),
|
||||||
|
activeColor: Color(0xFF34C759),
|
||||||
|
onChanged: (bool value) {
|
||||||
|
setState(() {
|
||||||
|
accountvisibility = value;
|
||||||
|
UploadData();
|
||||||
|
|
||||||
|
// swichvalue = value ?? false;
|
||||||
|
});
|
||||||
|
}))
|
||||||
|
]),
|
||||||
),
|
),
|
||||||
sizedBoxWidth(12.w),
|
|
||||||
text16w400_FCFCFC("Account visibility"),
|
|
||||||
Spacer(),
|
|
||||||
Transform.scale(
|
|
||||||
scale: 0.9,
|
|
||||||
child: CupertinoSwitch(
|
|
||||||
value: swichvalue,
|
|
||||||
trackColor: Colors.white.withOpacity(0.4),
|
|
||||||
activeColor: Color(0xFF34C759),
|
|
||||||
onChanged: (bool? value) {
|
|
||||||
setState(() {
|
|
||||||
swichvalue = value ?? false;
|
|
||||||
});
|
|
||||||
}))
|
|
||||||
]),
|
|
||||||
),
|
|
||||||
commonDivider(),
|
commonDivider(),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
: SizedBox(),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.changepassword);
|
Get.toNamed(RouteName.changepassword);
|
||||||
|
|||||||
@@ -190,9 +190,9 @@ class _ContactUsState extends State<ContactUs> {
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
// final isValid =
|
// final isValid =
|
||||||
// _formkey.currentState?.validate();
|
// _formkey.currentState?.validate();
|
||||||
if (fullname.text.isBlank! &&
|
if (fullname.text.isBlank! ||
|
||||||
email.text.isBlank! &&
|
email.text.isBlank! ||
|
||||||
querycontroller.text.isBlank! &&
|
querycontroller.text.isBlank! ||
|
||||||
_selectedreasontocontact.isEmpty) {
|
_selectedreasontocontact.isEmpty) {
|
||||||
utils.showToast("Please fill all fields");
|
utils.showToast("Please fill all fields");
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,11 +1,20 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
import 'package:regroup/Common/CommonButton.dart';
|
import 'package:regroup/Common/CommonButton.dart';
|
||||||
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profilePostmethod.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
|
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
|
||||||
import 'package:regroup/Utils/Common/blureffect.dart';
|
import 'package:regroup/Utils/Common/blureffect.dart';
|
||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||||
|
import 'package:regroup/Utils/dialogs.dart';
|
||||||
import 'package:regroup/Utils/texts.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 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
class DeleteAccount extends StatefulWidget {
|
class DeleteAccount extends StatefulWidget {
|
||||||
const DeleteAccount({super.key});
|
const DeleteAccount({super.key});
|
||||||
@@ -15,54 +24,118 @@ class DeleteAccount extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _DeleteAccountState extends State<DeleteAccount> {
|
class _DeleteAccountState extends State<DeleteAccount> {
|
||||||
|
TextEditingController leavingcontroller = TextEditingController();
|
||||||
|
|
||||||
|
Uploadata() async {
|
||||||
|
utils.loader();
|
||||||
|
Map<String, dynamic> updata = {
|
||||||
|
"reason": leavingcontroller.text,
|
||||||
|
};
|
||||||
|
final data = await Profilepostmethod().postDeleteaccount(updata);
|
||||||
|
if (data.status == ResponseStatus.SUCCESS) {
|
||||||
|
Get.back();
|
||||||
|
print("delete done");
|
||||||
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
|
await prefs.remove('access-token');
|
||||||
|
await prefs.remove('fullname');
|
||||||
|
await prefs.remove('username');
|
||||||
|
await prefs.remove('email');
|
||||||
|
await prefs.remove('phone');
|
||||||
|
await prefs.remove('accountTypefromLogin');
|
||||||
|
await prefs.remove('principal_xid');
|
||||||
|
await prefs.remove('accountTypeValue');
|
||||||
|
|
||||||
|
await prefs.clear();
|
||||||
|
|
||||||
|
Get.offNamed(RouteName.loginScreen);
|
||||||
|
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
} else {
|
||||||
|
Get.back();
|
||||||
|
print("delete not done");
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return GestureDetector(
|
||||||
// key: _scaffoldKey1,
|
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
|
||||||
resizeToAvoidBottomInset: false,
|
child: Scaffold(
|
||||||
backgroundColor: Color(0xFF222935),
|
// key: _scaffoldKey1,
|
||||||
extendBody: true,
|
// resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
backgroundColor: Color(0xFF222935),
|
||||||
titleTxt: "",
|
extendBody: true,
|
||||||
),
|
appBar: CommonAppbar(
|
||||||
body: Stack(children: [
|
titleTxt: "",
|
||||||
Container(
|
|
||||||
decoration: const BoxDecoration(
|
|
||||||
image: DecorationImage(
|
|
||||||
image: AssetImage("assets/images/png/Ellipse 1496.png"), fit: BoxFit.fill)),
|
|
||||||
),
|
),
|
||||||
SingleChildScrollView(
|
body: Stack(children: [
|
||||||
child: Padding(
|
Container(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
decoration: const BoxDecoration(
|
||||||
child: Column(children: [
|
image: DecorationImage(
|
||||||
sizedBoxHeight(25.h),
|
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
||||||
text20400white("Sad to see you go"),
|
fit: BoxFit.fill)),
|
||||||
sizedBoxHeight(16.h),
|
|
||||||
Image.asset(
|
|
||||||
"assets/images/png/Frame 1.png",
|
|
||||||
height: 119.h,
|
|
||||||
width: 119.w,
|
|
||||||
),
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
SizedBox(
|
|
||||||
width: 311.w,
|
|
||||||
child: 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 ",
|
|
||||||
textAlign: TextAlign.center),
|
|
||||||
),
|
|
||||||
sizedBoxHeight(30.h),
|
|
||||||
text18w400white("Tell us why you are leaving ?"),
|
|
||||||
sizedBoxHeight(10.h),
|
|
||||||
CustomTextFormField2(
|
|
||||||
maxlines: 3,
|
|
||||||
),
|
|
||||||
sizedBoxHeight(20.h),
|
|
||||||
CommonBtn(text: "I don’t want to delete"),
|
|
||||||
sizedBoxHeight(18.h),
|
|
||||||
text16400white("Yes I am ready to delete my account"),
|
|
||||||
]),
|
|
||||||
),
|
),
|
||||||
)
|
SingleChildScrollView(
|
||||||
]));
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
|
child: Column(children: [
|
||||||
|
sizedBoxHeight(25.h),
|
||||||
|
text20400white("Sad to see you go"),
|
||||||
|
sizedBoxHeight(16.h),
|
||||||
|
Image.asset(
|
||||||
|
"assets/images/png/Frame 1.png",
|
||||||
|
height: 119.h,
|
||||||
|
width: 119.w,
|
||||||
|
),
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
SizedBox(
|
||||||
|
width: 311.w,
|
||||||
|
child: 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 ",
|
||||||
|
textAlign: TextAlign.center),
|
||||||
|
),
|
||||||
|
sizedBoxHeight(30.h),
|
||||||
|
text18w400white("Tell us why you are leaving ?"),
|
||||||
|
sizedBoxHeight(10.h),
|
||||||
|
CustomTextFormField2(
|
||||||
|
maxlines: 3,
|
||||||
|
hintText: "Enter why are you leaving",
|
||||||
|
validator: (value) {
|
||||||
|
if (value!.isEmpty) {
|
||||||
|
return 'Enter your full name ';
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
inputFormatters: [
|
||||||
|
// LengthLimitingTextInputFormatter(20),
|
||||||
|
RemoveEmojiInputFormatter(),
|
||||||
|
FilteringTextInputFormatter.allow(RegExp('[a-zA-Z ]'))
|
||||||
|
],
|
||||||
|
textEditingController: leavingcontroller,
|
||||||
|
),
|
||||||
|
sizedBoxHeight(20.h),
|
||||||
|
CommonBtn(
|
||||||
|
text: "I don’t want to delete",
|
||||||
|
onTap: () {
|
||||||
|
Get.toNamed(RouteName.mainscreen);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
sizedBoxHeight(18.h),
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
if (leavingcontroller.text.isBlank!) {
|
||||||
|
utils.showToast('Please tell us why are you leaving');
|
||||||
|
} else {
|
||||||
|
Uploadata();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
child: text16400white(
|
||||||
|
"Yes I am ready to delete my account")),
|
||||||
|
]),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
])),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import 'package:regroup/Utils/Common/blureffect.dart';
|
|||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
class HelpAndSupport extends StatefulWidget {
|
class HelpAndSupport extends StatefulWidget {
|
||||||
const HelpAndSupport({super.key});
|
const HelpAndSupport({super.key});
|
||||||
@@ -16,6 +17,26 @@ class HelpAndSupport extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _HelpAndSupportState extends State<HelpAndSupport> {
|
class _HelpAndSupportState extends State<HelpAndSupport> {
|
||||||
|
String? accountTypeValue;
|
||||||
|
String? accounTypeLogin;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
setValues();
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
setValues() async {
|
||||||
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
|
// Update state variables and trigger UI update with setState
|
||||||
|
setState(() {
|
||||||
|
accounTypeLogin = prefs.getString('accountTypefromLogin');
|
||||||
|
print('account type login is $accounTypeLogin');
|
||||||
|
accountTypeValue = prefs.getString('accountTypeValue');
|
||||||
|
// print('account type value is $accountTypeValue');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
@@ -30,44 +51,51 @@ class _HelpAndSupportState extends State<HelpAndSupport> {
|
|||||||
Container(
|
Container(
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
image: AssetImage("assets/images/png/Ellipse 1496.png"), fit: BoxFit.fill)),
|
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
||||||
|
fit: BoxFit.fill)),
|
||||||
),
|
),
|
||||||
SingleChildScrollView(
|
SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
sizedBoxHeight(20.h),
|
sizedBoxHeight(20.h),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.faqscreen);
|
Get.toNamed(RouteName.faqscreen);
|
||||||
},
|
},
|
||||||
child: rowTile(
|
child: rowTile(
|
||||||
imagePath: "assets/images/png/Vectorftt.png",
|
imagePath: "assets/images/png/Vectorftt.png",
|
||||||
text: "FAQ",
|
text: "FAQ",
|
||||||
),
|
|
||||||
),
|
),
|
||||||
commonDivider(),
|
),
|
||||||
GestureDetector(
|
commonDivider(),
|
||||||
onTap: () {
|
GestureDetector(
|
||||||
Get.toNamed(RouteName.contactUs);
|
onTap: () {
|
||||||
},
|
Get.toNamed(RouteName.contactUs);
|
||||||
child: rowTile(
|
},
|
||||||
imagePath:
|
child: rowTile(
|
||||||
"assets/images/png/fluent_person-support-20-regular.png",
|
imagePath:
|
||||||
text: "Contact us",
|
"assets/images/png/fluent_person-support-20-regular.png",
|
||||||
),
|
text: "Contact us",
|
||||||
),
|
),
|
||||||
commonDivider(),
|
),
|
||||||
GestureDetector(
|
accounTypeLogin == '1'
|
||||||
onTap: () {
|
? Column(
|
||||||
Get.toNamed(RouteName.reportabug);
|
children: [
|
||||||
},
|
commonDivider(),
|
||||||
child: rowTile(
|
GestureDetector(
|
||||||
imagePath: "assets/images/png/codicon_bug.png",
|
onTap: () {
|
||||||
text: "Report a bug",
|
Get.toNamed(RouteName.reportabug);
|
||||||
),
|
},
|
||||||
),
|
child: rowTile(
|
||||||
]))
|
imagePath: "assets/images/png/codicon_bug.png",
|
||||||
|
text: "Report a bug",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
])
|
||||||
|
: SizedBox(),
|
||||||
|
],
|
||||||
|
))
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,14 +10,14 @@ class FetchNotification {
|
|||||||
status = json['status'];
|
status = json['status'];
|
||||||
statusCode = json['status_code'];
|
statusCode = json['status_code'];
|
||||||
message = json['message'];
|
message = json['message'];
|
||||||
data = json['data'] != null ? new Data.fromJson(json['data']) : null;
|
data = json['data'] != null ? Data.fromJson(json['data']) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
data['status'] = this.status;
|
data['status'] = status;
|
||||||
data['status_code'] = this.statusCode;
|
data['status_code'] = statusCode;
|
||||||
data['message'] = this.message;
|
data['message'] = message;
|
||||||
if (this.data != null) {
|
if (this.data != null) {
|
||||||
data['data'] = this.data!.toJson();
|
data['data'] = this.data!.toJson();
|
||||||
}
|
}
|
||||||
@@ -48,12 +48,12 @@ class Data {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
data['group_notification'] = this.groupNotification;
|
data['group_notification'] = groupNotification;
|
||||||
data['community_notification'] = this.communityNotification;
|
data['community_notification'] = communityNotification;
|
||||||
data['follower_notification'] = this.followerNotification;
|
data['follower_notification'] = followerNotification;
|
||||||
data['new_follower_notification'] = this.newFollowerNotification;
|
data['new_follower_notification'] = newFollowerNotification;
|
||||||
data['direct_message_notification'] = this.directMessageNotification;
|
data['direct_message_notification'] = directMessageNotification;
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,9 +5,12 @@ import 'package:get/get.dart';
|
|||||||
import 'package:glassmorphism/glassmorphism.dart';
|
import 'package:glassmorphism/glassmorphism.dart';
|
||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/view_model/profilePostmethod.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/blureffect.dart';
|
import 'package:regroup/Utils/Common/blureffect.dart';
|
||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||||
|
import 'package:regroup/Utils/dialogs.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
import 'package:regroup/resources/routes/route_name.dart';
|
import 'package:regroup/resources/routes/route_name.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
@@ -20,6 +23,54 @@ class Settings extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _SettingsState extends State<Settings> {
|
class _SettingsState extends State<Settings> {
|
||||||
|
String? accountTypeValue;
|
||||||
|
String? accounTypeLogin;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
setValues();
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
setValues() async {
|
||||||
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
|
// Update state variables and trigger UI update with setState
|
||||||
|
setState(() {
|
||||||
|
accounTypeLogin = prefs.getString('accountTypefromLogin');
|
||||||
|
print('account type login is $accounTypeLogin');
|
||||||
|
accountTypeValue = prefs.getString('accountTypeValue');
|
||||||
|
print('account type value is $accountTypeValue');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Uploadata() async {
|
||||||
|
utils.loader();
|
||||||
|
final data = await Profilepostmethod().postLogoutaccount();
|
||||||
|
if (data.status == ResponseStatus.SUCCESS) {
|
||||||
|
Get.back();
|
||||||
|
print("delete done");
|
||||||
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
|
await prefs.remove('access-token');
|
||||||
|
await prefs.remove('fullname');
|
||||||
|
await prefs.remove('username');
|
||||||
|
await prefs.remove('email');
|
||||||
|
await prefs.remove('phone');
|
||||||
|
await prefs.remove('accountTypefromLogin');
|
||||||
|
await prefs.remove('principal_xid');
|
||||||
|
await prefs.remove('accountTypeValue');
|
||||||
|
|
||||||
|
await prefs.clear();
|
||||||
|
|
||||||
|
Get.offNamed(RouteName.loginScreen);
|
||||||
|
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
} else {
|
||||||
|
Get.back();
|
||||||
|
print("delete not done");
|
||||||
|
return utils.showToast(data.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
@@ -58,16 +109,22 @@ class _SettingsState extends State<Settings> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
commonDivider(),
|
commonDivider(),
|
||||||
GestureDetector(
|
accounTypeLogin == '1'
|
||||||
onTap: () {
|
? Column(
|
||||||
Get.toNamed(RouteName.editProfile);
|
children: [
|
||||||
},
|
GestureDetector(
|
||||||
child: rowTile(
|
onTap: () {
|
||||||
imagePath: "assets/images/png/edit 1.png",
|
Get.toNamed(RouteName.editProfile);
|
||||||
text: "Edit profile",
|
},
|
||||||
),
|
child: rowTile(
|
||||||
),
|
imagePath: "assets/images/png/edit 1.png",
|
||||||
commonDivider(),
|
text: "Edit profile",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
commonDivider(),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
: SizedBox(),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(RouteName.helpandsupport);
|
Get.toNamed(RouteName.helpandsupport);
|
||||||
@@ -99,6 +156,22 @@ class _SettingsState extends State<Settings> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
commonDivider(),
|
commonDivider(),
|
||||||
|
accounTypeLogin == '1'
|
||||||
|
? SizedBox()
|
||||||
|
: Column(
|
||||||
|
children: [
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
Get.toNamed(RouteName.reportabug);
|
||||||
|
},
|
||||||
|
child: rowTile(
|
||||||
|
imagePath: "assets/images/png/codicon_bug.png",
|
||||||
|
text: "Report a bug",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
commonDivider(),
|
||||||
|
],
|
||||||
|
),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
dialogwidget();
|
dialogwidget();
|
||||||
@@ -160,10 +233,11 @@ class _SettingsState extends State<Settings> {
|
|||||||
children: [
|
children: [
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
SharedPreferences prefs =
|
// SharedPreferences prefs =
|
||||||
await SharedPreferences.getInstance();
|
// await SharedPreferences.getInstance();
|
||||||
await prefs.clear();
|
// await prefs.clear();
|
||||||
Get.offAllNamed(RouteName.loginScreen);
|
// Get.offAllNamed(RouteName.loginScreen);
|
||||||
|
Uploadata();
|
||||||
},
|
},
|
||||||
child: commonGlassContainer(
|
child: commonGlassContainer(
|
||||||
width: 130.w,
|
width: 130.w,
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class _TermsConditionState extends State<TermsCondition> {
|
|||||||
backgroundColor: Color(0xFF222935),
|
backgroundColor: Color(0xFF222935),
|
||||||
extendBody: true,
|
extendBody: true,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: CommonAppbar(
|
appBar: const CommonAppbar(
|
||||||
titleTxt: "Terms & Condition",
|
titleTxt: "Terms & Condition",
|
||||||
),
|
),
|
||||||
body: FutureBuilder(
|
body: FutureBuilder(
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
@@ -5,11 +8,13 @@ import 'package:get/get.dart';
|
|||||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||||
import 'package:regroup/Common/CommonWidget.dart';
|
import 'package:regroup/Common/CommonWidget.dart';
|
||||||
import 'package:regroup/Common/base_manager.dart';
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Settings/Model/FetchBlockUser.dart';
|
||||||
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Settings/ViewModel/BlockedUserApi.dart';
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Settings/ViewModel/BlockedUserApi.dart';
|
||||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||||
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
|
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
|
||||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||||
import 'package:regroup/Utils/texts.dart';
|
import 'package:regroup/Utils/texts.dart';
|
||||||
|
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
class BlockedUsers extends StatefulWidget {
|
class BlockedUsers extends StatefulWidget {
|
||||||
@@ -57,13 +62,16 @@ class _BlockedUsersState extends State<BlockedUsers> {
|
|||||||
"subtitle": "Lorem ipsum dummy text",
|
"subtitle": "Lorem ipsum dummy text",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
late Future myfuture;
|
|
||||||
|
// late Future myfuture;
|
||||||
double? blockedXid;
|
double? blockedXid;
|
||||||
|
|
||||||
|
StreamController<FetchBlockedUser> searchcontroller = StreamController();
|
||||||
|
|
||||||
unblockDone(int index) async {
|
unblockDone(int index) async {
|
||||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
await prefs.setInt('blockedprincipalxid',
|
await prefs.setInt('blockedprincipalxid',
|
||||||
fetchblockuser!.data![index].blockedIamPrincipalXid!);
|
fetchblockuserobj!.data![index].blockedIamPrincipalXid!);
|
||||||
blockedXid = prefs.getInt('blockedprincipalxid')!.toDouble();
|
blockedXid = prefs.getInt('blockedprincipalxid')!.toDouble();
|
||||||
Map<String, String> updata = {
|
Map<String, String> updata = {
|
||||||
"blocked_iam_principal_xid": blockedXid.toString(),
|
"blocked_iam_principal_xid": blockedXid.toString(),
|
||||||
@@ -83,7 +91,7 @@ class _BlockedUsersState extends State<BlockedUsers> {
|
|||||||
// utils.showToast('Unblock user successfully');
|
// utils.showToast('Unblock user successfully');
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
fetchblockuser!.data!.removeAt(index);
|
fetchblockuserobj!.data!.removeAt(index);
|
||||||
});
|
});
|
||||||
print('success');
|
print('success');
|
||||||
} else {
|
} else {
|
||||||
@@ -104,11 +112,19 @@ class _BlockedUsersState extends State<BlockedUsers> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
myfuture = BlockUserAPI().fetchBlockUser();
|
var updata = "";
|
||||||
|
// myfuture = BlockUserAPI().fetchBlockUser();
|
||||||
|
BlockUserAPI().getBlockedusers(updata, streamController: searchcontroller);
|
||||||
// TODO: implement initState
|
// TODO: implement initState
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
searchcontroller.close();
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
@@ -119,96 +135,301 @@ class _BlockedUsersState extends State<BlockedUsers> {
|
|||||||
appBar: CommonAppbar(
|
appBar: CommonAppbar(
|
||||||
titleTxt: "Blocked users",
|
titleTxt: "Blocked users",
|
||||||
),
|
),
|
||||||
body: FutureBuilder(
|
body: Stack(children: [
|
||||||
future: myfuture,
|
Container(
|
||||||
builder: (ctx, snapshot) {
|
decoration: const BoxDecoration(
|
||||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
image: DecorationImage(
|
||||||
return Center(
|
image: AssetImage("assets/images/png/Ellipse 1496.png"),
|
||||||
child: CircularProgressIndicator(
|
fit: BoxFit.fill)),
|
||||||
color: Colors.blue,
|
),
|
||||||
|
SingleChildScrollView(
|
||||||
|
child:
|
||||||
|
Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
||||||
|
sizedBoxHeight(25.h),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
|
child: CustomTextFormField(
|
||||||
|
leadingIcon: SizedBox(
|
||||||
|
height: 23,
|
||||||
|
width: 23,
|
||||||
|
child: Center(
|
||||||
|
child: Image.asset(
|
||||||
|
"assets/images/png/ion_search-outline.png",
|
||||||
|
height: 23,
|
||||||
|
width: 23,
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
hintText: "Search people",
|
||||||
}
|
texttype: TextInputType.text,
|
||||||
|
inputFormatters: [
|
||||||
|
// LengthLimitingTextInputFormatter(20),
|
||||||
|
RemoveEmojiInputFormatter(),
|
||||||
|
],
|
||||||
|
onInput: (value) {
|
||||||
|
// Onboard().postGroupsearch({"search": value},
|
||||||
|
// streamController: searchcontroller);
|
||||||
|
// searchGroups(value!);
|
||||||
|
BlockUserAPI().getBlockedusers(value,
|
||||||
|
streamController: searchcontroller);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
sizedBoxHeight(25.h),
|
||||||
|
|
||||||
if (snapshot.hasError) {
|
// Expanded(
|
||||||
return Center(
|
// child: ListView.builder(
|
||||||
child: Text(
|
// shrinkWrap: true,
|
||||||
'${snapshot.error} occurred',
|
// itemCount: fetchblockuser!.data!.length,
|
||||||
style: TextStyle(fontSize: 18.spMin),
|
// itemBuilder: (context, index) {
|
||||||
),
|
// return Column(
|
||||||
);
|
// children: [
|
||||||
}
|
// blockedUser(
|
||||||
|
// imagePath: fetchblockuser!.data![index]
|
||||||
if (snapshot.connectionState == ConnectionState.done &&
|
// .blockedProfile!.profilePhoto ??
|
||||||
snapshot.hasData) {
|
// '',
|
||||||
print("Data fetched-->");
|
// title: fetchblockuser!.data![index]
|
||||||
return Stack(children: [
|
// .blockedProfile!.fullName ??
|
||||||
Container(
|
// '',
|
||||||
decoration: const BoxDecoration(
|
// subtitle: fetchblockuser!.data![index]
|
||||||
image: DecorationImage(
|
// .blockedProfile!.userName ??
|
||||||
image: AssetImage(
|
// '',
|
||||||
"assets/images/png/Ellipse 1496.png"),
|
// index: index),
|
||||||
fit: BoxFit.fill)),
|
// // blockedUser(
|
||||||
),
|
// // imagePath: blockedUserData[index]
|
||||||
Column(
|
// // ["imagePath"],
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// // title: blockedUserData[index]["title"],
|
||||||
children: [
|
// // subtitle: blockedUserData[index]
|
||||||
sizedBoxHeight(25.h),
|
// // ["subtitle"]),
|
||||||
Padding(
|
// if (index != fetchblockuser!.data!.length - 1)
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
// commonDivider(),
|
||||||
child: CustomTextFormField(
|
// ],
|
||||||
leadingIcon: SizedBox(
|
// );
|
||||||
height: 23,
|
// },
|
||||||
width: 23,
|
// ),
|
||||||
child: Center(
|
// ),
|
||||||
child: Image.asset(
|
StreamBuilder<FetchBlockedUser>(
|
||||||
"assets/images/png/ion_search-outline.png",
|
stream: searchcontroller.stream,
|
||||||
height: 23,
|
builder: (ctx, snapshot) {
|
||||||
width: 23,
|
if (snapshot.connectionState == ConnectionState.waiting) {
|
||||||
),
|
// Display shimmer effect while waiting for data
|
||||||
),
|
return Center(child: CircularProgressIndicator());
|
||||||
),
|
} else if (snapshot.hasError) {
|
||||||
hintText: "Search people",
|
// Handle error state
|
||||||
),
|
return Center(
|
||||||
),
|
child: Text(
|
||||||
sizedBoxHeight(25.h),
|
'${snapshot.error} occurred',
|
||||||
Expanded(
|
style: TextStyle(fontSize: 18),
|
||||||
child: ListView.builder(
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
// Data has been loaded, show actual UI
|
||||||
|
return fetchblockuserobj!.data!.isEmpty
|
||||||
|
? _buildNoDataBody(context)
|
||||||
|
: ListView.separated(
|
||||||
|
physics: ScrollPhysics(),
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
itemCount: fetchblockuser!.data!.length,
|
itemCount: fetchblockuserobj!.data!.length,
|
||||||
|
separatorBuilder:
|
||||||
|
(BuildContext context, int index) {
|
||||||
|
return commonDivider();
|
||||||
|
},
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
return Column(
|
return Column(
|
||||||
children: [
|
children: [
|
||||||
blockedUser(
|
blockedUser(
|
||||||
imagePath: fetchblockuser!.data![index]
|
imagePath: fetchblockuserobj!.data![index]
|
||||||
.blockedProfile!.profilePhoto ??
|
.blockedProfile!.profilePhoto ??
|
||||||
'',
|
'',
|
||||||
title: fetchblockuser!.data![index]
|
title: fetchblockuserobj!.data![index]
|
||||||
.blockedProfile!.fullName ??
|
.blockedProfile!.fullName ??
|
||||||
'',
|
'',
|
||||||
subtitle: fetchblockuser!.data![index]
|
subtitle: fetchblockuserobj!.data![index]
|
||||||
.blockedProfile!.userName ??
|
.blockedProfile!.userName ??
|
||||||
'',
|
'',
|
||||||
index: index),
|
index: index),
|
||||||
// blockedUser(
|
|
||||||
// imagePath: blockedUserData[index]
|
|
||||||
// ["imagePath"],
|
|
||||||
// title: blockedUserData[index]["title"],
|
|
||||||
// subtitle: blockedUserData[index]
|
|
||||||
// ["subtitle"]),
|
|
||||||
if (index != fetchblockuser!.data!.length - 1)
|
|
||||||
commonDivider(),
|
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Column(
|
||||||
|
// children: [
|
||||||
|
// Padding(
|
||||||
|
// padding: EdgeInsets.symmetric(
|
||||||
|
// vertical: 16.h, horizontal: 16.w),
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// followingobj!.data![index].following!
|
||||||
|
// .profilePhoto ==
|
||||||
|
// null ||
|
||||||
|
// followingobj!
|
||||||
|
// .data![index]
|
||||||
|
// .following!
|
||||||
|
// .profilePhoto!
|
||||||
|
// .isEmpty
|
||||||
|
// ? CircleAvatar(
|
||||||
|
// backgroundImage: AssetImage(
|
||||||
|
// 'assets/images/png/Ellipse 43.png'),
|
||||||
|
// radius: 25.r,
|
||||||
|
// )
|
||||||
|
// : CircleAvatar(
|
||||||
|
// backgroundImage: NetworkImage(
|
||||||
|
// followingobj!
|
||||||
|
// .data![index]
|
||||||
|
// .following!
|
||||||
|
// .profilePhoto!),
|
||||||
|
// radius: 25.r,
|
||||||
|
// ),
|
||||||
|
// sizedBoxWidth(10.w),
|
||||||
|
// Column(
|
||||||
|
// crossAxisAlignment:
|
||||||
|
// CrossAxisAlignment.start,
|
||||||
|
// children: [
|
||||||
|
// followingobj!
|
||||||
|
// .data![index]
|
||||||
|
// .following!
|
||||||
|
// .fullName ==
|
||||||
|
// null ||
|
||||||
|
// followingobj!
|
||||||
|
// .data![index]
|
||||||
|
// .following!
|
||||||
|
// .fullName!
|
||||||
|
// .isEmpty
|
||||||
|
// ? text16w400_FCFCFC("Regroup")
|
||||||
|
// : text16w400_FCFCFC(
|
||||||
|
// followingobj!.data![index]
|
||||||
|
// .following!.fullName!),
|
||||||
|
// sizedBoxHeight(4.h),
|
||||||
|
// followingobj!
|
||||||
|
// .data![index]
|
||||||
|
// .following!
|
||||||
|
// .userName ==
|
||||||
|
// null ||
|
||||||
|
// followingobj!
|
||||||
|
// .data![index]
|
||||||
|
// .following!
|
||||||
|
// .userName!
|
||||||
|
// .isEmpty
|
||||||
|
// ? text12w400_FCFCFC_blur(
|
||||||
|
// "regroup")
|
||||||
|
// : text12w400_FCFCFC_blur(
|
||||||
|
// followingobj!.data![index]
|
||||||
|
// .following!.userName!)
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Spacer(),
|
||||||
|
// PopupMenuButton(
|
||||||
|
// surfaceTintColor: Color(0xFF222935),
|
||||||
|
// constraints:
|
||||||
|
// BoxConstraints.tightFor(
|
||||||
|
// width: 176.w),
|
||||||
|
// offset: Offset(0, 20),
|
||||||
|
// color: Color(0xFF222935),
|
||||||
|
// tooltip: "",
|
||||||
|
// itemBuilder: (BuildContext
|
||||||
|
// context) =>
|
||||||
|
// <PopupMenuEntry>[
|
||||||
|
// PopupMenuItem(
|
||||||
|
// onTap: () async {
|
||||||
|
// setState(() {
|
||||||
|
// unfollowid =
|
||||||
|
// followingobj!
|
||||||
|
// .data![
|
||||||
|
// index]
|
||||||
|
// .following!
|
||||||
|
// .id ??
|
||||||
|
// 0;
|
||||||
|
// // followingobj!.data!.removeAt(index);
|
||||||
|
// followingobj!.data!
|
||||||
|
// .removeWhere((item) =>
|
||||||
|
// item.following!
|
||||||
|
// .id ==
|
||||||
|
// unfollowid);
|
||||||
|
// Uploadata();
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// child: Padding(
|
||||||
|
// padding:
|
||||||
|
// EdgeInsets.symmetric(
|
||||||
|
// horizontal: 12.w),
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// text14400white(
|
||||||
|
// "Unfollow user"),
|
||||||
|
// Spacer(),
|
||||||
|
// Image.asset(
|
||||||
|
// "assets/images/png/Black1323e.png",
|
||||||
|
// height: 20.h,
|
||||||
|
// width: 20.w,
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// PopupMenuDivider(),
|
||||||
|
// PopupMenuItem(
|
||||||
|
// onTap: () {},
|
||||||
|
// child: Padding(
|
||||||
|
// padding:
|
||||||
|
// EdgeInsets.symmetric(
|
||||||
|
// horizontal: 12.w),
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// text14400white(
|
||||||
|
// "Message user"),
|
||||||
|
// Spacer(),
|
||||||
|
// Image.asset(
|
||||||
|
// "assets/images/png/fluent_chat-20-22.png",
|
||||||
|
// height: 20.h,
|
||||||
|
// width: 20.w,
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// child: Container(
|
||||||
|
// height: 20,
|
||||||
|
// width: 20,
|
||||||
|
// child: Center(
|
||||||
|
// child: Image.asset(
|
||||||
|
// "assets/images/png/Group 1000004071.png",
|
||||||
|
// height: 22.h,
|
||||||
|
// width: 4.w,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// )),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// );
|
||||||
},
|
},
|
||||||
),
|
);
|
||||||
),
|
}
|
||||||
sizedBoxHeight(20.h)
|
},
|
||||||
])
|
),
|
||||||
]);
|
sizedBoxHeight(20.h)
|
||||||
}
|
]),
|
||||||
return Container();
|
)
|
||||||
}));
|
]));
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildNoDataBody(context) {
|
||||||
|
return Center(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"No Data Found",
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 16.sp,
|
||||||
|
fontWeight: FontWeight.w600),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
dialogwidget({required int index}) {
|
dialogwidget({required int index}) {
|
||||||
@@ -273,28 +494,39 @@ class _BlockedUsersState extends State<BlockedUsers> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget blockedUser({
|
Widget blockedUser({
|
||||||
required String imagePath,
|
required String? imagePath,
|
||||||
required String title,
|
required String? title,
|
||||||
required String subtitle,
|
required String? subtitle,
|
||||||
required int index,
|
required int index,
|
||||||
}) {
|
}) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: EdgeInsets.symmetric(vertical: 16.h, horizontal: 16.w),
|
padding: EdgeInsets.symmetric(vertical: 16.h, horizontal: 16.w),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
CircleAvatar(
|
imagePath == null || imagePath.isEmpty
|
||||||
backgroundImage: NetworkImage(imagePath),
|
? CircleAvatar(
|
||||||
|
backgroundImage: AssetImage("assets/images/png/cimg3.png"),
|
||||||
|
|
||||||
// AssetImage(imagePath),
|
// AssetImage(imagePath),
|
||||||
radius: 25.r,
|
radius: 25.r,
|
||||||
),
|
)
|
||||||
|
: CircleAvatar(
|
||||||
|
backgroundImage: NetworkImage(imagePath),
|
||||||
|
|
||||||
|
// AssetImage(imagePath),
|
||||||
|
radius: 25.r,
|
||||||
|
),
|
||||||
sizedBoxWidth(10.w),
|
sizedBoxWidth(10.w),
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
text16w400_FCFCFC(title),
|
title == null || title.isEmpty
|
||||||
|
? text16w400_FCFCFC("Regroup")
|
||||||
|
: text16w400_FCFCFC(title),
|
||||||
sizedBoxHeight(4.h),
|
sizedBoxHeight(4.h),
|
||||||
text12w400_FCFCFC_blur(subtitle),
|
subtitle == null || subtitle.isEmpty
|
||||||
|
? text12w400_FCFCFC_blur('regroup')
|
||||||
|
: text12w400_FCFCFC_blur(subtitle),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
Spacer(),
|
||||||
|
|||||||
@@ -1,32 +1,34 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:regroup/Common/api_urls.dart';
|
import 'package:regroup/Common/api_urls.dart';
|
||||||
import 'package:regroup/Common/base_manager.dart';
|
import 'package:regroup/Common/base_manager.dart';
|
||||||
import 'package:regroup/Common/controller/data/network/network_api.dart';
|
import 'package:regroup/Common/controller/data/network/network_api.dart';
|
||||||
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Settings/Model/FetchBlockUser.dart';
|
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/Settings/Model/FetchBlockUser.dart';
|
||||||
|
|
||||||
FetchBlockedUser? fetchblockuser;
|
FetchBlockedUser? fetchblockuserobj;
|
||||||
|
|
||||||
class BlockUserAPI {
|
class BlockUserAPI {
|
||||||
BlockUserAPI();
|
BlockUserAPI();
|
||||||
|
|
||||||
Future<ResponseData<dynamic>> fetchBlockUser() async {
|
// Future<ResponseData<dynamic>> fetchBlockUser() async {
|
||||||
final response = await NetworkApiServices().getApi(
|
// final response = await NetworkApiServices().getApi(
|
||||||
ApiUrls.getblockuser,
|
// ApiUrls.getblockuser,
|
||||||
);
|
// );
|
||||||
fetchblockuser = FetchBlockedUser.fromJson(response.data);
|
// fetchblockuser = FetchBlockedUser.fromJson(response.data);
|
||||||
if (response.status == ResponseStatus.SUCCESS) {
|
// if (response.status == ResponseStatus.SUCCESS) {
|
||||||
if (response.data["status"] == "success") {
|
// if (response.data["status"] == "success") {
|
||||||
print("Success---->");
|
// print("Success---->");
|
||||||
return ResponseData<dynamic>(
|
// return ResponseData<dynamic>(
|
||||||
response.data['message'], ResponseStatus.SUCCESS,
|
// response.data['message'], ResponseStatus.SUCCESS,
|
||||||
data: response.data);
|
// data: response.data);
|
||||||
} else {
|
// } else {
|
||||||
return ResponseData<dynamic>(
|
// return ResponseData<dynamic>(
|
||||||
response.data['message'], ResponseStatus.FAILED);
|
// response.data['message'], ResponseStatus.FAILED);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
return response;
|
// return response;
|
||||||
}
|
// }
|
||||||
|
|
||||||
Future<ResponseData<dynamic>> postBlockApi(var data) async {
|
Future<ResponseData<dynamic>> postBlockApi(var data) async {
|
||||||
final response = await NetworkApiServices().postApi(
|
final response = await NetworkApiServices().postApi(
|
||||||
@@ -50,4 +52,19 @@ class BlockUserAPI {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<ResponseData<dynamic>> getBlockedusers(updata,
|
||||||
|
{required StreamController<FetchBlockedUser> streamController}) async {
|
||||||
|
final response =
|
||||||
|
await NetworkApiServices().getApi(
|
||||||
|
"${ApiUrls.getblockuser}?search=$updata",
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
if (response.status == ResponseStatus.SUCCESS) {
|
||||||
|
fetchblockuserobj = FetchBlockedUser.fromJson(response.data);
|
||||||
|
if (!streamController.isClosed) streamController.sink.add(fetchblockuserobj!);
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||