diff --git a/assets/images/png/Black1233.png b/assets/images/png/Black1233.png new file mode 100644 index 0000000..e1f0500 Binary files /dev/null and b/assets/images/png/Black1233.png differ diff --git a/assets/images/png/Ellipse 34.png b/assets/images/png/Ellipse 34.png deleted file mode 100644 index 4f56909..0000000 Binary files a/assets/images/png/Ellipse 34.png and /dev/null differ diff --git a/assets/images/png/Ellipse 35.png b/assets/images/png/Ellipse 35.png deleted file mode 100644 index 181d666..0000000 Binary files a/assets/images/png/Ellipse 35.png and /dev/null differ diff --git a/assets/images/png/Ellipse 36.png b/assets/images/png/Ellipse 36.png deleted file mode 100644 index a715e33..0000000 Binary files a/assets/images/png/Ellipse 36.png and /dev/null differ diff --git a/assets/images/png/Ellipse 37.png b/assets/images/png/Ellipse 37.png deleted file mode 100644 index 1123223..0000000 Binary files a/assets/images/png/Ellipse 37.png and /dev/null differ diff --git a/assets/images/png/Ellipse 52.png b/assets/images/png/Ellipse 52.png new file mode 100644 index 0000000..48313f1 Binary files /dev/null and b/assets/images/png/Ellipse 52.png differ diff --git a/assets/images/png/Frame 58575.png b/assets/images/png/Frame 58575.png new file mode 100644 index 0000000..c064605 Binary files /dev/null and b/assets/images/png/Frame 58575.png differ diff --git a/assets/images/png/Group 58645.png b/assets/images/png/Group 58645.png new file mode 100644 index 0000000..97d8591 Binary files /dev/null and b/assets/images/png/Group 58645.png differ diff --git a/assets/images/png/img34.png b/assets/images/png/img34.png new file mode 100644 index 0000000..f8c587a Binary files /dev/null and b/assets/images/png/img34.png differ diff --git a/assets/images/png/img45.png b/assets/images/png/img45.png new file mode 100644 index 0000000..77dd624 Binary files /dev/null and b/assets/images/png/img45.png differ diff --git a/assets/images/png/puzzle-pieces 1 (traced).png b/assets/images/png/puzzle-pieces 1 (traced).png new file mode 100644 index 0000000..757e0da Binary files /dev/null and b/assets/images/png/puzzle-pieces 1 (traced).png differ diff --git a/assets/images/png/uiw_user-add.png b/assets/images/png/uiw_user-add.png new file mode 100644 index 0000000..94cebb5 Binary files /dev/null and b/assets/images/png/uiw_user-add.png differ diff --git a/lib/Common/CommonWidget.dart b/lib/Common/CommonWidget.dart index af71d28..f4b0d9a 100644 --- a/lib/Common/CommonWidget.dart +++ b/lib/Common/CommonWidget.dart @@ -1,5 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; + +import 'package:regroup/Utils/texts.dart'; import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart'; import 'package:path/path.dart' as path; @@ -63,9 +65,7 @@ class _TextInputFieldState extends State { Widget MessageTextInputField( String hinttext, TextEditingController controller, dynamic validator) { return TextFormField( - inputFormatters: [ - RemoveEmojiInputFormatter() - ], + inputFormatters: [RemoveEmojiInputFormatter()], // maxLength: 5, autovalidateMode: AutovalidateMode.onUserInteraction, maxLines: 5, @@ -117,25 +117,109 @@ Widget MessageTextInputField( ); } +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), + ), + ), + ); +} + +Widget stackContainers({ + required String number, + required List containerImages, +}) { + return Row( + children: [ + SizedBox(width: 12), + Stack( + clipBehavior: Clip.none, + children: [ + Container( + height: 30, + width: 30, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Color(0xFFD90B2E), + border: Border.all(color: Color(0xFF2C3742), width: 1), + ), + child: Center( + child: Text( + number, + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.w400, + fontSize: 8, + ), + ), + ), + ), + Positioned( + left: 20, + child: SizedBox( + height: 30, + width: 50, + child: Stack( + clipBehavior: Clip.none, + children: List.generate(containerImages.length, (index) { + return Positioned( + left: index * 22.0, + child: Container( + height: 30, + width: 30, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all(color: Color(0xFF2C3742), width: 1), + ), + child: CircleAvatar( + foregroundImage: AssetImage(containerImages[index]), + ), + ), + ); + }), + ), + ), + ), + ], + ), + ], + ); +} + +Widget popupMenuItemWidget({ + required void Function()? ontap, + required String text, + required String imageIcon, +}) { + return PopupMenuItem( + onTap: ontap, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 12.w), + child: Row( + children: [ + text14w400white(text), + Spacer(), + Image.asset( + imageIcon, + height: 25.h, + width: 25.w, + ) + ], + ), + ), + ); +} String extractFileName(String filePath) { return path.basename(filePath); - -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), - ), - ), - ); - -} \ No newline at end of file +} diff --git a/lib/Common/controller/CommonTextFormField.dart b/lib/Common/controller/CommonTextFormField.dart index 6032017..604af59 100644 --- a/lib/Common/controller/CommonTextFormField.dart +++ b/lib/Common/controller/CommonTextFormField.dart @@ -141,13 +141,13 @@ class _CustomTextFormFieldState extends State { ), style: const TextStyle(color: Colors.white), keyboardType: widget.texttype, - // validator: widget.validator ?? - // (value) { - // if (value == null || value.isEmpty) { - // return "Empty value"; - // } - // return null; - // }, + validator: widget.validator ?? + (value) { + if (value == null || value.isEmpty) { + return "Empty value"; + } + return null; + }, inputFormatters: widget.inputFormatters, onChanged: (value) { widget.onInput?.call(value); diff --git a/lib/Feed Module/Main_Screens/Community/Community.dart b/lib/Feed Module/Main_Screens/Community/Community.dart index d2d4fb6..6c63ab8 100644 --- a/lib/Feed Module/Main_Screens/Community/Community.dart +++ b/lib/Feed Module/Main_Screens/Community/Community.dart @@ -153,6 +153,16 @@ Widget feedTab() { } Widget normalcardtile() { + 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), @@ -284,17 +294,16 @@ Widget normalcardtile() { height: 18.h, ), ), - sizedBoxWidth(5.w) ], ), ), sizedBoxHeight(20.h), GestureDetector( - onTap: () { - Get.toNamed(RouteName.postdetailsScreen); - }, - child: Image.asset('assets/images/png/Rectangle 22.png')), + onTap: () { + Get.toNamed(RouteName.postdetailsScreen); + }, + child: Image.asset('assets/images/png/Rectangle 22.png')), sizedBoxHeight(20.h), Padding( padding: EdgeInsets.symmetric(horizontal: 16.w), @@ -321,11 +330,9 @@ Widget normalcardtile() { text16w400_FCFCFC( "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s . . ."), Row(children: [ - Spacer(), commonGlassContainer( - border: 0.9, - + border: 0.9, width: 30.w, height: 30.h, borderradius: 100, @@ -352,8 +359,7 @@ Widget normalcardtile() { text14w400_FCFCFC('20'), sizedBoxWidth(20.w), commonGlassContainer( - border: 0.9, - + border: 0.9, width: 30.w, height: 30.h, borderradius: 100, @@ -391,61 +397,62 @@ Widget normalcardtile() { Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - ReactionButton( - onReactionChanged: (reaction) { - debugPrint('Selected value: ${reaction?.value}'); - }, - reactions: ?>[ - Reaction( + Obx(() { + return ReactionButton( + onReactionChanged: (reaction) { + updateImage(reaction?.value ?? 'like'); + debugPrint( + 'Selected value: ${reaction?.value}'); + }, + reactions: ?>[ + Reaction( + value: 'like', + previewIcon: _buildReactionsPreviewIcon( + 'assets/images/png/f7_hand-thumbsup.png'), + icon: _buildReactionsIcon( + 'assets/images/png/f7_hand-thumbsup.png'), + ), + Reaction( + value: 'heart', + previewIcon: _buildReactionsPreviewIcon( + 'assets/images/png/heart 2.png'), + icon: _buildReactionsIcon( + 'assets/images/png/heart 2.png'), + ), + Reaction( + value: 'party', + previewIcon: _buildReactionsPreviewIcon( + 'assets/images/png/party-popper 2.png'), + icon: _buildReactionsIcon( + 'assets/images/png/party-popper 2.png'), + ), + ], + // placeholder: Reaction( + // value: 'like', + // icon: _buildReactionsIcon( + // 'assets/images/png/f7_hand-thumbsup.png'), + // ), + selectedReaction: Reaction( value: 'like', - previewIcon: _buildReactionsPreviewIcon( - 'assets/images/png/f7_hand-thumbsup.png'), icon: _buildReactionsIcon( 'assets/images/png/f7_hand-thumbsup.png'), ), - Reaction( - value: 'heart', - previewIcon: _buildReactionsPreviewIcon( - 'assets/images/png/heart 2.png'), - icon: _buildReactionsIcon( - 'assets/images/png/heart 2.png'), - ), - Reaction( - value: 'party', - previewIcon: _buildReactionsPreviewIcon( - 'assets/images/png/party-popper 2.png'), - icon: _buildReactionsIcon( - 'assets/images/png/party-popper 2.png'), - ), - - // Add more reactions here if needed - ], - placeholder: Reaction( - value: 'like', - icon: _buildReactionsIcon( - 'assets/images/png/f7_hand-thumbsup.png'), - ), - selectedReaction: Reaction( - 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', - ), - ), + boxColor: Colors.white, + boxElevation: 5, + boxRadius: 50, + itemsSpacing: 8, + itemScale: 0.3, + itemSize: Size(40.0, 40.0), + boxPadding: EdgeInsets.all(4), + boxAnimationDuration: Duration(milliseconds: 200), + itemAnimationDuration: + Duration(milliseconds: 100), + hoverDuration: Duration(milliseconds: 400), + toggle: false, + direction: ReactionsBoxAlignment.ltr, + child: _buildReactionsIcon(mainImage.value), + ); + }) ], ), ], @@ -482,6 +489,7 @@ Widget normalcardtile() { ), ], ); + } Widget _buildReactionsPreviewIcon(String assetPath) { @@ -505,8 +513,7 @@ Widget _buildReactionsIcon(String assetPath) { Widget tagCardTile() { return commonGlassContainer( - border: 0.9, - + border: 0.9, width: double.infinity, height: 580.h, borderradius: 1, @@ -525,8 +532,7 @@ Widget tagCardTile() { Widget containertile({required String text}) { return commonGlassContainer( - border: 0.9, - + border: 0.9, width: 100.w, height: 30.h, borderradius: 30.r, diff --git a/lib/Feed Module/Main_Screens/Community/CycleScreen.dart b/lib/Feed Module/Main_Screens/Community/CycleScreen.dart index b9434fa..c5fd64d 100644 --- a/lib/Feed Module/Main_Screens/Community/CycleScreen.dart +++ b/lib/Feed Module/Main_Screens/Community/CycleScreen.dart @@ -8,6 +8,7 @@ import 'package:regroup/Utils/Common/CommonAppbar.dart'; import 'package:regroup/Utils/Common/blureffect.dart'; import 'package:regroup/Utils/Common/sized_box.dart'; import 'package:regroup/Utils/texts.dart'; +import 'package:regroup/resources/routes/route_name.dart'; class CycleScreen extends StatefulWidget { const CycleScreen({super.key}); @@ -78,6 +79,17 @@ Widget CyclelatestTab() { } Widget normalcardtile() { + 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), @@ -118,17 +130,107 @@ Widget normalcardtile() { ], ), Spacer(), - Image.asset( - 'assets/images/png/Group 1000004071.png', - width: 4.w, - height: 18.h, + PopupMenuButton( + surfaceTintColor: Color(0xFF222935), + constraints: BoxConstraints.tightFor(width: 176.w), + offset: Offset(0, 50), + color: Color(0xFF222935), + tooltip: "", + itemBuilder: (BuildContext context) => [ + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 12.w), + child: Row( + children: [ + Text( + 'Report Post', + style: TextStyle( + fontSize: 16.sp, + color: Colors.white, + fontWeight: FontWeight.w800, + fontFamily: "Nunito Sans", + ), + ), + Spacer(), + Image.asset( + "assets/images/png/Vector (5).png", + height: 15.h, + width: 15.w, + ) + ], + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 12.w), + child: Row( + children: [ + Text( + 'Share post', + style: TextStyle( + fontSize: 16.sp, + color: Colors.white, + fontWeight: FontWeight.w800, + fontFamily: "Nunito Sans", + ), + ), + Spacer(), + Image.asset( + "assets/images/png/share.png", + height: 20.h, + width: 20.w, + ) + ], + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 12.w), + child: Row( + children: [ + Text( + 'Pin', + style: TextStyle( + fontSize: 16.sp, + color: Colors.white, + fontWeight: FontWeight.w800, + fontFamily: "Nunito Sans", + ), + ), + Spacer(), + Image.asset( + "assets/images/png/f7_pin-fill (2).png", + height: 25.h, + width: 25.w, + ) + ], + ), + ), + ), + ], + child: Image.asset( + 'assets/images/png/Group 1000004071.png', + width: 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), @@ -142,7 +244,11 @@ Widget normalcardtile() { itemBuilder: (context, index) { return Padding( padding: EdgeInsets.only(right: 12.w), - child: containertile(text: titles[index]), + child: GestureDetector( + onTap: () { + Get.toNamed(RouteName.cyclescreen); + }, + child: containertile(text: titles[index])), ); }, ), @@ -151,87 +257,9 @@ Widget normalcardtile() { text16w400_FCFCFC( "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, - customWidget: Center( - child: ReactionButton( - itemSize: Size.fromHeight(20), - onReactionChanged: (Reaction? reaction) { - debugPrint('Selected value: ${reaction?.value}'); - }, - reactions: >[ - Reaction( - value: 'like', - icon: Image.asset( - 'assets/images/png/f7_hand-thumbsup.png', - height: 17.h, - width: 17.w, - ), - ), - ], - ), - ), - ), - commonGlassContainer( - border: 0.9, - - width: 30.w, - height: 30.h, - borderradius: 100, - customWidget: Center( - child: ReactionButton( - itemSize: Size.fromHeight(20), - onReactionChanged: (Reaction? reaction) { - debugPrint('Selected value: ${reaction?.value}'); - }, - reactions: >[ - Reaction( - value: 'Favourite', - icon: Image.asset( - 'assets/images/png/heart 2.png', - height: 17.h, - width: 17.w, - ), - ), - ], - ), - ), - ), - commonGlassContainer( - border: 0.9, - - width: 30.w, - height: 30.h, - borderradius: 100, - customWidget: Center( - child: ReactionButton( - itemSize: Size.fromHeight(20), - onReactionChanged: (Reaction? reaction) { - debugPrint('Selected value: ${reaction?.value}'); - }, - reactions: >[ - Reaction( - 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, - + border: 0.9, width: 30.w, height: 30.h, borderradius: 100, @@ -258,8 +286,7 @@ Widget normalcardtile() { text14w400_FCFCFC('20'), sizedBoxWidth(20.w), commonGlassContainer( - border: 0.9, - + border: 0.9, width: 30.w, height: 30.h, borderradius: 100, @@ -291,13 +318,71 @@ Widget normalcardtile() { children: [ Column( children: [ - GestureDetector( - onTap: () {}, - child: Image.asset( - 'assets/images/png/uiw_like-o.png', - height: 19.h, - width: 19.w, - ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Obx(() { + return ReactionButton( + onReactionChanged: (reaction) { + updateImage(reaction?.value ?? 'like'); + debugPrint( + 'Selected value: ${reaction?.value}'); + }, + reactions: ?>[ + Reaction( + value: 'like', + previewIcon: _buildReactionsPreviewIcon( + 'assets/images/png/f7_hand-thumbsup.png'), + icon: _buildReactionsIcon( + 'assets/images/png/f7_hand-thumbsup.png'), + ), + Reaction( + value: 'heart', + previewIcon: _buildReactionsPreviewIcon( + 'assets/images/png/heart 2.png'), + icon: _buildReactionsIcon( + 'assets/images/png/heart 2.png'), + ), + Reaction( + value: 'party', + previewIcon: _buildReactionsPreviewIcon( + 'assets/images/png/party-popper 2.png'), + icon: _buildReactionsIcon( + 'assets/images/png/party-popper 2.png'), + ), + ], + // placeholder: Reaction( + // value: 'like', + // icon: _buildReactionsIcon( + // 'assets/images/png/f7_hand-thumbsup.png'), + // ), + selectedReaction: Reaction( + 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.0, 40.0), + boxPadding: EdgeInsets.all(4), + boxAnimationDuration: Duration(milliseconds: 200), + itemAnimationDuration: + Duration(milliseconds: 100), + hoverDuration: Duration(milliseconds: 400), + toggle: false, + direction: ReactionsBoxAlignment.ltr, + child: _buildReactionsIcon(mainImage.value), + ); + }) + ], + ), + ], ), sizedBoxHeight(8.h), text11w400_FCFCFC('Like') @@ -333,6 +418,25 @@ Widget normalcardtile() { ); } +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, + ); +} + class CycleTabBar extends StatelessWidget { // Set the desired height diff --git a/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart b/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart index 35e91b6..ffdd57f 100644 --- a/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart +++ b/lib/Feed Module/Main_Screens/Community/PostDetailScreen/View/PostDetailScreen.dart @@ -37,7 +37,7 @@ class _PostDetailsScreenState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - sizedBoxHeight(25.h), + sizedBoxHeight(16.h), postCards(), sizedBoxHeight(30.h), commonDivider(), @@ -102,7 +102,7 @@ class _PostDetailsScreenState extends State { ]; return Column( children: [ - sizedBoxHeight(25.h), + sizedBoxHeight(16.h), Padding( padding: EdgeInsets.symmetric(horizontal: 16.w), child: Row( @@ -296,8 +296,7 @@ class _PostDetailsScreenState extends State { text14w400_FCFCFC('20'), sizedBoxWidth(20.w), commonGlassContainer( - border: 0.9, - + border: 0.9, width: 30.w, height: 30.h, borderradius: 100, @@ -432,8 +431,7 @@ class _PostDetailsScreenState extends State { Widget containertile({required String text}) { return commonGlassContainer( - border: 0.9, - + border: 0.9, width: 100.w, height: 30.h, borderradius: 30.r, diff --git a/lib/Feed Module/Main_Screens/Community/PostScreen.dart b/lib/Feed Module/Main_Screens/Community/PostScreen.dart index 9a85cda..3904229 100644 --- a/lib/Feed Module/Main_Screens/Community/PostScreen.dart +++ b/lib/Feed Module/Main_Screens/Community/PostScreen.dart @@ -50,15 +50,15 @@ class _PostScreenState extends State { children: [ sizedBoxHeight(20.h), text16w400_FCFCFC("Caption"), - sizedBoxHeight(20.h), + sizedBoxHeight(18.h), const CustomTextFormField2( maxlines: 3, ), sizedBoxHeight(25.h), text16w400_FCFCFC("Media"), - sizedBoxHeight(20.h), - commonGlassContainer( border: 0.9, - + sizedBoxHeight(18.h), + commonGlassContainer( + border: 0.9, width: double.infinity, height: 130.h, borderradius: 10.r, @@ -81,6 +81,20 @@ class _PostScreenState extends State { )), sizedBoxHeight(25.h), text16w400_FCFCFC("Tags"), + sizedBoxHeight(18.h), + CustomTextFormField( + suffixIcon: Container( + height: 20.h, + width: 20.w, + child: Center( + child: Image.asset( + "assets/images/png/Frame 58575.png", + height: 20.h, + width: 20.w, + fit: BoxFit.cover, + ), + ), + )), sizedBoxHeight(25.h), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -101,25 +115,24 @@ class _PostScreenState extends State { ), sizedBoxHeight(30.h), text16w400_FCFCFC("CTA Title"), - sizedBoxHeight(25.h), + sizedBoxHeight(18.h), CustomTextFormField(), - sizedBoxHeight(30.h), - text16w400_FCFCFC("Post as"), sizedBoxHeight(25.h), + text16w400_FCFCFC("Post as"), + sizedBoxHeight(18.h), CommonDropdownBtn(hint: '', items: [ 'Active alliance network', 'Fitfam federation', 'The athletic town' ]), - sizedBoxHeight(30.h), - text16w400_FCFCFC("Post as"), sizedBoxHeight(25.h), + text16w400_FCFCFC("Post in"), + sizedBoxHeight(18.h), CommonDropdownBtn(hint: '', items: [ 'Active alliance network', 'Fitfam federation', 'The athletic town' ]), - sizedBoxHeight(100.h), ]), ), @@ -127,8 +140,6 @@ class _PostScreenState extends State { ])); } - - Widget containerTile({ required String text, required int index, diff --git a/lib/Feed Module/sidemenu/Community/Announcements/View/Announcements.dart b/lib/Feed Module/sidemenu/Community/Announcements/View/Announcements.dart new file mode 100644 index 0000000..e48484c --- /dev/null +++ b/lib/Feed Module/sidemenu/Community/Announcements/View/Announcements.dart @@ -0,0 +1,114 @@ +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 Announcements extends StatefulWidget { + const Announcements({super.key}); + + @override + State createState() => _AnnouncementsState(); +} + +class _AnnouncementsState extends State { + List announcement = [ + { + "imagepath": "assets/images/png/Ellipse 52.png", + "title": "Ryan Dorwat", + "date": "11-04-2024", + "subtitle": + "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s." + }, + { + "imagepath": "assets/images/png/Ellipse 52.png", + "title": "Ryan Dorwat", + "date": "11-04-2024", + "subtitle": + "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s." + }, + { + "imagepath": "assets/images/png/Ellipse 52.png", + "title": "Ryan Dorwat", + "date": "11-04-2024", + "subtitle": + "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s." + }, + ]; + + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "Announcements", + ), + 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: [ + sizedBoxHeight(20.h), + Column( + children: List.generate(announcement.length, (index) { + return Column( + children: [ + announcementWidget( + imagepath: announcement[index]["imagepath"], + title: announcement[index]["title"], + date: announcement[index]["date"], + subtitle: announcement[index]["subtitle"]), + sizedBoxHeight(16.h) + ], + ); + }), + ) + ])))) + ])); + } +} + +Widget announcementWidget({ + required String imagepath, + required String title, + required String date, + required String subtitle, +}) { + return commonGlassContainer( + width: double.infinity, + height: 120.h, + borderradius: 10.r, + customWidget: Padding( + padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 12.h), + child: Column( + children: [ + Row( + children: [ + CircleAvatar( + radius: 15.r, + foregroundImage: AssetImage(imagepath), + ), + sizedBoxWidth(12.w), + text16w700_FCFCFC(title), + sizedBoxWidth(10.w), + text12w400_FCFCFC_blur(date), + ], + ), + sizedBoxHeight(16.w), + text14w400_FCFCFCblur(subtitle), + ], + ), + ), + border: 1); +} diff --git a/lib/Feed Module/sidemenu/Community/Group/view/Group.dart b/lib/Feed Module/sidemenu/Community/Group/view/Group.dart new file mode 100644 index 0000000..b60a26e --- /dev/null +++ b/lib/Feed Module/sidemenu/Community/Group/view/Group.dart @@ -0,0 +1,249 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:regroup/Common/CommonGlassmorphism.dart'; +import 'package:regroup/Common/CommonWidget.dart'; +import 'package:regroup/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 Group extends StatefulWidget { + const Group({super.key}); + + @override + State createState() => _GroupState(); +} + +class _GroupState extends State { + List GroupData = [ + { + "imagepath": "assets/images/png/img45.png", + "title": "Cardio crusaders circle", + "subtitle": "Iron titans fitness crew", + "members": "7 members" + }, + { + "imagepath": "assets/images/png/Rectangle 25.png", + "title": "Strength squad syndicate", + "subtitle": "Iron titans fitness crew", + "members": "7 members" + }, + { + "imagepath": "assets/images/png/img2.png", + "title": "Flexibility faction force", + "subtitle": "Iron titans fitness crew", + "members": "7 members" + }, + ]; + + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "Groups", + ), + body: Stack(children: [ + const CommonBlurLeftRed(), + const CommonBlurRightRed(), + const CommonBlurLeft(), + const CommonBlurRight(), + Positioned.fill( + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 16), + child: SingleChildScrollView( + child: Column( + children: [ + Column( + children: List.generate(GroupData.length, (index) { + return groupCard( + imagepath: GroupData[index]["imagepath"] ?? '', + title: GroupData[index]["title"] ?? '', + ontap: () {}, + subtitle: GroupData[index]["subtitle"], + members: GroupData[index]["members"] ?? ''); + }), + ) + ], + )))) + ])); + } + + Widget groupCard({ + required String imagepath, + required String title, + required void Function()? ontap, + required String members, + required String subtitle, + }) { + return Padding( + padding: EdgeInsets.only(bottom: 25.h), + child: GestureDetector( + onTap: ontap, + child: commonGlassContainer( + border: 0.9, + width: double.infinity, + height: 162.h, + borderradius: 10.r, + customWidget: Padding( + padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + height: 65.h, + width: 65.h, + decoration: BoxDecoration( + shape: BoxShape.circle, + // color: Colors.amber, + ), + child: + // Center( + // child: Image.asset(imagepath, fit: BoxFit.cover)), + + CircleAvatar( + backgroundImage: AssetImage( + imagepath, + ), + ), + ), + sizedBoxWidth(13.w), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text18w700_FCFCFC(title), + sizedBoxHeight(10.h), + Row( + children: [ + Image.asset( + 'assets/images/png/community 1 (traced).png', + width: 18.w, + height: 18.h, + ), + sizedBoxWidth(4.w), + text14w400_FCFCFCblur(subtitle) + ], + ), + ], + ), + Spacer(), + PopupMenuButton( + surfaceTintColor: Color(0xFF222935), + constraints: BoxConstraints.tightFor(width: 200.w), + offset: Offset(0, 30), + color: Color(0xFF222935), + tooltip: "", + itemBuilder: (BuildContext context) => + [ + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: + EdgeInsets.symmetric(horizontal: 8.w), + child: Row( + children: [ + text14w400_FCFCFC("Mute community"), + Spacer(), + Image.asset( + "assets/images/png/Black (1).png", + height: 18.h, + width: 18.w, + ) + ], + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: + EdgeInsets.symmetric(horizontal: 8.w), + child: Row( + children: [ + text14w400_FCFCFC("Hide post"), + Spacer(), + Image.asset( + "assets/images/png/mingcute_eye-close-line.png", + height: 20.h, + width: 20.w, + ) + ], + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: + EdgeInsets.symmetric(horizontal: 8.w), + child: Row( + children: [ + text14w400_FCFCFC("Pin"), + Spacer(), + Image.asset( + "assets/images/png/f7_pin-fill (2).png", + height: 25.h, + width: 25.w, + ) + ], + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: + EdgeInsets.symmetric(horizontal: 8.w), + child: Row( + children: [ + text14w400_FCFCFC("Leave community"), + Spacer(), + Image.asset( + "assets/images/png/logout 1 (traced).png", + height: 18.h, + width: 18.w, + ) + ], + ), + ), + ), + ], + child: Image.asset( + "assets/images/png/Group 1000004071.png", + height: 13.h, + width: 3.w, + )), + ], + ), + sizedBoxHeight(16.h), + commonDivider(), + sizedBoxHeight(10.h), + Row( + children: [ + stackContainers( + number: "+2", + containerImages: [ + "assets/images/png/cimg3.png", + "assets/images/png/cimg2.png", + "assets/images/png/cimg3.png", + "assets/images/png/cimg2.png", + ], + ), + sizedBoxWidth(95.w), + text12w400_FCFCFC_blur(members), + ], + ) + ], + ), + )), + ), + ); + } +} diff --git a/lib/Feed Module/sidemenu/Community/MyCommunity/Community_Info-Page/view/communityInfo.dart b/lib/Feed Module/sidemenu/Community/MyCommunity/Community_Info-Page/view/communityInfo.dart new file mode 100644 index 0000000..53fc3db --- /dev/null +++ b/lib/Feed Module/sidemenu/Community/MyCommunity/Community_Info-Page/view/communityInfo.dart @@ -0,0 +1,134 @@ +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 CommunityInfo extends StatefulWidget { + const CommunityInfo({super.key}); + + @override + State createState() => _CommunityInfoState(); +} + +class _CommunityInfoState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "Community info page", + ), + body: Stack(children: [ + const CommonBlurLeftRed(), + const CommonBlurRightRed(), + const CommonBlurLeft(), + const CommonBlurRight(), + Positioned.fill( + child: SingleChildScrollView( + child: Column(children: [ + Stack(clipBehavior: Clip.none, children: [ + GestureDetector( + onTap: () { + Get.toNamed(RouteName.communityInfo); + }, + child: 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(50.h), + Padding( + padding: EdgeInsets.symmetric(horizontal: 16.w), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text20w700_FCFCFC("Active alliance network"), + sizedBoxHeight(20.h), + commonDivider(), + sizedBoxHeight(20.h), + text16w400_FCFCFC("About community"), + sizedBoxHeight(20.h), + text14w400_FCFCFCblur( + "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."), + sizedBoxHeight(30.h), + Row( + children: [ + commonGlassContainer( + width: 35.w, + height: 35.h, + borderradius: 100.r, + customWidget: Center( + child: Image.asset( + "assets/images/png/Group 58645.png", + height: 17.h, + width: 13.w, + ), + ), + border: 0.5), + sizedBoxWidth(8.w), + text16w400_white("Elm street london, United Kingdom") + ], + ), + sizedBoxHeight(15.h), + Row( + children: [ + commonGlassContainer( + width: 35.w, + height: 35.h, + borderradius: 100.r, + customWidget: Center( + child: Image.asset( + "assets/images/png/puzzle-pieces 1 (traced).png", + height: 19.h, + width: 20.w, + ), + ), + border: 0.5), + sizedBoxWidth(8.w), + text16w400_white("Sports") + ], + ) + ]), + ) + ]))) + ])); + } +} diff --git a/lib/Feed Module/sidemenu/Community/MyCommunity/View/CommunityDetails.dart b/lib/Feed Module/sidemenu/Community/MyCommunity/View/CommunityDetails.dart new file mode 100644 index 0000000..3faec33 --- /dev/null +++ b/lib/Feed Module/sidemenu/Community/MyCommunity/View/CommunityDetails.dart @@ -0,0 +1,757 @@ +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/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 CommunityDetails extends StatefulWidget { + const CommunityDetails({super.key}); + + @override + State createState() => _CommunityDetailsState(); +} + +class _CommunityDetailsState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "", + customActionWidget: PopupMenuButton( + surfaceTintColor: Color(0xFF222935), + constraints: BoxConstraints.tightFor(width: 180.w), + offset: Offset(0, 20), + color: Color(0xFF222935), + tooltip: "", + itemBuilder: (BuildContext context) => [ + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 8.w), + child: Row( + children: [ + text14w400white("Invite"), + Spacer(), + Image.asset( + "assets/images/png/uiw_user-add.png", + height: 15.h, + width: 15.w, + ) + ], + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 8.w), + child: Row( + children: [ + text14w400white("Share"), + Spacer(), + Image.asset( + "assets/images/png/share.png", + height: 20.h, + width: 20.w, + ) + ], + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 8.w), + child: Row( + children: [ + text14w400white("Search"), + Spacer(), + Image.asset( + "assets/images/png/Frame 58575.png", + height: 18.h, + width: 18.w, + ) + ], + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 8.w), + child: Row( + children: [ + text14w400white("Mute notification"), + Spacer(), + Image.asset( + "assets/images/png/Black1233.png", + height: 16.h, + width: 16.w, + ) + ], + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + onTap: () {}, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 8.w), + child: Row( + children: [ + text14w400white("Pin"), + 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', + 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: [ + GestureDetector( + onTap: () { + Get.toNamed(RouteName.communityInfo); + }, + child: 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( + number: "+2", + containerImages: [ + "assets/images/png/cimg3.png", + "assets/images/png/cimg2.png", + "assets/images/png/cimg3.png", + "assets/images/png/cimg2.png", + ], + ), + 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), + GestureDetector( + onTap: () { + Get.toNamed(RouteName.group); + }, + child: 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), + GestureDetector( + onTap: () { + Get.toNamed(RouteName.announcement); + }, + child: 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: [ + sizedBoxHeight(20.h), + normalcardtile(), + ], + ); + } + + Widget eventstab() { + return Column( + children: [], + ); + } + + Widget normalcardtile() { + final List titles = [ + 'Race', + 'Swimming', + '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) => [ + 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( + itemSize: Size.fromHeight(20), + onReactionChanged: (Reaction? reaction) { + debugPrint('Selected value: ${reaction?.value}'); + }, + reactions: >[ + Reaction( + 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( + itemSize: Size.fromHeight(20), + onReactionChanged: (Reaction? reaction) { + debugPrint('Selected value: ${reaction?.value}'); + }, + reactions: >[ + Reaction( + 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( + onReactionChanged: (reaction) { + debugPrint( + 'Selected value: ${reaction?.value}'); + }, + reactions: ?>[ + Reaction( + value: 'like', + previewIcon: _buildReactionsPreviewIcon( + 'assets/images/png/f7_hand-thumbsup.png'), + icon: _buildReactionsIcon( + 'assets/images/png/f7_hand-thumbsup.png'), + ), + Reaction( + value: 'heart', + previewIcon: _buildReactionsPreviewIcon( + 'assets/images/png/heart 2.png'), + icon: _buildReactionsIcon( + 'assets/images/png/heart 2.png'), + ), + Reaction( + value: 'party', + previewIcon: _buildReactionsPreviewIcon( + 'assets/images/png/party-popper 2.png'), + icon: _buildReactionsIcon( + 'assets/images/png/party-popper 2.png'), + ), + + // Add more reactions here if needed + ], + placeholder: Reaction( + value: 'like', + icon: _buildReactionsIcon( + 'assets/images/png/f7_hand-thumbsup.png'), + ), + selectedReaction: Reaction( + 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 _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, + ); + } + + 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)), + )); + } +} + +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', + ), + ]); + } +} diff --git a/lib/Feed Module/sidemenu/MyCommunity/View/MyCommunity.dart b/lib/Feed Module/sidemenu/Community/MyCommunity/View/MyCommunity.dart similarity index 85% rename from lib/Feed Module/sidemenu/MyCommunity/View/MyCommunity.dart rename to lib/Feed Module/sidemenu/Community/MyCommunity/View/MyCommunity.dart index c1f3bdd..9ab8fbf 100644 --- a/lib/Feed Module/sidemenu/MyCommunity/View/MyCommunity.dart +++ b/lib/Feed Module/sidemenu/Community/MyCommunity/View/MyCommunity.dart @@ -19,21 +19,28 @@ class MyCommunity extends StatefulWidget { class _MyCommunityState extends State { List JoinedcommunityData = [ { - "imagePath": "assets/images/png/Ellipse 34.png", + "imagePath": "assets/images/png/img2.png", "text": "Active alliance network", + "members": "7 members" }, { - "imagePath": "assets/images/png/Ellipse 35.png", - "text": "FitFam federation" + "imagePath": "assets/images/png/img34.png", + "text": "FitFam federation", + "members": "7 members" }, ]; List RequestcommunityData = [ { - "imagePath": "assets/images/png/Ellipse 36.png", + "imagePath": "assets/images/png/img45.png", "text": "The athletic town", + "members": "7 members" + }, + { + "imagePath": "assets/images/png/img2.png", + "text": "Football fever", + "members": "7 members" }, - {"imagePath": "assets/images/png/Ellipse 37.png", "text": "Football fever"}, ]; @override @@ -96,7 +103,9 @@ class _MyCommunityState extends State { }, imagepath: JoinedcommunityData[index] ['imagePath'], - title: JoinedcommunityData[index]['text']); + title: JoinedcommunityData[index]['text'], + members: JoinedcommunityData[index] + ['members']); }), ), text18w700_FCFCFC("Requested communities"), @@ -108,7 +117,9 @@ class _MyCommunityState extends State { ontap: () {}, imagepath: RequestcommunityData[index] ['imagePath'], - title: RequestcommunityData[index]['text']); + title: RequestcommunityData[index]['text'], + members: RequestcommunityData[index] + ['members']); }), ) ]), @@ -120,16 +131,16 @@ class _MyCommunityState extends State { required String imagepath, required String title, required void Function()? ontap, + required String members, }) { return Padding( padding: EdgeInsets.only(bottom: 25.h), child: GestureDetector( onTap: ontap, child: commonGlassContainer( - border: 0.9, - + border: 0.9, width: double.infinity, - height: 157.h, + height: 162.h, borderradius: 10.r, customWidget: Padding( padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h), @@ -145,14 +156,16 @@ class _MyCommunityState extends State { shape: BoxShape.circle, // color: Colors.amber, ), - child: Center( - child: Image.asset(imagepath, fit: BoxFit.cover)), + child: + // Center( + // child: Image.asset(imagepath, fit: BoxFit.cover)), + + CircleAvatar( + backgroundImage: AssetImage( + imagepath, + ), + ), ), - // CircleAvatar( - // foregroundImage: AssetImage( - // imagepath, - // ), - // radius: 32.5.r), sizedBoxWidth(13.w), Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -162,8 +175,7 @@ class _MyCommunityState extends State { Row( children: [ commonGlassContainer( - border: 0.9, - + border: 0.9, width: 30.w, height: 30.h, borderradius: 100.r, @@ -274,10 +286,27 @@ class _MyCommunityState extends State { ), sizedBoxHeight(16.h), commonDivider(), + sizedBoxHeight(10.h), + Row( + children: [ + stackContainers( + number: "+2", + containerImages: [ + "assets/images/png/cimg3.png", + "assets/images/png/cimg2.png", + "assets/images/png/cimg3.png", + "assets/images/png/cimg2.png", + ], + ), + sizedBoxWidth(95.w), + text12w400_FCFCFC_blur(members), + ], + ) ], ), )), ), ); } + } diff --git a/lib/Feed Module/sidemenu/MyCommunity/View/CommunityDetails.dart b/lib/Feed Module/sidemenu/MyCommunity/View/CommunityDetails.dart deleted file mode 100644 index f0bf8ab..0000000 --- a/lib/Feed Module/sidemenu/MyCommunity/View/CommunityDetails.dart +++ /dev/null @@ -1,318 +0,0 @@ -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 createState() => _CommunityDetailsState(); -} - -class _CommunityDetailsState extends State { - @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', - ), - ]); - } -} diff --git a/lib/Utils/Common/CustomTextformfield.dart b/lib/Utils/Common/CustomTextformfield.dart index 73b4be9..b06b062 100644 --- a/lib/Utils/Common/CustomTextformfield.dart +++ b/lib/Utils/Common/CustomTextformfield.dart @@ -1,14 +1,11 @@ // ignore_for_file: must_be_immutable import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:flutter_svg/flutter_svg.dart'; import 'package:glassmorphism/glassmorphism.dart'; -import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart'; class CustomTextFormField extends StatefulWidget { const CustomTextFormField({ @@ -23,12 +20,10 @@ class CustomTextFormField extends StatefulWidget { this.value, this.readonly = false, this.enabled = true, - - this.textCapital = false, - this.isInputPassword = false, + // this.textCapital = false, this.outlineColor = Colors.black, // this.bgColor = const Color(0xFFFFF3E4), - this.prefixIconColor = Colors.white, + // this.prefixIconColor = Colors.white, this.maxlines = 1, @@ -112,7 +107,6 @@ class _CustomTextFormFieldState extends State { autovalidateMode: AutovalidateMode.onUserInteraction, obscureText: obscureText, controller: widget.textEditingController, - decoration: InputDecoration( hintText: widget.hintText, prefixIconColor: widget.prefixIconColor, @@ -160,13 +154,13 @@ class _CustomTextFormFieldState extends State { ), style: const TextStyle(color: Colors.white), keyboardType: widget.texttype, - // validator: widget.validator ?? - // (value) { - // if (value == null || value.isEmpty) { - // return "Empty value"; - // } - // return null; - // }, + validator: widget.validator ?? + (value) { + if (value == null || value.isEmpty) { + return "Empty value"; + } + return null; + }, inputFormatters: widget.inputFormatters, onChanged: (value) { widget.onInput?.call(value); @@ -266,7 +260,6 @@ class _CustomTextFormField2State extends State { autovalidateMode: AutovalidateMode.onUserInteraction, obscureText: obscureText, controller: widget.textEditingController, - decoration: InputDecoration( hintText: widget.hintText, prefixIconColor: widget.prefixIconColor, @@ -314,13 +307,13 @@ class _CustomTextFormField2State extends State { ), style: const TextStyle(color: Colors.white), keyboardType: widget.texttype, - // validator: widget.validator ?? - // (value) { - // if (value == null || value.isEmpty) { - // return "Empty value"; - // } - // return null; - // }, + validator: widget.validator ?? + (value) { + if (value == null || value.isEmpty) { + return "Empty value"; + } + return null; + }, inputFormatters: widget.inputFormatters, onChanged: (value) { widget.onInput?.call(value); diff --git a/lib/Utils/texts.dart b/lib/Utils/texts.dart index 20beea2..7e60dd7 100644 --- a/lib/Utils/texts.dart +++ b/lib/Utils/texts.dart @@ -215,6 +215,17 @@ Widget text16w400_FCFCFC(String text) { ); } +Widget text16w700_FCFCFC(String text) { + return Text( + text, + style: TextStyle( + fontSize: 16.sp, + color: Color(0xFFFCFCFC), + fontFamily: 'Helvetica', + fontWeight: FontWeight.w700), + ); +} + Widget text16w400_white(String text) { return Text( text, diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart index 51adf65..c27ffe4 100644 --- a/lib/resources/routes/route_name.dart +++ b/lib/resources/routes/route_name.dart @@ -18,6 +18,12 @@ class RouteName { static const String postdetailsScreen = '/postdetailsScreen'; static const String mycommunity = '/mycommunity'; static const String communityDetails = '/communityDetails'; + static const String communityInfo = '/communityInfo'; + static const String announcement = '/announcement'; + static const String group = '/group'; + + + diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart index 6818dcc..e4ac2ea 100644 --- a/lib/resources/routes/routes.dart +++ b/lib/resources/routes/routes.dart @@ -7,8 +7,11 @@ 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/Community/Announcements/View/Announcements.dart'; +import 'package:regroup/Feed%20Module/sidemenu/Community/Group/view/Group.dart'; +import 'package:regroup/Feed%20Module/sidemenu/Community/MyCommunity/Community_Info-Page/view/communityInfo.dart'; +import 'package:regroup/Feed%20Module/sidemenu/Community/MyCommunity/View/CommunityDetails.dart'; +import 'package:regroup/Feed%20Module/sidemenu/Community/MyCommunity/View/MyCommunity.dart'; import 'package:regroup/Feed%20Module/sidemenu/SavedPosts/SavedPosts.dart'; import 'package:regroup/Feed%20Module/sidemenu/sidemenu.dart'; @@ -94,6 +97,18 @@ class AppRoutes { name: RouteName.communityDetails, page: () => const CommunityDetails(), ), + GetPage( + name: RouteName.communityInfo, + page: () => const CommunityInfo(), + ), + GetPage( + name: RouteName.announcement, + page: () => const Announcements(), + ), + GetPage( + name: RouteName.group, + page: () => const Group(), + ), ]; }