My community page done.
BIN
assets/images/png/Black (1).png
Normal file
|
After Width: | Height: | Size: 942 B |
BIN
assets/images/png/Black.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
assets/images/png/Ellipse 34.png
Normal file
|
After Width: | Height: | Size: 148 KiB |
BIN
assets/images/png/Ellipse 35.png
Normal file
|
After Width: | Height: | Size: 137 KiB |
BIN
assets/images/png/Ellipse 36.png
Normal file
|
After Width: | Height: | Size: 172 KiB |
BIN
assets/images/png/Ellipse 37.png
Normal file
|
After Width: | Height: | Size: 169 KiB |
BIN
assets/images/png/Ellipse 48.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
assets/images/png/Rectangle 25 (1).png
Normal file
|
After Width: | Height: | Size: 576 KiB |
BIN
assets/images/png/cimg1.png
Normal file
|
After Width: | Height: | Size: 218 KiB |
BIN
assets/images/png/cimg2.png
Normal file
|
After Width: | Height: | Size: 234 KiB |
BIN
assets/images/png/cimg3.png
Normal file
|
After Width: | Height: | Size: 301 KiB |
BIN
assets/images/png/cimg4.png
Normal file
|
After Width: | Height: | Size: 188 KiB |
BIN
assets/images/png/iconoir_send.png
Normal file
|
After Width: | Height: | Size: 929 B |
BIN
assets/images/png/img1.png
Normal file
|
After Width: | Height: | Size: 450 KiB |
BIN
assets/images/png/img12.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
assets/images/png/img2.png
Normal file
|
After Width: | Height: | Size: 7.8 MiB |
BIN
assets/images/png/logout 1 (traced).png
Normal file
|
After Width: | Height: | Size: 902 B |
BIN
assets/images/png/marketing 1 (traced).png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
assets/images/png/mingcute_eye-close-line.png
Normal file
|
After Width: | Height: | Size: 749 B |
@@ -1,85 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class CommonAppbar extends StatelessWidget implements PreferredSizeWidget {
|
||||
@override
|
||||
Size get preferredSize => const Size.fromHeight(70);
|
||||
|
||||
const CommonAppbar({
|
||||
Key? key,
|
||||
required this.titleTxt,
|
||||
this.showLeading = true,
|
||||
this.customActionWidget,
|
||||
this.onCustomActionPressed,
|
||||
required Size preferredSize,
|
||||
this.showEdit = false,
|
||||
this.customBack,
|
||||
this.editPageName,
|
||||
}) : super(key: key);
|
||||
|
||||
final String titleTxt;
|
||||
final bool? showLeading;
|
||||
final Widget? customActionWidget;
|
||||
final VoidCallback? onCustomActionPressed;
|
||||
final bool? showEdit;
|
||||
final bool? customBack;
|
||||
final String? editPageName;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppBar(
|
||||
scrolledUnderElevation: 0.0,
|
||||
backgroundColor: Colors.white,
|
||||
elevation: 0,
|
||||
automaticallyImplyLeading: false,
|
||||
titleSpacing: 0,
|
||||
title: SingleChildScrollView(
|
||||
scrollDirection: Axis.horizontal,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SingleChildScrollView(
|
||||
scrollDirection: Axis.horizontal,
|
||||
child: Text(
|
||||
titleTxt,
|
||||
softWrap: true,
|
||||
overflow: TextOverflow.visible,
|
||||
textAlign: TextAlign.start,
|
||||
style: TextStyle(
|
||||
fontFamily: 'DM Sans',
|
||||
fontSize: 18.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: Color(0xFF090909),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
leading: showLeading!
|
||||
? InkWell(
|
||||
onTap: () {
|
||||
Get.back();
|
||||
},
|
||||
child: Icon(
|
||||
Icons.arrow_back,
|
||||
color: Color(0xFF090909),
|
||||
size: 27,
|
||||
),
|
||||
)
|
||||
: null,
|
||||
actions: [
|
||||
if (customActionWidget != null)
|
||||
InkWell(
|
||||
onTap: onCustomActionPressed,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(right: 14.w),
|
||||
child: customActionWidget,
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -5,14 +5,16 @@ Widget commonGlassContainer(
|
||||
{required double width,
|
||||
required double height,
|
||||
required double borderradius,
|
||||
required Widget customWidget}) {
|
||||
required Widget customWidget,
|
||||
required double border
|
||||
}) {
|
||||
return GlassmorphicContainer(
|
||||
width: width,
|
||||
height: height,
|
||||
borderRadius: borderradius,
|
||||
blur: 10,
|
||||
alignment: Alignment.topCenter,
|
||||
border: 0.9,
|
||||
border: border,
|
||||
linearGradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
|
||||
@@ -117,4 +117,22 @@ Widget MessageTextInputField(
|
||||
),
|
||||
keyboardType: TextInputType.text,
|
||||
);
|
||||
}
|
||||
|
||||
Widget commonDivider(){
|
||||
return Container(
|
||||
height: 1.5.h,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
gradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color.fromRGBO(255, 255, 255, 0.07),
|
||||
Color.fromRGBO(255, 255, 255, 0.09),
|
||||
],
|
||||
transform: GradientRotation(1.78),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -97,7 +97,11 @@ class _CustomTextFormFieldState extends State<CustomTextFormField> {
|
||||
controller: widget.textEditingController,
|
||||
textCapitalization: widget.textCapV ?? TextCapitalization.none,
|
||||
decoration: InputDecoration(
|
||||
hintStyle: TextStyle(color: Colors.white),
|
||||
hintStyle: TextStyle(
|
||||
color: Color.fromRGBO(252, 252, 252, 0.5),
|
||||
fontSize: 14,
|
||||
fontFamily: "Helvetica",
|
||||
fontWeight: FontWeight.w400),
|
||||
hintText: widget.hintText,
|
||||
prefixIconColor: widget.prefixIconColor,
|
||||
// ignore: prefer_null_aware_operators
|
||||
|
||||
@@ -284,20 +284,17 @@ Widget normalcardtile() {
|
||||
height: 18.h,
|
||||
),
|
||||
),
|
||||
// GestureDetector(
|
||||
// onTap: () {},
|
||||
// child: Image.asset(
|
||||
// 'assets/images/png/Group 1000004071.png',
|
||||
// width: 4.w,
|
||||
// height: 18.h,
|
||||
// ),
|
||||
// ),
|
||||
|
||||
sizedBoxWidth(5.w)
|
||||
],
|
||||
),
|
||||
),
|
||||
sizedBoxHeight(20.h),
|
||||
Image.asset('assets/images/png/Rectangle 22.png'),
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.postdetailsScreen);
|
||||
},
|
||||
child: Image.asset('assets/images/png/Rectangle 22.png')),
|
||||
sizedBoxHeight(20.h),
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||
@@ -324,33 +321,11 @@ Widget normalcardtile() {
|
||||
text16w400_FCFCFC(
|
||||
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s . . ."),
|
||||
Row(children: [
|
||||
// commonGlassContainer(
|
||||
// width: 30.w,
|
||||
// height: 30.h,
|
||||
// borderradius: 100,
|
||||
// customWidget: Center(
|
||||
// child: ReactionButton<String>(
|
||||
// itemSize: Size.fromHeight(20),
|
||||
// onReactionChanged: (Reaction<String>? reaction) {
|
||||
// debugPrint('Selected value: ${reaction?.value}');
|
||||
// },
|
||||
// reactions: <Reaction<String>>[
|
||||
// Reaction<String>(
|
||||
// value: 'Party',
|
||||
// icon: Image.asset(
|
||||
// 'assets/images/png/party-popper 2.png',
|
||||
// height: 17.h,
|
||||
// width: 17.w,
|
||||
// ),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
|
||||
// sizedBoxWidth(7),
|
||||
// text14w400_FCFCFC('20'),
|
||||
|
||||
Spacer(),
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100,
|
||||
@@ -377,6 +352,8 @@ Widget normalcardtile() {
|
||||
text14w400_FCFCFC('20'),
|
||||
sizedBoxWidth(20.w),
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100,
|
||||
@@ -528,6 +505,8 @@ Widget _buildReactionsIcon(String assetPath) {
|
||||
|
||||
Widget tagCardTile() {
|
||||
return commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: double.infinity,
|
||||
height: 580.h,
|
||||
borderradius: 1,
|
||||
@@ -546,6 +525,8 @@ Widget tagCardTile() {
|
||||
|
||||
Widget containertile({required String text}) {
|
||||
return commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 100.w,
|
||||
height: 30.h,
|
||||
borderradius: 30.r,
|
||||
|
||||
@@ -152,6 +152,8 @@ Widget normalcardtile() {
|
||||
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s . . ."),
|
||||
Row(children: [
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100,
|
||||
@@ -175,6 +177,8 @@ Widget normalcardtile() {
|
||||
),
|
||||
),
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100,
|
||||
@@ -198,6 +202,8 @@ Widget normalcardtile() {
|
||||
),
|
||||
),
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100,
|
||||
@@ -224,6 +230,8 @@ Widget normalcardtile() {
|
||||
text14w400_FCFCFC('20'),
|
||||
Spacer(),
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100,
|
||||
@@ -250,6 +258,8 @@ Widget normalcardtile() {
|
||||
text14w400_FCFCFC('20'),
|
||||
sizedBoxWidth(20.w),
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100,
|
||||
|
||||
@@ -1,4 +1,15 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
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/controller/CommonTextFormField.dart';
|
||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||
import 'package:regroup/Utils/Common/blureffect.dart';
|
||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||
import 'package:regroup/Utils/texts.dart';
|
||||
import 'package:regroup/resources/routes/route_name.dart';
|
||||
|
||||
class PostDetailsScreen extends StatefulWidget {
|
||||
const PostDetailsScreen({super.key});
|
||||
@@ -10,6 +21,444 @@ class PostDetailsScreen extends StatefulWidget {
|
||||
class _PostDetailsScreenState extends State<PostDetailsScreen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Placeholder();
|
||||
return Scaffold(
|
||||
backgroundColor: Color(0xFF222935),
|
||||
extendBody: true,
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "Post",
|
||||
),
|
||||
body: Stack(children: [
|
||||
const CommonBlurLeftRed(),
|
||||
const CommonBlurRightRed(),
|
||||
const CommonBlurLeft(),
|
||||
const CommonBlurRight(),
|
||||
Positioned.fill(
|
||||
child: SingleChildScrollView(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
sizedBoxHeight(25.h),
|
||||
postCards(),
|
||||
sizedBoxHeight(30.h),
|
||||
commonDivider(),
|
||||
sizedBoxHeight(30.h),
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
CircleAvatar(
|
||||
radius: 20.r,
|
||||
foregroundImage: AssetImage(
|
||||
"assets/images/png/Ellipse 48.png",
|
||||
),
|
||||
),
|
||||
sizedBoxWidth(15.w),
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
text12w400_FCFCFC_blur("Roger Saris"),
|
||||
text14w400_FCFCFC(
|
||||
"Lorem Ipsum has been the industry's standard dummy text 😍"),
|
||||
text10w400_FCFCFC_blur("Reply. . . ")
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
sizedBoxHeight(50.h),
|
||||
CustomTextFormField(
|
||||
hintText: "Add comment",
|
||||
suffixIcon: Container(
|
||||
height: 20.h,
|
||||
width: 25.w,
|
||||
child: Center(
|
||||
child: Image.asset(
|
||||
"assets/images/png/iconoir_send.png",
|
||||
height: 20.h,
|
||||
width: 25.w,
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
sizedBoxHeight(85.h)
|
||||
])))
|
||||
]));
|
||||
}
|
||||
}
|
||||
|
||||
Widget postCards() {
|
||||
final List<String> titles = [
|
||||
'Cycle',
|
||||
'Marathon',
|
||||
'Events',
|
||||
'Swimming',
|
||||
'Events',
|
||||
];
|
||||
return Column(
|
||||
children: [
|
||||
sizedBoxHeight(25.h),
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
CircleAvatar(
|
||||
foregroundImage: AssetImage('assets/images/png/Ellipse 43.png'),
|
||||
radius: 25.r,
|
||||
),
|
||||
sizedBoxWidth(12.w),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
text16w400_FCFCFC('Edward Hackket'),
|
||||
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: 4.w,
|
||||
height: 18.h,
|
||||
),
|
||||
),
|
||||
sizedBoxWidth(5.w)
|
||||
],
|
||||
),
|
||||
),
|
||||
sizedBoxHeight(20.h),
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
// Get.toNamed(RouteName.postdetailsScreen);
|
||||
},
|
||||
child: Image.asset('assets/images/png/Rectangle 22.png')),
|
||||
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: titles.length,
|
||||
itemBuilder: (context, index) {
|
||||
return Padding(
|
||||
padding: EdgeInsets.only(right: 12.w),
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.cyclescreen);
|
||||
},
|
||||
child: containertile(text: titles[index])),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
sizedBoxHeight(20.h),
|
||||
text16w400_FCFCFC(
|
||||
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s . . ."),
|
||||
Row(children: [
|
||||
Spacer(),
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100,
|
||||
customWidget: Center(
|
||||
child: ReactionButton<String>(
|
||||
itemSize: Size.fromHeight(20),
|
||||
onReactionChanged: (Reaction<String>? reaction) {
|
||||
debugPrint('Selected value: ${reaction?.value}');
|
||||
},
|
||||
reactions: <Reaction<String>>[
|
||||
Reaction<String>(
|
||||
value: 'message',
|
||||
icon: Image.asset(
|
||||
'assets/images/png/Vector.png',
|
||||
height: 13.h,
|
||||
width: 13.w,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
sizedBoxWidth(12.w),
|
||||
text14w400_FCFCFC('20'),
|
||||
sizedBoxWidth(20.w),
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100,
|
||||
customWidget: Center(
|
||||
child: ReactionButton<String>(
|
||||
itemSize: Size.fromHeight(20),
|
||||
onReactionChanged: (Reaction<String>? reaction) {
|
||||
debugPrint('Selected value: ${reaction?.value}');
|
||||
},
|
||||
reactions: <Reaction<String>>[
|
||||
Reaction<String>(
|
||||
value: 'message',
|
||||
icon: 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(
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: [
|
||||
Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
ReactionButton<String>(
|
||||
onReactionChanged: (reaction) {
|
||||
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'),
|
||||
),
|
||||
|
||||
// Add more reactions here if needed
|
||||
],
|
||||
placeholder: Reaction<String>(
|
||||
value: 'like',
|
||||
icon: _buildReactionsIcon(
|
||||
'assets/images/png/f7_hand-thumbsup.png'),
|
||||
),
|
||||
selectedReaction: Reaction<String>(
|
||||
value: 'like',
|
||||
icon: _buildReactionsIcon(
|
||||
'assets/images/png/f7_hand-thumbsup.png'),
|
||||
),
|
||||
boxColor: Colors.white,
|
||||
boxElevation: 5,
|
||||
boxRadius: 50,
|
||||
itemsSpacing: 8,
|
||||
itemScale: 0.3,
|
||||
itemSize: Size(40.w, 40.h),
|
||||
boxPadding: EdgeInsets.all(4),
|
||||
boxAnimationDuration: Duration(milliseconds: 200),
|
||||
itemAnimationDuration:
|
||||
Duration(milliseconds: 100),
|
||||
hoverDuration: Duration(milliseconds: 400),
|
||||
toggle: false,
|
||||
direction: ReactionsBoxAlignment.ltr,
|
||||
child: _buildReactionsIcon(
|
||||
'assets/images/png/uiw_like-o.png',
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
sizedBoxHeight(8.h),
|
||||
text11w400_FCFCFC('Like')
|
||||
],
|
||||
),
|
||||
Column(
|
||||
children: [
|
||||
Image.asset(
|
||||
'assets/images/png/Vector.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 containertile({required String text}) {
|
||||
return commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 100.w,
|
||||
height: 30.h,
|
||||
borderradius: 30.r,
|
||||
customWidget: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
||||
child: Center(child: text14w400_FCFCFC(text)),
|
||||
));
|
||||
}
|
||||
|
||||
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 Image.asset(
|
||||
assetPath,
|
||||
height: 19.h,
|
||||
width: 19.w,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,8 @@ class _PostScreenState extends State<PostScreen> {
|
||||
sizedBoxHeight(25.h),
|
||||
text16w400_FCFCFC("Media"),
|
||||
sizedBoxHeight(20.h),
|
||||
commonGlassContainer(
|
||||
commonGlassContainer( border: 0.9,
|
||||
|
||||
width: double.infinity,
|
||||
height: 130.h,
|
||||
borderradius: 10.r,
|
||||
|
||||
318
lib/Feed Module/sidemenu/MyCommunity/View/CommunityDetails.dart
Normal file
@@ -0,0 +1,318 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||
import 'package:regroup/Utils/Common/blureffect.dart';
|
||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||
import 'package:regroup/Utils/texts.dart';
|
||||
|
||||
class CommunityDetails extends StatefulWidget {
|
||||
const CommunityDetails({super.key});
|
||||
|
||||
@override
|
||||
State<CommunityDetails> createState() => _CommunityDetailsState();
|
||||
}
|
||||
|
||||
class _CommunityDetailsState extends State<CommunityDetails> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
// key: _scaffoldKey1,
|
||||
backgroundColor: Color(0xFF222935),
|
||||
extendBody: true,
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "",
|
||||
customActionWidget: Image.asset(
|
||||
'assets/images/png/Group 1000004071.png',
|
||||
height: 22.h,
|
||||
width: 4.w,
|
||||
)),
|
||||
body: Stack(children: [
|
||||
const CommonBlurLeftRed(),
|
||||
const CommonBlurRightRed(),
|
||||
const CommonBlurLeft(),
|
||||
const CommonBlurRight(),
|
||||
Positioned.fill(
|
||||
child: SingleChildScrollView(
|
||||
child: Column(children: [
|
||||
Stack(clipBehavior: Clip.none, children: [
|
||||
SizedBox(
|
||||
height: 130.h,
|
||||
width: double.infinity,
|
||||
child: Image.asset(
|
||||
"assets/images/png/img1.png",
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
Positioned(
|
||||
bottom: -35.h,
|
||||
left: 20.w,
|
||||
child: Container(
|
||||
width: 85.r,
|
||||
height: 85.r,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color: Color.fromRGBO(255, 255, 255, 0.5),
|
||||
width: 1,
|
||||
),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Color.fromRGBO(0, 0, 0, 0.25),
|
||||
blurRadius: 12,
|
||||
offset: Offset(0, 6),
|
||||
),
|
||||
],
|
||||
),
|
||||
child: CircleAvatar(
|
||||
radius: 42.5.r,
|
||||
foregroundImage: AssetImage("assets/images/png/img2.png"),
|
||||
),
|
||||
))
|
||||
]),
|
||||
sizedBoxHeight(40.h),
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
text20w700_FCFCFC("Active alliance network"),
|
||||
Spacer(),
|
||||
commonGlassContainer(
|
||||
width: 35.w,
|
||||
height: 35.h,
|
||||
borderradius: 100,
|
||||
customWidget: Center(
|
||||
child: Image.asset(
|
||||
"assets/images/png/img12.png",
|
||||
height: 18.w,
|
||||
width: 18.w,
|
||||
)),
|
||||
border: 0.5),
|
||||
sizedBoxWidth(8.w),
|
||||
text16w400_FCFCFCblur("Public"),
|
||||
],
|
||||
),
|
||||
sizedBoxHeight(20.h),
|
||||
commonGlassContainer(
|
||||
width: double.infinity,
|
||||
height: 51.h,
|
||||
borderradius: 10.r,
|
||||
customWidget: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
stackContainers(),
|
||||
sizedBoxWidth(90.w),
|
||||
text16w400_white('7 members'),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.arrow_forward,
|
||||
size: 20.sp,
|
||||
color: Colors.white,
|
||||
),
|
||||
sizedBoxWidth(16.w),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
border: 1.w),
|
||||
sizedBoxHeight(20.h),
|
||||
commonGlassContainer(
|
||||
width: double.infinity,
|
||||
height: 51.h,
|
||||
borderradius: 10.r,
|
||||
customWidget: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Row(children: [
|
||||
Image.asset(
|
||||
"assets/images/png/Black.png",
|
||||
height: 23.h,
|
||||
width: 31.w,
|
||||
),
|
||||
sizedBoxWidth(15.w),
|
||||
text16w400white('10 groups'),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.arrow_forward,
|
||||
size: 20.sp,
|
||||
color: Colors.white,
|
||||
),
|
||||
]),
|
||||
],
|
||||
),
|
||||
),
|
||||
border: 1),
|
||||
sizedBoxHeight(20.h),
|
||||
commonGlassContainer(
|
||||
width: double.infinity,
|
||||
height: 51.h,
|
||||
borderradius: 10.r,
|
||||
customWidget: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Row(children: [
|
||||
Image.asset(
|
||||
"assets/images/png/marketing 1 (traced).png",
|
||||
height: 23.h,
|
||||
width: 31.w,
|
||||
),
|
||||
sizedBoxWidth(15.w),
|
||||
text16w400white('Announcements'),
|
||||
Spacer(),
|
||||
Container(
|
||||
height: 21.h,
|
||||
width: 43.w,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFD90B2E),
|
||||
borderRadius: BorderRadius.circular(30.r)),
|
||||
child: Center(child: text12w400_FCFCFC("11")),
|
||||
)
|
||||
]),
|
||||
],
|
||||
),
|
||||
),
|
||||
border: 1),
|
||||
sizedBoxHeight(35.h),
|
||||
Container(
|
||||
height: 40.h,
|
||||
width: 200.w,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFD90B2E),
|
||||
borderRadius: BorderRadius.circular(30.r)),
|
||||
child:
|
||||
Center(child: text14w400white("Leave the community")),
|
||||
),
|
||||
sizedBoxHeight(50.h),
|
||||
],
|
||||
),
|
||||
),
|
||||
DefaultTabController(
|
||||
length: 2,
|
||||
// initialIndex: selectedIndex.value,
|
||||
child: Column(
|
||||
children: [
|
||||
MyTabBar(),
|
||||
SizedBox(
|
||||
height: 600.h,
|
||||
child: TabBarView(
|
||||
children: [
|
||||
poststab(),
|
||||
eventstab(),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
])))
|
||||
]));
|
||||
}
|
||||
|
||||
Widget poststab() {
|
||||
return Column(
|
||||
children: [],
|
||||
);
|
||||
}
|
||||
|
||||
Widget eventstab() {
|
||||
return Column(
|
||||
children: [],
|
||||
);
|
||||
}
|
||||
|
||||
Widget stackContainers() {
|
||||
List containerimages = [
|
||||
{
|
||||
"imagePath": "assets/images/png/cimg3.png",
|
||||
},
|
||||
{
|
||||
"imagePath": "assets/images/png/cimg2.png",
|
||||
},
|
||||
{
|
||||
"imagePath": "assets/images/png/cimg3.png",
|
||||
},
|
||||
{
|
||||
"imagePath": "assets/images/png/cimg2.png",
|
||||
},
|
||||
];
|
||||
return Row(
|
||||
children: [
|
||||
sizedBoxWidth(12.w),
|
||||
Stack(clipBehavior: Clip.none, children: [
|
||||
Container(
|
||||
height: 30.h,
|
||||
width: 30.w,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: Color(0xFFD90B2E),
|
||||
border: Border.all(color: Color(0xFF2C3742), width: 1.w)),
|
||||
child: Center(child: text8w400_white("+2")),
|
||||
),
|
||||
Positioned(
|
||||
left: 20,
|
||||
child: SizedBox(
|
||||
height: 20,
|
||||
width: 50,
|
||||
child: Stack(
|
||||
clipBehavior: Clip.none,
|
||||
children: List.generate(containerimages.length, (index) {
|
||||
return Positioned(
|
||||
left: index * 22.w,
|
||||
child: Container(
|
||||
height: 30.h,
|
||||
width: 30.w,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color: Color(0xFF2C3742), width: 1.w)),
|
||||
child: CircleAvatar(
|
||||
foregroundImage:
|
||||
AssetImage(containerimages[index]["imagePath"]),
|
||||
)),
|
||||
);
|
||||
}),
|
||||
),
|
||||
))
|
||||
]),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class MyTabBar extends StatelessWidget {
|
||||
// Set the desired height
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return TabBar(
|
||||
dividerColor: Color(0xFFFFFFFF).withOpacity(0.07),
|
||||
labelStyle: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: Color(0xFFFCFCFC),
|
||||
fontWeight: FontWeight.w400,
|
||||
fontFamily: 'Helvetica'),
|
||||
indicatorSize: TabBarIndicatorSize.tab,
|
||||
indicatorColor: const Color(0xFFD90B2E),
|
||||
// labelColor: Colors.white,
|
||||
indicatorWeight: 2.h,
|
||||
dividerHeight: 2.h,
|
||||
unselectedLabelColor: Color(0xFFFCFCFC),
|
||||
overlayColor: MaterialStateProperty.all(const Color(0xFFD90B2E)),
|
||||
tabs: const [
|
||||
Tab(
|
||||
text: 'Posts',
|
||||
),
|
||||
Tab(
|
||||
text: 'Events',
|
||||
),
|
||||
]);
|
||||
}
|
||||
}
|
||||
283
lib/Feed Module/sidemenu/MyCommunity/View/MyCommunity.dart
Normal file
@@ -0,0 +1,283 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:regroup/Common/CommonGlassmorphism.dart';
|
||||
import 'package:regroup/Common/CommonWidget.dart';
|
||||
import 'package:regroup/Utils/Common/CommonAppbar.dart';
|
||||
import 'package:regroup/Utils/Common/blureffect.dart';
|
||||
import 'package:regroup/Utils/Common/sized_box.dart';
|
||||
import 'package:regroup/Utils/texts.dart';
|
||||
import 'package:regroup/resources/routes/route_name.dart';
|
||||
|
||||
class MyCommunity extends StatefulWidget {
|
||||
const MyCommunity({super.key});
|
||||
|
||||
@override
|
||||
State<MyCommunity> createState() => _MyCommunityState();
|
||||
}
|
||||
|
||||
class _MyCommunityState extends State<MyCommunity> {
|
||||
List JoinedcommunityData = [
|
||||
{
|
||||
"imagePath": "assets/images/png/Ellipse 34.png",
|
||||
"text": "Active alliance network",
|
||||
},
|
||||
{
|
||||
"imagePath": "assets/images/png/Ellipse 35.png",
|
||||
"text": "FitFam federation"
|
||||
},
|
||||
];
|
||||
|
||||
List RequestcommunityData = [
|
||||
{
|
||||
"imagePath": "assets/images/png/Ellipse 36.png",
|
||||
"text": "The athletic town",
|
||||
},
|
||||
{"imagePath": "assets/images/png/Ellipse 37.png", "text": "Football fever"},
|
||||
];
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
// key: _scaffoldKey1,
|
||||
backgroundColor: Color(0xFF222935),
|
||||
extendBody: true,
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "My Community",
|
||||
customActionWidget: Row(
|
||||
children: [
|
||||
Container(
|
||||
height: 30.h,
|
||||
width: 30.w,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFD90B2E),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Color(0xFF000000).withOpacity(0.25),
|
||||
offset: Offset(0, 6),
|
||||
blurRadius: 8,
|
||||
),
|
||||
],
|
||||
shape: BoxShape.circle),
|
||||
child: Icon(
|
||||
Icons.add,
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
sizedBoxWidth(12.w),
|
||||
Image.asset(
|
||||
"assets/images/png/Frame 9.png",
|
||||
height: 22.h,
|
||||
width: 22.w,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
body: Stack(children: [
|
||||
const CommonBlurLeftRed(),
|
||||
const CommonBlurRightRed(),
|
||||
const CommonBlurLeft(),
|
||||
const CommonBlurRight(),
|
||||
Positioned.fill(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||
child: SingleChildScrollView(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
text18w700_FCFCFC("Joined communities"),
|
||||
sizedBoxHeight(15.h),
|
||||
Column(
|
||||
children: List.generate(JoinedcommunityData.length,
|
||||
(index) {
|
||||
return communityCard(
|
||||
ontap: () {
|
||||
Get.toNamed(RouteName.communityDetails);
|
||||
},
|
||||
imagepath: JoinedcommunityData[index]
|
||||
['imagePath'],
|
||||
title: JoinedcommunityData[index]['text']);
|
||||
}),
|
||||
),
|
||||
text18w700_FCFCFC("Requested communities"),
|
||||
sizedBoxHeight(20.h),
|
||||
Column(
|
||||
children: List.generate(RequestcommunityData.length,
|
||||
(index) {
|
||||
return communityCard(
|
||||
ontap: () {},
|
||||
imagepath: RequestcommunityData[index]
|
||||
['imagePath'],
|
||||
title: RequestcommunityData[index]['text']);
|
||||
}),
|
||||
)
|
||||
]),
|
||||
)))
|
||||
]));
|
||||
}
|
||||
|
||||
Widget communityCard({
|
||||
required String imagepath,
|
||||
required String title,
|
||||
required void Function()? ontap,
|
||||
}) {
|
||||
return Padding(
|
||||
padding: EdgeInsets.only(bottom: 25.h),
|
||||
child: GestureDetector(
|
||||
onTap: ontap,
|
||||
child: commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: double.infinity,
|
||||
height: 157.h,
|
||||
borderradius: 10.r,
|
||||
customWidget: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h),
|
||||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
height: 65.h,
|
||||
width: 65.h,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
// color: Colors.amber,
|
||||
),
|
||||
child: Center(
|
||||
child: Image.asset(imagepath, fit: BoxFit.cover)),
|
||||
),
|
||||
// CircleAvatar(
|
||||
// foregroundImage: AssetImage(
|
||||
// imagepath,
|
||||
// ),
|
||||
// radius: 32.5.r),
|
||||
sizedBoxWidth(13.w),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
text18w700_FCFCFC(title),
|
||||
sizedBoxHeight(10.h),
|
||||
Row(
|
||||
children: [
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 30.w,
|
||||
height: 30.h,
|
||||
borderradius: 100.r,
|
||||
customWidget: Center(
|
||||
child: Image.asset(
|
||||
"assets/images/png/Black.png",
|
||||
height: 12.h,
|
||||
width: 16.w,
|
||||
),
|
||||
)),
|
||||
sizedBoxWidth(15.w),
|
||||
text14w400_FCFCFCblur("10 groups")
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
PopupMenuButton(
|
||||
surfaceTintColor: Color(0xFF222935),
|
||||
constraints: BoxConstraints.tightFor(width: 200.w),
|
||||
offset: Offset(0, 30),
|
||||
color: Color(0xFF222935),
|
||||
tooltip: "",
|
||||
itemBuilder: (BuildContext context) =>
|
||||
<PopupMenuEntry>[
|
||||
PopupMenuItem(
|
||||
onTap: () {},
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsets.symmetric(horizontal: 8.w),
|
||||
child: Row(
|
||||
children: [
|
||||
text14w400_FCFCFC("Mute community"),
|
||||
Spacer(),
|
||||
Image.asset(
|
||||
"assets/images/png/Black (1).png",
|
||||
height: 18.h,
|
||||
width: 18.w,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
PopupMenuDivider(),
|
||||
PopupMenuItem(
|
||||
onTap: () {},
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsets.symmetric(horizontal: 8.w),
|
||||
child: Row(
|
||||
children: [
|
||||
text14w400_FCFCFC("Hide post"),
|
||||
Spacer(),
|
||||
Image.asset(
|
||||
"assets/images/png/mingcute_eye-close-line.png",
|
||||
height: 20.h,
|
||||
width: 20.w,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
PopupMenuDivider(),
|
||||
PopupMenuItem(
|
||||
onTap: () {},
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsets.symmetric(horizontal: 8.w),
|
||||
child: Row(
|
||||
children: [
|
||||
text14w400_FCFCFC("Pin"),
|
||||
Spacer(),
|
||||
Image.asset(
|
||||
"assets/images/png/f7_pin-fill (2).png",
|
||||
height: 25.h,
|
||||
width: 25.w,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
PopupMenuDivider(),
|
||||
PopupMenuItem(
|
||||
onTap: () {},
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsets.symmetric(horizontal: 8.w),
|
||||
child: Row(
|
||||
children: [
|
||||
text14w400_FCFCFC("Leave community"),
|
||||
Spacer(),
|
||||
Image.asset(
|
||||
"assets/images/png/logout 1 (traced).png",
|
||||
height: 18.h,
|
||||
width: 18.w,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
child: Image.asset(
|
||||
"assets/images/png/Group 1000004071.png",
|
||||
height: 13.h,
|
||||
width: 3.w,
|
||||
)),
|
||||
],
|
||||
),
|
||||
sizedBoxHeight(16.h),
|
||||
commonDivider(),
|
||||
],
|
||||
),
|
||||
)),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -148,7 +148,11 @@ class _SideMenuState extends State<SideMenu> {
|
||||
children: [
|
||||
text16w400_FCFCFC("Communities"),
|
||||
Spacer(),
|
||||
text14w400_FCFCFC("View all"),
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.mycommunity);
|
||||
},
|
||||
child: text14w400_FCFCFC("View all")),
|
||||
],
|
||||
),
|
||||
),
|
||||
@@ -212,6 +216,8 @@ class _SideMenuState extends State<SideMenu> {
|
||||
}) {
|
||||
return ListTile(
|
||||
leading: commonGlassContainer(
|
||||
border: 0.9,
|
||||
|
||||
width: 29.w,
|
||||
height: 29.h,
|
||||
borderradius: 100,
|
||||
|
||||
@@ -106,6 +106,7 @@ class CommonAppbar extends StatelessWidget implements PreferredSizeWidget {
|
||||
children: [
|
||||
sizedBoxWidth(10.w),
|
||||
commonGlassContainer(
|
||||
border: 0.9,
|
||||
width: 40.w,
|
||||
height: 40.h,
|
||||
borderradius: 100,
|
||||
|
||||
@@ -94,6 +94,30 @@ Widget text16400Black(String text, {TextAlign? textAlign}) {
|
||||
),
|
||||
);
|
||||
}
|
||||
Widget text16w400white(String text, {TextAlign? textAlign}) {
|
||||
return Text(
|
||||
text,
|
||||
textAlign: textAlign,
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w400,
|
||||
color: AppColors.white,
|
||||
),
|
||||
);
|
||||
}
|
||||
Widget text14w400white(String text, {TextAlign? textAlign}) {
|
||||
return Text(
|
||||
text,
|
||||
textAlign: textAlign,
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w400,
|
||||
color: AppColors.white,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text20White(String text, {TextAlign? textAlign}) {
|
||||
return Text(
|
||||
@@ -142,6 +166,28 @@ Widget text16w400_FCFCFC(String text) {
|
||||
);
|
||||
}
|
||||
|
||||
Widget text16w400_white(String text) {
|
||||
return Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Colors.white,
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w400),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text16w400_FCFCFCblur(String text) {
|
||||
return Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Color(0xFFFCFCFC).withOpacity(0.8),
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w400),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text12w400_FCFCFC(String text) {
|
||||
return Text(
|
||||
text,
|
||||
@@ -153,6 +199,39 @@ Widget text12w400_FCFCFC(String text) {
|
||||
);
|
||||
}
|
||||
|
||||
Widget text20w700_FCFCFC(String text) {
|
||||
return Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 20.sp,
|
||||
color: Color(0xFFFCFCFC),
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w700),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text12w400_FCFCFC_blur(String text) {
|
||||
return Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp,
|
||||
color: Color(0xFFFCFCFC).withOpacity(0.8),
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w400),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text10w400_FCFCFC_blur(String text) {
|
||||
return Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 10.sp,
|
||||
color: Color(0xFFFCFCFC).withOpacity(0.8),
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w400),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text11w400_FCFCFC(String text) {
|
||||
return Text(
|
||||
text,
|
||||
@@ -175,6 +254,17 @@ Widget text18w400_FCFCFC(String text) {
|
||||
);
|
||||
}
|
||||
|
||||
Widget text18w700_FCFCFC(String text) {
|
||||
return Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 18.sp,
|
||||
color: Color(0xFFFCFCFC),
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w700),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text14w400_FCFCFC(String text) {
|
||||
return Text(
|
||||
text,
|
||||
@@ -186,6 +276,17 @@ Widget text14w400_FCFCFC(String text) {
|
||||
);
|
||||
}
|
||||
|
||||
Widget text14w400_FCFCFCblur(String text) {
|
||||
return Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: Color(0xFFFCFCFC).withOpacity(0.8),
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w400),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text8w400_8A8A8A(String text) {
|
||||
return Text(
|
||||
text,
|
||||
@@ -196,3 +297,14 @@ Widget text8w400_8A8A8A(String text) {
|
||||
fontWeight: FontWeight.w400),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text8w400_white(String text) {
|
||||
return Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 8.sp,
|
||||
color: Colors.white,
|
||||
fontFamily: 'Helvetica',
|
||||
fontWeight: FontWeight.w400),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,10 @@ class RouteName {
|
||||
static const String cyclescreen = '/cyclescreen';
|
||||
static const String postscreen = '/postscreen';
|
||||
static const String postdetailsScreen = '/postdetailsScreen';
|
||||
static const String mycommunity = '/mycommunity';
|
||||
static const String communityDetails = '/communityDetails';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@ import 'package:regroup/Feed%20Module/Main_Screens/Community/Community.dart';
|
||||
import 'package:regroup/Feed%20Module/Main_Screens/Community/CycleScreen.dart';
|
||||
import 'package:regroup/Feed%20Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart';
|
||||
import 'package:regroup/Feed%20Module/Main_Screens/Community/PostScreen.dart';
|
||||
import 'package:regroup/Feed%20Module/sidemenu/MyCommunity/View/CommunityDetails.dart';
|
||||
import 'package:regroup/Feed%20Module/sidemenu/MyCommunity/View/MyCommunity.dart';
|
||||
import 'package:regroup/Feed%20Module/sidemenu/SavedPosts/SavedPosts.dart';
|
||||
import 'package:regroup/Feed%20Module/sidemenu/sidemenu.dart';
|
||||
import 'package:regroup/Utils/Common/NoInternet.dart';
|
||||
@@ -49,9 +51,17 @@ class AppRoutes {
|
||||
name: RouteName.postscreen,
|
||||
page: () => const PostScreen(),
|
||||
),
|
||||
GetPage(
|
||||
GetPage(
|
||||
name: RouteName.postdetailsScreen,
|
||||
page: () => const PostDetailsScreen(),
|
||||
),
|
||||
GetPage(
|
||||
name: RouteName.mycommunity,
|
||||
page: () => const MyCommunity(),
|
||||
),
|
||||
GetPage(
|
||||
name: RouteName.communityDetails,
|
||||
page: () => const CommunityDetails(),
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||