diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..9022ff8 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,25 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Regroup_flutter", + "request": "launch", + "type": "dart" + }, + { + "name": "Regroup_flutter (profile mode)", + "request": "launch", + "type": "dart", + "flutterMode": "profile" + }, + { + "name": "Regroup_flutter (release mode)", + "request": "launch", + "type": "dart", + "flutterMode": "release" + } + ] +} \ No newline at end of file diff --git a/assets/images/png/Group122.png b/assets/images/png/Group122.png new file mode 100644 index 0000000..feb1108 Binary files /dev/null and b/assets/images/png/Group122.png differ diff --git a/assets/images/png/Rectangle 45.png b/assets/images/png/Rectangle 45.png new file mode 100644 index 0000000..ee0750f Binary files /dev/null and b/assets/images/png/Rectangle 45.png differ diff --git a/assets/images/png/Rectangle299.png b/assets/images/png/Rectangle299.png new file mode 100644 index 0000000..7913062 Binary files /dev/null and b/assets/images/png/Rectangle299.png differ diff --git a/assets/images/png/Red.png b/assets/images/png/Red.png new file mode 100644 index 0000000..c5a506b Binary files /dev/null and b/assets/images/png/Red.png differ diff --git a/assets/images/png/Vector (4).png b/assets/images/png/Vector (4).png new file mode 100644 index 0000000..7e3319e Binary files /dev/null and b/assets/images/png/Vector (4).png differ diff --git a/assets/images/png/Vector (5)12.png b/assets/images/png/Vector (5)12.png new file mode 100644 index 0000000..f3c74b3 Binary files /dev/null and b/assets/images/png/Vector (5)12.png differ diff --git a/assets/images/png/Vector (5)22.png b/assets/images/png/Vector (5)22.png new file mode 100644 index 0000000..b8e43a9 Binary files /dev/null and b/assets/images/png/Vector (5)22.png differ diff --git a/assets/images/png/Vector (5)3343.png b/assets/images/png/Vector (5)3343.png new file mode 100644 index 0000000..5d88061 Binary files /dev/null and b/assets/images/png/Vector (5)3343.png differ diff --git a/assets/images/png/Vector522.png b/assets/images/png/Vector522.png new file mode 100644 index 0000000..1c0daa5 Binary files /dev/null and b/assets/images/png/Vector522.png differ diff --git a/assets/images/png/Vector536.png b/assets/images/png/Vector536.png new file mode 100644 index 0000000..a0a3839 Binary files /dev/null and b/assets/images/png/Vector536.png differ diff --git a/assets/images/png/alarm 1 (traced).png b/assets/images/png/alarm 1 (traced).png new file mode 100644 index 0000000..54eae31 Binary files /dev/null and b/assets/images/png/alarm 1 (traced).png differ diff --git a/assets/images/png/blurcalender.png b/assets/images/png/blurcalender.png new file mode 100644 index 0000000..7dd6543 Binary files /dev/null and b/assets/images/png/blurcalender.png differ diff --git a/lib/Common/CommonDropDown.dart b/lib/Common/CommonDropDown.dart index 5eb02c8..9f1769f 100644 --- a/lib/Common/CommonDropDown.dart +++ b/lib/Common/CommonDropDown.dart @@ -11,22 +11,23 @@ import 'package:regroup/Common/CommonWidget.dart'; import 'package:regroup/Utils/Common/sized_box.dart'; class CommonDropdownBtn extends StatefulWidget { - const CommonDropdownBtn({ + CommonDropdownBtn({ required this.hint, required this.items, this.isEnabled = true, - this.islocation = false, this.textcolor = false, this.onItemSelected, + this.leadingImage, bool showAddButton = false, super.key, }); + final String hint; final List? items; final void Function(String)? onItemSelected; final bool isEnabled; - final bool islocation; final bool textcolor; + final Widget? leadingImage; @override State createState() => _CommonDropdownBtnState(); @@ -38,17 +39,8 @@ class _CommonDropdownBtnState extends State { border: Border.all(color: Colors.white), borderRadius: BorderRadius.circular(30.r), ); + late String label; - final List items = [ - 'Item1', - 'Item2', - 'Item3', - 'Item4', - 'Item5', - 'Item6', - 'Item7', - 'Item8', - ]; String? selectedValue; @override @@ -56,33 +48,20 @@ class _CommonDropdownBtnState extends State { return DropdownButtonHideUnderline( child: Row( children: [ - widget.islocation - ? Padding( - padding: EdgeInsets.only(left: 4.w), - child: SvgPicture.asset("assets/svg/location.svg"), - ) - : SizedBox(), Expanded( child: DropdownButton2( isExpanded: true, hint: Row( children: [ - // SizedBox( - // width: 4, - // ), - // widget.islocation - // ? SvgPicture.asset("assets/svg/location.svg") - // : SizedBox(), - - // widget.islocation ? sizedBoxWidth(4.w) : SizedBox(), - + if (widget.leadingImage != null) widget.leadingImage!, + SizedBox( + width: 8.w), // Spacing between the image and the text Expanded( child: Text( widget.hint, style: TextStyle( fontSize: 12.sp, fontFamily: 'hiragino', - //fontWeight: FontWeight.bold, color: Colors.white, fontWeight: FontWeight.w500), overflow: TextOverflow.ellipsis, @@ -106,11 +85,16 @@ class _CommonDropdownBtnState extends State { )) .toList(), value: selectedValue, - onChanged: (value) { - setState(() { - selectedValue = value as String; - }); - }, + onChanged: widget.isEnabled + ? (value) { + setState(() { + selectedValue = value as String; + if (widget.onItemSelected != null) { + widget.onItemSelected!(selectedValue!); + } + }); + } + : null, buttonStyleData: ButtonStyleData( height: 50.h, width: double.infinity, @@ -147,16 +131,11 @@ class _CommonDropdownBtnState extends State { maxHeight: 200, width: 350, padding: null, - // padding: EdgeInsets.symmetric(horizontal: 16.w), decoration: BoxDecoration( borderRadius: BorderRadius.circular(30), - // border: Border.all( - // color: Color(0xffCCCCCC), - // ), color: Color(0xFF222935), ), elevation: 0, - // offset: const Offset(-20, 0), scrollbarTheme: ScrollbarThemeData( radius: const Radius.circular(40), thickness: MaterialStateProperty.all(6), @@ -181,6 +160,7 @@ class CommonDropdownradioBtn extends StatefulWidget { required this.items, this.textcolor = false, this.onItemSelected, + this.showOtherOption = false, super.key, }); @@ -188,13 +168,16 @@ class CommonDropdownradioBtn extends StatefulWidget { final List? items; final void Function(String)? onItemSelected; final bool textcolor; + final bool showOtherOption; @override State createState() => _CommonDropdownradioBtnState(); } class _CommonDropdownradioBtnState extends State { - var selectedValue = ''.obs; + final RxString selectedValue = RxString(''); + final TextEditingController _textController = TextEditingController(); + @override Widget build(BuildContext context) { return DropdownButtonHideUnderline( @@ -207,7 +190,7 @@ class _CommonDropdownradioBtnState extends State { child: Text( selectedValue.isEmpty ? widget.hint : selectedValue.value, style: TextStyle( - fontSize: 12.sp, + fontSize: 12, fontFamily: 'hiragino', color: Colors.white, fontWeight: FontWeight.w500, @@ -218,82 +201,35 @@ class _CommonDropdownradioBtnState extends State { ], ); }), - items: widget.items!.asMap().entries.map((entry) { - int index = entry.key; - String item = entry.value; - return DropdownMenuItem( - value: item, - child: Column( - children: [ - InkWell( - onTap: () { - selectedValue.value = item; - if (widget.onItemSelected != null) { - widget.onItemSelected!(item); - } - }, - child: Row( - children: [ - Obx(() { - return Radio( - value: item, - activeColor: Colors.white, - groupValue: selectedValue.value, - onChanged: (value) { - selectedValue.value = value!; - if (widget.onItemSelected != null) { - widget.onItemSelected!(value); - } - }, - ); - }), - SizedBox(width: 8.w), - Text( - item, - style: TextStyle( - color: Colors.white, - fontSize: 16.sp, - fontFamily: 'hiragino', - fontWeight: FontWeight.w500, - ), - overflow: TextOverflow.ellipsis, - ), - ], - ), - ), - if (index != widget.items!.length - 1) commonDivider(), - ], - ), - ); - }).toList(), + items: _buildDropdownMenuItems(), value: null, onChanged: (value) {}, selectedItemBuilder: (BuildContext context) { return widget.items!.map((item) { - return Row( - children: [ - Expanded( - child: Obx(() { - return Text( + return Obx(() { + return Row( + children: [ + Expanded( + child: Text( selectedValue.value, style: TextStyle( color: Colors.white, - fontSize: 16.sp, + fontSize: 16, fontFamily: 'hiragino', fontWeight: FontWeight.w500, ), overflow: TextOverflow.ellipsis, - ); - }), - ), - ], - ); + ), + ), + ], + ); + }); }).toList(); }, buttonStyleData: ButtonStyleData( - height: 50.h, + height: 50, width: double.infinity, - padding: EdgeInsets.only(left: 12.w, right: 4.w), + padding: EdgeInsets.only(left: 12, right: 4), decoration: BoxDecoration( gradient: LinearGradient( begin: Alignment.topLeft, @@ -304,7 +240,7 @@ class _CommonDropdownradioBtnState extends State { ], stops: [0.1, 1], ), - borderRadius: BorderRadius.circular(30.r), + borderRadius: BorderRadius.circular(30), border: Border.all( color: Color(0xff434A53), ), @@ -316,7 +252,7 @@ class _CommonDropdownradioBtnState extends State { icon: Icon( Icons.keyboard_arrow_down, ), - iconSize: 23.sp, + iconSize: 23, iconEnabledColor: Color(0xFFFFFFFF), iconDisabledColor: Color(0xFFFFFFFF), ), @@ -336,12 +272,143 @@ class _CommonDropdownradioBtnState extends State { ), ), menuItemStyleData: const MenuItemStyleData( - height: 50, + height: 60, padding: EdgeInsets.only(left: 14, right: 14), ), ), ); } + + List> _buildDropdownMenuItems() { + List> items = + widget.items!.asMap().entries.map((entry) { + int index = entry.key; + String item = entry.value; + return DropdownMenuItem( + value: item, + child: InkWell( + onTap: () { + selectedValue.value = item; + _textController.clear(); + if (widget.onItemSelected != null) { + widget.onItemSelected!(item); + } + }, + child: Column( + children: [ + Row( + children: [ + Obx(() { + return Radio( + value: item, + activeColor: Colors.white, + groupValue: selectedValue.value, + onChanged: (value) { + selectedValue.value = value!; + _textController.clear(); + if (widget.onItemSelected != null) { + widget.onItemSelected!(value); + } + }, + ); + }), + SizedBox(width: 8), + Text( + item, + style: TextStyle( + color: Colors.white, + fontSize: 16, + fontFamily: 'hiragino', + fontWeight: FontWeight.w500, + ), + overflow: TextOverflow.ellipsis, + ), + ], + ), + SizedBox(height: 5.h), + if (index != widget.items!.length - 1) commonDivider() + ], + ), + ), + ); + }).toList(); + if (widget.showOtherOption) { + items.add( + DropdownMenuItem( + value: _textController.text, + child: Column( + children: [ + commonDivider(), + Row( + children: [ + Obx(() { + return Radio( + value: _textController.text, + activeColor: Colors.white, + groupValue: selectedValue.value, + onChanged: (value) { + selectedValue.value = value!; + _textController.clear(); + if (widget.onItemSelected != null) { + widget.onItemSelected!(value); + } + }, + ); + }), + SizedBox(width: 8), + Text( + "Other: ", + style: TextStyle( + color: Colors.white, + fontSize: 16, + fontFamily: 'hiragino', + fontWeight: FontWeight.w500, + ), + overflow: TextOverflow.ellipsis, + ), + Expanded( + child: TextField( + controller: _textController, + style: TextStyle( + color: Colors.white, + fontSize: 16, + fontFamily: 'hiragino', + fontWeight: FontWeight.w500, + ), + decoration: InputDecoration( + hintText: '', + hintStyle: TextStyle(color: Colors.white70), + border: UnderlineInputBorder()), + ), + ), + TextButton( + onPressed: () { + if (_textController.text.trim().isNotEmpty) { + selectedValue.value = _textController.text; + if (widget.onItemSelected != null) { + widget.onItemSelected!(_textController.text); + } + } + }, + child: Text( + 'OK', + style: TextStyle( + color: Colors.white, + fontSize: 16, + fontFamily: 'hiragino', + fontWeight: FontWeight.w500, + ), + ), + ), + ], + ), + ], + ), + ), + ); + } + return items; + } } class CommonDropdownCheckbox extends StatefulWidget { diff --git a/lib/Common/controller/MainController.dart b/lib/Common/controller/MainController.dart index 6832ca5..dae3b17 100644 --- a/lib/Common/controller/MainController.dart +++ b/lib/Common/controller/MainController.dart @@ -1,4 +1,5 @@ import 'package:get/get.dart'; +import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/CalenderTab.dart'; import 'package:regroup/Feed%20Module/Main_Screens/Community/Community.dart'; class MainController extends GetxController { @@ -7,7 +8,7 @@ class MainController extends GetxController { var currentTab = [ const CommunityScreen(), const CommunityScreen(), - const CommunityScreen(), + const CalenderTab(), const CommunityScreen(), const CommunityScreen(), ].obs; diff --git a/lib/Feed Module/Main_Screens/CalenderTab/AddEvent/AddEvent.dart b/lib/Feed Module/Main_Screens/CalenderTab/AddEvent/AddEvent.dart new file mode 100644 index 0000000..d874545 --- /dev/null +++ b/lib/Feed Module/Main_Screens/CalenderTab/AddEvent/AddEvent.dart @@ -0,0 +1,432 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:regroup/Common/CommonButton.dart'; +import 'package:regroup/Common/CommonDropDown.dart'; +import 'package:regroup/Common/CommonGlassmorphism.dart'; +import 'package:regroup/Common/controller/CommonTextFormField.dart'; +import 'package:regroup/Utils/Common/CommonAppbar.dart'; +import 'package:regroup/Utils/Common/CustomNextButton.dart'; +import 'package:regroup/Utils/Common/blureffect.dart'; +import 'package:regroup/Utils/Common/sized_box.dart'; +import 'package:regroup/Utils/texts.dart'; + +class AddEvent extends StatefulWidget { + const AddEvent({super.key}); + + @override + State createState() => _AddEventState(); +} + +class _AddEventState extends State { + RxBool isChecked = false.obs; + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "", + ), + body: Stack(children: [ + const CommonBlurLeftRed(), + const CommonBlurRightRed(), + const CommonBlurLeft(), + const CommonBlurRight(), + Positioned.fill( + child: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16400white("Event Title"), + sizedBoxHeight(14.h), + CustomTextFormField( + leadingIcon: Container( + height: 22.h, + width: 18.w, + child: Center( + child: Image.asset( + "assets/images/png/Vector (5)12.png", + fit: BoxFit.cover, + height: 22.h, + width: 18.w, + ), + ), + ), + hintText: "Tri-sport challenge", + ), + sizedBoxHeight(20.h), + text16400white("Event image"), + sizedBoxHeight(20.h), + commonGlassContainer( + border: 0.9, + width: double.infinity, + height: 130.h, + borderradius: 10.r, + customWidget: Padding( + padding: EdgeInsets.symmetric(vertical: 16.h), + child: Column( + children: [ + Image.asset( + "assets/images/png/bi_download.png", + height: 36.h, + width: 36.w, + ), + sizedBoxHeight(10.h), + text14w400white("Upload event image"), + sizedBoxHeight(8.h), + text8w400_8A8A8A( + "Allowed file extensions: jpg, png, gif Max file size: 10 MB"), + ], + ), + ), + ), + sizedBoxHeight(20.h), + commonGlassContainer( + width: double.infinity, + height: 60.h, + borderradius: 10.r, + customWidget: Center( + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 12.w), + child: Row(children: [ + Container( + height: 40.h, + width: 40.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5.r)), + child: Image.asset( + "assets/images/png/img2.png", + fit: BoxFit.cover, + ), + ), + sizedBoxWidth(8.w), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + text14400white("Event1.png"), + sizedBoxHeight(2.h), + text12w400_FCFCFC_blur("10 kb") + ], + ), + Spacer(), + Image.asset( + 'assets/images/png/cancelicon.png', + height: 20.h, + width: 20.w, + ) + ]), + ), + ), + border: 1), + sizedBoxHeight(16.h), + text16400white("Type of event"), + sizedBoxHeight(14.h), + CommonDropdownBtn( + hint: 'Race', + items: [], + leadingImage: Container( + height: 22.h, + width: 18.w, + child: Center( + child: Image.asset( + "assets/images/png/Vector (5)12.png", + ), + ), + ), + ), + sizedBoxHeight(16.h), + text16400white("Sport"), + sizedBoxHeight(14.h), + CommonDropdownBtn( + hint: 'Cycling', + items: [], + leadingImage: Container( + height: 22.h, + width: 18.w, + child: Center( + child: Image.asset( + "assets/images/png/Vector (4).png", + ), + ), + ), + ), + sizedBoxHeight(16.h), + Row( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16400white("Start date"), + sizedBoxHeight(14.h), + commonGlassContainer( + width: 174.w, + height: 50.h, + borderradius: 30.r, + customWidget: Center( + child: Row(children: [ + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/calender.png", + height: 20.h, + width: 20.w, + ), + sizedBoxWidth(8.w), + text16w400_white("1-4-2024") + ]), + ), + border: 1) + ], + ), + Spacer(), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16400white("End date"), + sizedBoxHeight(14.h), + commonGlassContainer( + width: 174.w, + height: 50.h, + borderradius: 30.r, + customWidget: Center( + child: Row(children: [ + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/calender.png", + height: 20.h, + width: 20.w, + ), + sizedBoxWidth(8.w), + text16w400_white("4-4-2024") + ]), + ), + border: 1) + ], + ), + ], + ), + sizedBoxHeight(20.h), + Row( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16400white("Start time"), + sizedBoxHeight(14.h), + commonGlassContainer( + width: 174.w, + height: 50.h, + borderradius: 30.r, + customWidget: Center( + child: Row(children: [ + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/clock.png", + height: 20.h, + width: 20.w, + ), + sizedBoxWidth(8.w), + text16w400_white("3:00 pm") + ]), + ), + border: 1) + ], + ), + Spacer(), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16400white("End time"), + sizedBoxHeight(14.h), + commonGlassContainer( + width: 174.w, + height: 50.h, + borderradius: 30.r, + customWidget: Center( + child: Row(children: [ + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/clock.png", + height: 20.h, + width: 20.w, + ), + sizedBoxWidth(8.w), + text16w400_white("5:00 pm") + ]), + ), + border: 1) + ], + ), + ], + ), + sizedBoxHeight(8.h), + Row( + children: [ + Obx(() { + return commonGlassContainer( + border: 1, + borderradius: 2, + height: 23.h, + width: 23.w, + opacity1: 0.24, + opacity2: 0.24, + customWidget: Transform.scale( + scale: 1.4, + child: Checkbox( + side: BorderSide(color: Color(0xFF434A53)), + value: isChecked.value, + activeColor: Colors.transparent, + checkColor: Colors.white, + onChanged: ((value) { + isChecked.value = value!; + }), + ), + ), + ); + }), + sizedBoxWidth(8.w), + text14w400_FCFCFC("Repeat event") + ], + ), + sizedBoxHeight(16.h), + text16400white("Post in"), + sizedBoxHeight(14.h), + CommonDropdownBtn( + hint: '', + items: [], + leadingImage: Container( + height: 22.h, + width: 28.w, + child: Center( + child: Image.asset("assets/images/png/Black.png"), + ), + ), + ), + sizedBoxHeight(16.h), + text16400white("Add Users"), + sizedBoxHeight(14.h), + CustomTextFormField( + leadingIcon: Container( + height: 22.h, + width: 18.w, + child: Center( + child: Image.asset( + "assets/images/png/Group122.png", + fit: BoxFit.cover, + height: 18.h, + width: 18.w, + ), + ), + ), + hintText: "", + suffixIcon: + Icon(Icons.arrow_forward, color: Color(0xFFFFFFFF)), + ), + sizedBoxHeight(20.h), + containerWidget( + imagePath: "assets/images/png/Ellipse 52.png", + title: "Ryan Dorwart"), + sizedBoxHeight(10.h), + containerWidget( + imagePath: "assets/images/png/Ellipse 52.png", + title: "Ryan Dorwart"), + sizedBoxHeight(10.h), + Align( + alignment: Alignment.center, + child: text14400white("View more")), + sizedBoxHeight(30.h), + text16400white("Location"), + sizedBoxHeight(14.h), + CustomTextFormField( + leadingIcon: Container( + height: 19.h, + width: 15.w, + child: Center( + child: Image.asset( + "assets/images/png/Group 58645.png", + height: 19.h, + width: 15.w, + ), + ), + ), + hintText: "Elm street, London, United kingdom", + ), + sizedBoxHeight(25.h), + text16400white("Reminder"), + sizedBoxHeight(22.h), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + commonGlassContainer( + height: 50.h, + width: 127.w, + borderradius: 30.r, + border: 1, + customWidget: Center( + child: text16400white("2"), + )), + commonGlassContainer( + height: 50.h, + width: 215.w, + borderradius: 30.r, + border: 1, + customWidget: Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + text16400white("Minutes"), + sizedBoxWidth(5.w), + Icon( + Icons.keyboard_arrow_down, + color: Colors.white, + ) + ], + ), + )) + ], + ), + sizedBoxHeight(35.h), + CommonBtn(text: "Save"), + sizedBoxHeight(70.h), + ]), + ), + )) + ])); + } + + Widget containerWidget({ + required String imagePath, + required String title, + }) { + return commonGlassContainer( + width: double.infinity, + height: 50.h, + borderradius: 30, + customWidget: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Center( + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + CircleAvatar( + backgroundImage: AssetImage(imagePath), + ), + sizedBoxWidth(8.w), + text16400white(title), + Spacer(), + Image.asset( + "assets/images/png/cancelicon.png", + height: 20.h, + width: 20.w, + ), + ], + ), + ), + ), + border: 1); + } +} diff --git a/lib/Feed Module/Main_Screens/CalenderTab/AddUsers/AddUsers.dart b/lib/Feed Module/Main_Screens/CalenderTab/AddUsers/AddUsers.dart new file mode 100644 index 0000000..289670d --- /dev/null +++ b/lib/Feed Module/Main_Screens/CalenderTab/AddUsers/AddUsers.dart @@ -0,0 +1,267 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get_connect/http/src/utils/utils.dart'; +import 'package:regroup/Common/CommonGlassmorphism.dart'; +import 'package:regroup/Common/CommonTabBar.dart'; +import 'package:regroup/Common/CommonWidget.dart'; +import 'package:regroup/Common/controller/CommonTextFormField.dart'; +import 'package:regroup/Utils/Common/CommonAppbar.dart'; +import 'package:regroup/Utils/Common/blureffect.dart'; +import 'package:regroup/Utils/Common/sized_box.dart'; +import 'package:regroup/Utils/texts.dart'; + +class AddUsers extends StatefulWidget { + const AddUsers({super.key}); + + @override + State createState() => _AddUsersState(); +} + +class _AddUsersState extends State { + List groupData = [ + { + "imagePath": "assets/images/png/Ellipse 52.png", + "title": "Ryan Dorwart", + "subtitle": "Row row row your boat", + }, + { + "imagePath": "assets/images/png/Ellipse 48.png", + "title": "Ahmad Rhiel Madsen", + "subtitle": "Football fever", + }, + { + "imagePath": "assets/images/png/Ellipse 43.png", + "title": "Kaylynn Vaccaro", + "subtitle": "The athletic town", + }, + { + "imagePath": "assets/images/png/cimg4.png", + "title": "Kianna Donin", + "subtitle": "Active alliance network", + }, + { + "imagePath": "assets/images/png/cimg1.png", + "title": "Ahmad Rhiel Madsen", + "subtitle": "Football fever", + }, + { + "imagePath": "assets/images/png/Ellipse 43.png", + "title": "Kaylynn Vaccaro", + "subtitle": "The athletic town", + }, + { + "imagePath": "assets/images/png/cimg4.png", + "title": "Kianna Donin", + "subtitle": "Active alliance network", + }, + ]; + + List isCheckedList = [false, false, false, false, false, false, false]; + + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "Add users", + ), + body: Stack(children: [ + const CommonBlurLeftRed(), + const CommonBlurRightRed(), + const CommonBlurLeft(), + const CommonBlurRight(), + Positioned.fill( + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + sizedBoxHeight(10.h), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: CustomTextFormField( + leadingIcon: SizedBox( + height: 23, + width: 23, + child: Center( + child: Image.asset( + "assets/images/png/ion_search-outline.png", + height: 23, + width: 23, + ), + ), + ), + hintText: "Search users", + ), + ), + sizedBoxHeight(16.h), + DefaultTabController( + length: 3, + // initialIndex: selectedIndex.value, + child: Column(children: [ + CommonTabBar(tabs: const [ + Tab( + text: 'Group', + ), + Tab( + text: 'Sub-group', + ), + Tab( + text: 'Followers', + ), + ]), + SizedBox( + height: 600.h, + child: TabBarView( + children: [ + GroupTab(), + SubgroupTab(), + FollowersTab(), + ], + ), + ), + ])) + ]))) + ])); + } + + Widget GroupTab() { + return Column( + children: [ + sizedBoxHeight(30.h), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Row( + children: [ + text18w700_FCFCFC("Group members"), + Spacer(), + commonGlassContainer( + width: 35.w, + height: 35.h, + borderradius: 100, + customWidget: Center( + child: Image.asset( + "assets/images/png/Vector (5)22.png", + height: 12.h, + width: 12.w, + ), + ), + border: 0.5), + sizedBoxWidth(14.w), + commonGlassContainer( + width: 35.w, + height: 35.h, + borderradius: 100, + customWidget: Center( + child: Image.asset( + "assets/images/png/bi_filter.png", + height: 22.h, + width: 18.w, + ), + ), + border: 0.5) + ], + ), + ), + sizedBoxHeight(15.h), + Expanded( + child: ListView.builder( + shrinkWrap: true, + itemCount: groupData.length, + itemBuilder: (context, index) { + return Column( + children: [ + groupWidget( + index: index, + imagePath: groupData[index]["imagePath"], + title: groupData[index]["title"], + subtitle: groupData[index]["subtitle"], + isChecked: isCheckedList[index], + onCheckedChanged: (bool? value) { + setState(() { + isCheckedList[index] = value ?? false; + }); + }, + ), + if (index != groupData.length - 1) commonDivider(), + ], + ); + }, + ), + ), + ], + ); + } + + Widget groupWidget({ + required int index, + required String imagePath, + required String title, + required String subtitle, + required bool isChecked, + required ValueChanged onCheckedChanged, + }) { + return Padding( + padding: EdgeInsets.symmetric(vertical: 16.h, horizontal: 16.w), + child: Row( + children: [ + CircleAvatar( + backgroundImage: AssetImage(imagePath), + radius: 25.r, + ), + sizedBoxWidth(10.w), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + text16w400_FCFCFC(title), + sizedBoxWidth(6.w), + Image.asset( + "assets/images/png/calender.png", + height: 14.h, + width: 14.w, + ) + ], + ), + sizedBoxHeight(4.h), + text12w400_FCFCFC_blur(subtitle), + ], + ), + Spacer(), + commonGlassContainer( + border: 1, + borderradius: 2, + height: 23.h, + width: 23.w, + opacity1: 0.24, + opacity2: 0.24, + customWidget: Transform.scale( + scale: 1.4, + child: Checkbox( + side: BorderSide(color: Color(0xFF434A53)), + value: isChecked, + activeColor: Colors.transparent, + checkColor: Colors.white, + onChanged: onCheckedChanged, + ), + ), + ), + ], + ), + ); + } + + Widget SubgroupTab() { + return Column( + children: [], + ); + } + + Widget FollowersTab() { + return Column( + children: [], + ); + } +} diff --git a/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart b/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart new file mode 100644 index 0000000..5e093e1 --- /dev/null +++ b/lib/Feed Module/Main_Screens/CalenderTab/CalenderTab.dart @@ -0,0 +1,529 @@ +import 'package:calendar_date_picker2/calendar_date_picker2.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:regroup/Common/CommonBottomNavigationBar.dart'; +import 'package:regroup/Common/CommonGlassmorphism.dart'; +import 'package:regroup/Common/CommonTabBar.dart'; +import 'package:regroup/Common/controller/MainScreen.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 CalenderTab extends StatefulWidget { + const CalenderTab({super.key}); + + @override + State createState() => _CalenderTabState(); +} + +class _CalenderTabState extends State { + List sessionData = [ + { + "title": "Attending events", + "imagePath": "assets/images/png/Rectangle299.png", + "names": "Sports challenge" + }, + { + "title": "Shown Interest", + "imagePath": "assets/images/png/Rectangle 25.png", + "names": "Ultimate athlete challenge" + }, + { + "title": "Not going", + "imagePath": "assets/images/png/Rectangle 24.png", + "names": "Cyclotron challenge" + }, + ]; + + List communityData = [ + { + "title": "Featured community", + "imagePath": "assets/images/png/Rectangle 24.png", + "names": "Sports challenge" + }, + { + "title": "Featured community", + "imagePath": "assets/images/png/Rectangle 24.png", + "names": "Tri-sport challenge" + }, + ]; + + DateTime selectedDate = DateTime.now(); + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: AppBar( + scrolledUnderElevation: 0.0, + backgroundColor: Color(0xff222935), + elevation: 0, + automaticallyImplyLeading: false, + title: text20700white("Sessions"), + actions: [ + InkWell( + onTap: () { + Get.toNamed(RouteName.addUsers); + }, + child: Container( + height: 35.h, + width: 35.w, + decoration: BoxDecoration( + color: Color(0xFFD90B2E), + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: Color(0x40000000), + offset: Offset(0, 6), + blurRadius: 8, + spreadRadius: 0, + ), + ], + ), + child: Icon(Icons.add, color: Colors.white, weight: 2), + ), + ), + sizedBoxWidth(14.w), + InkWell( + onTap: () { + Get.toNamed(RouteName.setavailabillity); + }, + child: Image.asset( + 'assets/images/png/calender.png', + height: 22.h, + width: 22.w, + ), + ), + sizedBoxWidth(14.w), + Image.asset( + 'assets/images/png/Frame 9.png', + height: 25.h, + width: 25.w, + ), + sizedBoxWidth(16.w), + ], + ), + body: Stack(children: [ + const CommonBlurLeftRed(), + const CommonBlurRightRed(), + const CommonBlurLeft(), + const CommonBlurRight(), + Stack(children: [ + Padding( + padding: const EdgeInsets.symmetric(vertical: 16), + child: Column(children: [ + DefaultTabController( + length: 2, + // initialIndex: selectedIndex.value, + child: Column( + children: [ + CommonTabBar(tabs: const [ + Tab( + text: 'My sessions', + ), + Tab( + text: 'Community session', + ), + ]), + SizedBox( + height: 600.h, + child: TabBarView( + children: [ + MySessionsTab(), + ComSessionTab(), + ], + ), + ), + ], + ), + ), + ])) + ]) + ]), + bottomNavigationBar: bottomnavigationbar(mainController), + ); + } + + Widget MySessionsTab() { + return SingleChildScrollView( + child: Column( + children: [ + sizedBoxHeight(20.h), + Padding( + padding: EdgeInsets.symmetric(horizontal: 16.w), + child: commonGlassContainer( + width: double.infinity, + height: 136.h, + borderradius: 10.r, + customWidget: Row( + children: [ + Padding( + padding: EdgeInsets.only(left: 16.w), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + SizedBox( + width: 171.w, + child: text14w400_FCFCFC( + "Are you looking for resources ? We might have a solution"), + ), + sizedBoxHeight(12.h), + GestureDetector( + onTap: () { + Get.toNamed(RouteName.resourcepool); + }, + child: text16w700_FCFCFCline("View resources")) + ], + ), + ), + Spacer(), + Image.asset("assets/images/png/Rectangle 45.png") + ], + ), + border: 1), + ), + sizedBoxHeight(25.h), + commonGlassContainer( + width: double.infinity, + height: 314.h, + borderradius: 1, + customWidget: CalendarDatePicker2( + config: CalendarDatePicker2Config( + calendarType: CalendarDatePicker2Type.range, + weekdayLabels: [ + 'Sun', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat' + ], + selectedYearTextStyle: TextStyle(color: Colors.white), + yearTextStyle: TextStyle(color: Colors.white), + selectedDayHighlightColor: Color(0xFFD90B2E), + controlsTextStyle: TextStyle(color: Colors.white), + dayTextStyle: TextStyle(color: Colors.white), + monthTextStyle: TextStyle(color: Colors.white), + weekdayLabelTextStyle: TextStyle(color: Colors.white), + nextMonthIcon: Icon( + Icons.arrow_forward_ios, + color: Colors.white, + ), + lastMonthIcon: Icon( + Icons.arrow_back_ios_new, + color: Colors.white, + ), + ), + value: [selectedDate], + ), + border: 0.9), + sizedBoxHeight(25.h), + Column( + children: List.generate(3, (index) { + return sessionCard( + imagePath: sessionData[index]["imagePath"], + names: sessionData[index]["names"], + title: sessionData[index]["title"]); + }), + ) + ], + ), + ); + } + + Widget sessionCard({ + required String title, + required String imagePath, + required String names, + }) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text18w700_FCFCFC(title), + sizedBoxHeight(25.h), + GestureDetector( + onTap: () { + Get.toNamed(RouteName.eventDetails); + }, + child: commonGlassContainer( + width: double.infinity, + height: 300.h, + borderradius: 10.r, + customWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + height: 151.h, + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topRight: Radius.circular(10.r), + topLeft: Radius.circular(10.r))), + child: Image.asset( + imagePath, + fit: BoxFit.cover, + )), + sizedBoxHeight(20.h), + Row( + children: [ + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/calender.png", + color: Colors.white.withOpacity(0.8), + height: 12.h, + width: 12.w, + ), + sizedBoxWidth(8.w), + text10w400_FCFCFC_blur("29th april 2024"), + sizedBoxWidth(10.w), + Container( + height: 15, + width: 1, + color: Colors.white.withOpacity(0.8), + ), + sizedBoxWidth(10.w), + Image.asset( + "assets/images/png/clock.png", + color: Colors.white.withOpacity(0.8), + height: 12.h, + width: 12.w, + ), + sizedBoxWidth(8.w), + text10w400_FCFCFC_blur("3:00 pm"), + sizedBoxWidth(10.w), + Container( + height: 15, + width: 1, + color: Colors.white.withOpacity(0.8), + ), + sizedBoxWidth(10.w), + Image.asset( + "assets/images/png/Black.png", + color: Colors.white.withOpacity(0.8), + height: 12.h, + width: 12.w, + ), + sizedBoxWidth(8.w), + text10w400_FCFCFC_blur("Iron titans fitness crew"), + ], + ), + sizedBoxHeight(15.h), + Padding( + padding: EdgeInsets.only(left: 16.w), + child: text18w700_FCFCFC(names), + ), + sizedBoxHeight(15.h), + Row( + children: [ + sizedBoxWidth(16.w), + CircleAvatar( + radius: 12.r, + backgroundImage: + AssetImage("assets/images/png/Ellipse 52.png"), + ), + sizedBoxWidth(8.w), + text14w400_FCFCFC("Ryan dorwat"), + ], + ) + ]), + border: 1), + ) + ], + ), + ); + } + + Widget ComSessionTab() { + return SingleChildScrollView( + child: Column( + children: [ + sizedBoxHeight(20.h), + Padding( + padding: EdgeInsets.symmetric(horizontal: 16.w), + child: commonGlassContainer( + width: double.infinity, + height: 136.h, + borderradius: 10.r, + customWidget: Row( + children: [ + Padding( + padding: EdgeInsets.only(left: 16.w), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + SizedBox( + width: 171.w, + child: text14w400_FCFCFC( + "Are you looking for resources ? We might have a solution"), + ), + sizedBoxHeight(12.h), + GestureDetector( + onTap: () { + Get.toNamed(RouteName.resourcepool); + }, + child: text16w700_FCFCFCline("View resources")) + ], + ), + ), + Spacer(), + Image.asset("assets/images/png/Rectangle 45.png") + ], + ), + border: 1), + ), + sizedBoxHeight(25.h), + commonGlassContainer( + width: double.infinity, + height: 314.h, + borderradius: 1, + customWidget: CalendarDatePicker2( + config: CalendarDatePicker2Config( + calendarType: CalendarDatePicker2Type.range, + weekdayLabels: [ + 'Sun', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat' + ], + selectedYearTextStyle: TextStyle(color: Colors.white), + yearTextStyle: TextStyle(color: Colors.white), + selectedDayHighlightColor: Color(0xFFD90B2E), + controlsTextStyle: TextStyle(color: Colors.white), + dayTextStyle: TextStyle(color: Colors.white), + monthTextStyle: TextStyle(color: Colors.white), + weekdayLabelTextStyle: TextStyle(color: Colors.white), + nextMonthIcon: Icon( + Icons.arrow_forward_ios, + color: Colors.white, + ), + lastMonthIcon: Icon( + Icons.arrow_back_ios_new, + color: Colors.white, + ), + ), + value: [selectedDate], + ), + border: 0.9), + sizedBoxHeight(25.h), + Column( + children: List.generate(communityData.length, (index) { + return communitysessionCard( + imagePath: communityData[index]["imagePath"], + names: communityData[index]["names"], + title: communityData[index]["title"]); + }), + ) + ], + ), + ); + } +} + +Widget communitysessionCard({ + required String title, + required String imagePath, + required String names, +}) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text18w700_FCFCFC(title), + sizedBoxHeight(25.h), + commonGlassContainer( + width: double.infinity, + height: 290.h, + borderradius: 10.r, + customWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + height: 151.h, + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topRight: Radius.circular(10.r), + topLeft: Radius.circular(10.r))), + child: Image.asset( + imagePath, + fit: BoxFit.cover, + )), + Row( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + sizedBoxHeight(16.h), + Row( + children: [ + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/calender.png", + color: Colors.white.withOpacity(0.8), + height: 12.h, + width: 12.w, + ), + sizedBoxWidth(8.w), + text10w400_FCFCFC_blur("29th april 2024"), + ], + ), + sizedBoxHeight(15.h), + Padding( + padding: EdgeInsets.only(left: 16.w), + child: text18w700_FCFCFC(names), + ), + sizedBoxHeight(15.h), + Row( + children: [ + sizedBoxWidth(16.w), + CircleAvatar( + radius: 12.r, + backgroundImage: AssetImage( + "assets/images/png/Ellipse 52.png"), + ), + sizedBoxWidth(8.w), + text14w400_FCFCFC("Ryan dorwat"), + ], + ), + ]), + Spacer(), + Container( + height: 138.h, + width: 143.w, + decoration: BoxDecoration( + color: Color(0xFFD90B2E), + borderRadius: BorderRadius.only( + bottomRight: Radius.circular(10.r), + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + text25700FCFCFC("14"), + text16w700_FCFCFCblur("April 2024"), + sizedBoxHeight(12.h), + text16w700_FCFCFC("3:00 pm") + ], + ), + ) + ], + ), + ], + ), + border: 1) + ], + ), + ); +} diff --git a/lib/Feed Module/Main_Screens/CalenderTab/EventDetails.dart b/lib/Feed Module/Main_Screens/CalenderTab/EventDetails.dart new file mode 100644 index 0000000..9c6fff3 --- /dev/null +++ b/lib/Feed Module/Main_Screens/CalenderTab/EventDetails.dart @@ -0,0 +1,320 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:regroup/Common/CommonButton.dart'; +import 'package:regroup/Common/CommonGlassmorphism.dart'; +import 'package:regroup/Common/CommonWidget.dart'; +import 'package:regroup/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 EventDetails extends StatefulWidget { + const EventDetails({super.key}); + + @override + State createState() => _EventDetailsState(); +} + +class _EventDetailsState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "", + customActionWidget: Row( + children: [ + InkWell( + onTap: () { + Get.toNamed(RouteName.addEvent); + }, + child: commonGlassContainer( + width: 40.w, + height: 40.h, + borderradius: 100, + opacity1: 0.24, + opacity2: 0.24, + customWidget: Center( + child: Image.asset("assets/images/png/Vector536.png", + height: 17.h, width: 17.w), + ), + border: 0.5), + ), + sizedBoxWidth(12.w), + commonGlassContainer( + width: 40.w, + height: 40.h, + borderradius: 100, + opacity1: 0.24, + opacity2: 0.24, + customWidget: Center( + child: Image.asset("assets/images/png/Vector522.png", + height: 17.h, width: 17.w), + ), + border: 0.5), + ], + ), + ), + body: Stack(children: [ + const CommonBlurLeftRed(), + const CommonBlurRightRed(), + const CommonBlurLeft(), + const CommonBlurRight(), + Positioned.fill( + child: SingleChildScrollView( + child: Column( + children: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + sizedBoxHeight(10.h), + SizedBox( + height: 260.h, + width: double.infinity, + child: ClipRRect( + borderRadius: BorderRadius.circular(10.r), + child: Image.asset( + "assets/images/png/Rectangle299.png", + fit: BoxFit.cover, + ), + ), + ), + sizedBoxHeight(20.h), + text18w700_FCFCFC("Sports challenge"), + sizedBoxHeight(16.h), + text14400whiteblur( + "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer . . . "), + sizedBoxHeight(22.h), + Row( + children: [ + commonGlassContainer( + width: 35.w, + height: 35.h, + borderradius: 100, + opacity1: 0.24, + opacity2: 0.24, + customWidget: Center( + child: Image.asset( + "assets/images/png/calender.png", + height: 17.h, + width: 17.w, + ), + ), + border: 0.5), + sizedBoxWidth(10.w), + text16400white("20th April 2024 - 21st April 2024"), + ], + ), + sizedBoxHeight(16.h), + Row( + children: [ + commonGlassContainer( + width: 35.w, + height: 35.h, + borderradius: 100, + opacity1: 0.24, + opacity2: 0.24, + customWidget: Center( + child: Image.asset( + "assets/images/png/clock.png", + height: 17.h, + width: 17.w, + ), + ), + border: 0.5), + sizedBoxWidth(10.w), + text16400white("3 hours"), + ], + ), + sizedBoxHeight(16.h), + Row( + children: [ + commonGlassContainer( + width: 35.w, + height: 35.h, + borderradius: 100, + opacity1: 0.24, + opacity2: 0.24, + customWidget: Center( + child: Image.asset( + "assets/images/png/Group 58645.png", + height: 17.h, + width: 17.w, + ), + ), + border: 0.5), + sizedBoxWidth(10.w), + text16400white("Elm street london, United Kingdom"), + ], + ), + ]), + ), + sizedBoxHeight(16.h), + commonDivider(), + sizedBoxHeight(16.h), + text18w700white("Are you attending this event ?"), + sizedBoxHeight(20.h), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + commonGlassContainer( + width: 87.w, + height: 40.h, + borderradius: 30.r, + customWidget: Center(child: text16w400_white("Yes")), + border: 1), + commonGlassContainer( + width: 87.w, + height: 40.h, + borderradius: 30.r, + customWidget: Center(child: text16w400_white("No")), + border: 1), + commonGlassContainer( + width: 154.w, + height: 40.h, + borderradius: 30.r, + customWidget: + Center(child: text16w400_white("Not yet decided")), + border: 1), + ], + ), + sizedBoxHeight(20.h), + commonDivider(), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + sizedBoxHeight(20.h), + text18w700white("Reminder"), + sizedBoxHeight(10.h), + Row( + children: [ + Image.asset( + "assets/images/png/alarm 1 (traced).png", + height: 24.h, + width: 24.w, + ), + sizedBoxWidth(10.w), + text16w400_white("10 minutes before") + ], + ), + sizedBoxHeight(20.h), + commonGlassContainer( + width: double.infinity, + height: 251.h, + borderradius: 10.r, + customWidget: Padding( + padding: const EdgeInsets.symmetric(vertical: 20), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + reminderWidget( + text: "Total invites", count: '150'), + sizedBoxHeight(16.h), + reminderWidget(text: "Attending", count: '78'), + sizedBoxHeight(16.h), + reminderWidget( + text: "Not attending", count: '35'), + sizedBoxHeight(16.h), + reminderWidget(text: "Not deciding", count: '20'), + sizedBoxHeight(16.h), + reminderWidget( + text: "Waiting reply", count: '17'), + ], + ), + ), + border: 1), + sizedBoxHeight(30.h), + text18w700white("Messages"), + sizedBoxHeight(20.h), + Row( + children: [ + Image.asset( + "assets/images/png/Vector (5)3343.png", + height: 20.h, + width: 20.w, + ), + sizedBoxWidth(10.w), + text16w400_white("Send message to invites"), + Spacer(), + commonGlassContainer( + width: 98.w, + height: 30.h, + borderradius: 30.r, + customWidget: + Center(child: text14400white("Select")), + border: 1) + ], + ), + sizedBoxHeight(25.h), + commonGlassContainer( + width: double.infinity, + height: 240.h, + borderradius: 10.r, + customWidget: Padding( + padding: EdgeInsets.symmetric(horizontal: 80.w), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + CircleAvatar( + radius: 33.5, + backgroundImage: + AssetImage("assets/images/png/cimg1.png"), + ), + sizedBoxHeight(15.h), + text12400whiteblur("Organized By"), + text16w700white("Ryan dorwat"), + sizedBoxHeight(15.h), + commonDivider(), + sizedBoxHeight(15.h), + text12400whiteblur('Group'), + sizedBoxHeight(15.h), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + CircleAvatar( + radius: 12.5.r, + backgroundImage: AssetImage( + "assets/images/png/img322.png"), + ), + sizedBoxWidth(8.w), + text16w700white("Row row your boat"), + ], + ) + ]), + ), + border: 1), + sizedBoxHeight(50.h), + CommonBtn(text: "Join the event"), + sizedBoxHeight(40.h), + ], + ), + ), + ], + ))) + ])); + } + + Widget reminderWidget({required String text, required String count}) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Row( + children: [ + Image.asset("assets/images/png/Red.png", height: 22.h, width: 16.w), + sizedBoxWidth(10.w), + SizedBox(width: 250.w, child: text16w400_white(text)), + Spacer(), + text16400white(count), + ], + ), + ); + } +} diff --git a/lib/Feed Module/Main_Screens/CalenderTab/ManageMembers.dart b/lib/Feed Module/Main_Screens/CalenderTab/ManageMembers.dart new file mode 100644 index 0000000..278be29 --- /dev/null +++ b/lib/Feed Module/Main_Screens/CalenderTab/ManageMembers.dart @@ -0,0 +1,36 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:regroup/Utils/Common/CommonAppbar.dart'; +import 'package:regroup/Utils/Common/blureffect.dart'; +import 'package:regroup/Utils/Common/sized_box.dart'; + +class ManageMember extends StatefulWidget { + const ManageMember({super.key}); + + @override + State createState() => _ManageMemberState(); +} + +class _ManageMemberState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "Add users", + ), + body: Stack(children: [ + const CommonBlurLeftRed(), + const CommonBlurRightRed(), + const CommonBlurLeft(), + const CommonBlurRight(), + Positioned.fill( + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + sizedBoxHeight(10.h),])))])); + } +} \ No newline at end of file diff --git a/lib/Feed Module/Main_Screens/CalenderTab/Resource Pool/ResourcePool.dart b/lib/Feed Module/Main_Screens/CalenderTab/Resource Pool/ResourcePool.dart new file mode 100644 index 0000000..9516b92 --- /dev/null +++ b/lib/Feed Module/Main_Screens/CalenderTab/Resource Pool/ResourcePool.dart @@ -0,0 +1,284 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:regroup/Common/CommonGlassmorphism.dart'; +import 'package:regroup/Common/CommonWidget.dart'; +import 'package:regroup/Common/controller/CommonTextFormField.dart'; +import 'package:regroup/Utils/Common/CommonAppbar.dart'; +import 'package:regroup/Utils/Common/blureffect.dart'; +import 'package:regroup/Utils/Common/sized_box.dart'; +import 'package:regroup/Utils/texts.dart'; +import 'package:regroup/resources/routes/route_name.dart'; + +class ResourcePool extends StatefulWidget { + const ResourcePool({super.key}); + + @override + State createState() => _ResourcePoolState(); +} + +class _ResourcePoolState extends State { + List isCheckedList = [false, false, false, false]; + + List eventData = [ + { + "imagePath": "assets/images/png/img45.png", + "title": "Super sports fest", + }, + { + "imagePath": "assets/images/png/Rectangle 25.png", + "title": "Tri-sport challenge", + }, + { + "imagePath": "assets/images/png/img2.png", + "title": "Ultimate athlete challenge", + }, + { + "imagePath": "assets/images/png/img2.png", + "title": "Cyclotron challenge", + }, + ]; + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "Resource pool", + ), + body: Stack(children: [ + const CommonBlurLeftRed(), + const CommonBlurRightRed(), + const CommonBlurLeft(), + const CommonBlurRight(), + Positioned.fill( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column(children: [ + sizedBoxHeight(10.h), + CustomTextFormField( + leadingIcon: SizedBox( + height: 23, + width: 23, + child: Center( + child: Image.asset( + "assets/images/png/ion_search-outline.png", + height: 23, + width: 23, + ), + ), + ), + hintText: "Search community sessions", + ), + sizedBoxHeight(20.h), + Expanded( + child: ListView.builder( + itemCount: 2, + shrinkWrap: true, + itemBuilder: (context, index) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 16), + child: resourceCard(), + ); + }, + ), + ) + ]), + )) + ])); + } + + Widget resourceCard() { + return commonGlassContainer( + width: double.infinity, + height: 216.h, + borderradius: 10.r, + customWidget: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + child: + Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + Row( + children: [ + CircleAvatar( + backgroundImage: + AssetImage("assets/images/png/Ellipse 52.png"), + radius: 25.r, + ), + sizedBoxWidth(8.w), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16w400_FCFCFC("Ryan Dorwart"), + sizedBoxHeight(6.h), + text12w400_FCFCFC_blur("Row row row your boat") + ], + ), + Spacer(), + InkWell( + onTap: () { + inviteBottomSheet(); + }, + child: Container( + height: 30.h, + width: 95.w, + decoration: BoxDecoration( + color: Color(0xFFD90B2E), + borderRadius: BorderRadius.circular(30.r)), + child: Center(child: text14400white("Invite")), + ), + ) + ], + ), + sizedBoxHeight(14.h), + commonDivider(), + sizedBoxHeight(14.h), + text16w400_FCFCFC("Available for :"), + sizedBoxHeight(12.h), + Row( + children: [ + Image.asset( + "assets/images/png/calender.png", + height: 16.h, + width: 16.w, + ), + sizedBoxWidth(8.w), + SizedBox(width: 140.w, child: text14w400_FCFCFC("Race")), + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/Vector (4).png", + height: 16.h, + width: 16.w, + ), + sizedBoxWidth(8.w), + SizedBox(width: 120.w, child: text14w400_FCFCFC("Race")), + ], + ), + sizedBoxHeight(12.h), + Row( + children: [ + Image.asset( + "assets/images/png/Black.png", + height: 16.h, + width: 16.w, + ), + sizedBoxWidth(8.w), + SizedBox( + width: 140.w, + child: text14w400_FCFCFC("Only group events")), + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/Group122.png", + height: 16.h, + width: 16.w, + ), + sizedBoxWidth(8.w), + SizedBox(width: 120.w, child: text14w400_FCFCFC("Lorem ipsum")), + ], + ), + ]), + ), + border: 1); + } + + void inviteBottomSheet() { + Get.bottomSheet( + StatefulBuilder( + builder: (BuildContext context, StateSetter setState) { + return Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.r), + topRight: Radius.circular(30.r), + ), + color: Color(0xFF222935), + ), + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 16.w), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + sizedBoxHeight(20.h), + text18w400white("Events"), + Column( + children: List.generate(eventData.length, (index) { + return Column( + children: [ + sizedBoxHeight(10.h), + eventWidget( + index: index, + imagePath: eventData[index]["imagePath"], + title: eventData[index]["title"], + isChecked: isCheckedList[index], + onCheckedChanged: (bool? value) { + setState(() { + isCheckedList[index] = value ?? false; + }); + }, + ), + if (index != eventData.length - 1) commonDivider(), + ], + ); + }), + ), + sizedBoxHeight(30.h), + ], + ), + ), + ); + }, + ), + ); + } + + Widget eventWidget({ + required int index, + required String imagePath, + required String title, + required bool isChecked, + required ValueChanged onCheckedChanged, + }) { + return Padding( + padding: EdgeInsets.symmetric( + vertical: 16.h, + ), + child: Row( + children: [ + SizedBox( + height: 30.h, + width: 30.w, + child: ClipRRect( + borderRadius: BorderRadius.circular(5.r), + child: Image.asset( + imagePath, + fit: BoxFit.cover, + ), + ), + ), + sizedBoxWidth(10.w), + text16w400_FCFCFC(title), + Spacer(), + commonGlassContainer( + border: 1, + borderradius: 2, + height: 23.h, + width: 23.w, + opacity1: 0.24, + opacity2: 0.24, + customWidget: Transform.scale( + scale: 1.4, + child: Checkbox( + side: BorderSide(color: Color(0xFF434A53)), + value: isChecked, + activeColor: Colors.transparent, + checkColor: Colors.white, + onChanged: onCheckedChanged, + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/Feed Module/Main_Screens/CalenderTab/SetAvailabillity.dart b/lib/Feed Module/Main_Screens/CalenderTab/SetAvailabillity.dart new file mode 100644 index 0000000..8bb86f4 --- /dev/null +++ b/lib/Feed Module/Main_Screens/CalenderTab/SetAvailabillity.dart @@ -0,0 +1,220 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:glassmorphism/glassmorphism.dart'; +import 'package:regroup/Common/CommonButton.dart'; +import 'package:regroup/Common/CommonDropDown.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 SetAvailabillity extends StatefulWidget { + const SetAvailabillity({super.key}); + + @override + State createState() => _SetAvailabillityState(); +} + +class _SetAvailabillityState extends State { + bool swichvalue = false; + + var selectedContainerIndices = {}.obs; + + void toggleSelectedIndex(int index) { + if (selectedContainerIndices.contains(index)) { + selectedContainerIndices.remove(index); + } else { + selectedContainerIndices.add(index); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + // key: _scaffoldKey1, + backgroundColor: Color(0xFF222935), + extendBody: true, + appBar: CommonAppbar( + titleTxt: "Set availability", + ), + body: Stack(children: [ + const CommonBlurLeftRed(), + const CommonBlurRightRed(), + const CommonBlurLeft(), + const CommonBlurRight(), + Positioned.fill( + child: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + sizedBoxHeight(10.h), + text16400white("Select event type"), + sizedBoxHeight(15.h), + CommonDropdownBtn(hint: "", items: []), + sizedBoxHeight(18.h), + text16400white("Select sport"), + sizedBoxHeight(15.h), + CommonDropdownBtn(hint: "", items: []), + sizedBoxHeight(18.h), + text16400white("Select role "), + sizedBoxHeight(15.h), + CommonDropdownBtn(hint: "", items: []), + sizedBoxHeight(18.h), + text16400white("Space selection"), + sizedBoxHeight(15.h), + CommonDropdownBtn(hint: "", items: []), + sizedBoxHeight(18.h), + Row( + children: [ + text16w400_white("Availability"), + Spacer(), + Transform.scale( + scaleY: 1, + child: CupertinoSwitch( + value: swichvalue, + trackColor: + Colors.white.withOpacity(0.4), + activeColor: Color(0xFF3192D8), + onChanged: (bool? value) { + setState(() { + swichvalue = value ?? false; + }); + })) + ], + ), + sizedBoxHeight(30.h), + text16400white("Select days"), + sizedBoxHeight(15.h), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + commondayContainer(text: "M", index: 1), + commondayContainer(text: "Tu", index: 2), + commondayContainer(text: "W", index: 3), + commondayContainer(text: "Th", index: 4), + commondayContainer(text: "F", index: 5), + commondayContainer(text: "Sa", index: 6), + commondayContainer(text: "Su", index: 7), + // GlassmorphicContainer( + // width: 40.w, + // height: 40.h, + // borderRadius: 100, + // blur: 10, + // alignment: Alignment.topCenter, + // border: 0.5, + // linearGradient: LinearGradient( + // begin: Alignment.topLeft, + // end: Alignment.bottomRight, + // colors: [ + // Color(0xFFD90B2E).withOpacity(0.18), + // const Color(0xFFD90B2E).withOpacity(0.4), + // ], + // stops: const [ + // 0.1, + // 1, + // ], + // ), + // borderGradient: LinearGradient( + // begin: Alignment.topLeft, + // end: Alignment.bottomRight, + // colors: [ + // Color(0xffD90B2E), + // Color(0xFFD90B2E), + // ], + // ), + // child: Center(child: text16w400_FCFCFC("Su")), + // ), + ], + ), + sizedBoxHeight(20.h), + Row( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16400white("Start time"), + sizedBoxHeight(14.h), + commonGlassContainer( + width: 174.w, + height: 50.h, + borderradius: 30.r, + customWidget: Center( + child: Row(children: [ + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/clock.png", + height: 20.h, + width: 20.w, + ), + sizedBoxWidth(8.w), + text16w400_white("3:00 pm") + ]), + ), + border: 1) + ], + ), + Spacer(), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16400white("End time"), + sizedBoxHeight(14.h), + commonGlassContainer( + width: 174.w, + height: 50.h, + borderradius: 30.r, + customWidget: Center( + child: Row(children: [ + sizedBoxWidth(16.w), + Image.asset( + "assets/images/png/clock.png", + height: 20.h, + width: 20.w, + ), + sizedBoxWidth(8.w), + text16w400_white("5:00 pm") + ]), + ), + border: 1) + ], + ), + ], + ), + sizedBoxHeight(30.h), + CommonBtn(text: "Send"), + sizedBoxHeight(30.h), + ])))) + ])); + } + + Widget commondayContainer({ + required String text, + required int index, + }) { + return Obx(() { + return GestureDetector( + onTap: () { + toggleSelectedIndex(index); + }, + child: Container( + width: 40.w, + height: 40.h, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: selectedContainerIndices.contains(index) + ? Color(0xFFD90B2E).withOpacity(0.4) + : Color(0xFFFFFFFF).withOpacity(0.2), + border: selectedContainerIndices.contains(index) + ? Border.all(color: Color(0xFFD90B2E), width: 1) + : null), + child: Center(child: text16w400_FCFCFC(text)), + ), + ); + }); + } +} diff --git a/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/EditCommunity/EditCommunity.dart b/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/EditCommunity/EditCommunity.dart index 69baf84..a73ce13 100644 --- a/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/EditCommunity/EditCommunity.dart +++ b/lib/Feed Module/sidemenu/Community/Admin/PopupItem/Community settings/EditCommunity/EditCommunity.dart @@ -179,13 +179,14 @@ class _EditCommunityState extends State { text16w400_FCFCFC("Location*"), sizedBoxHeight(14.h), CommonDropdownradioBtn( - hint: '', - items: ["Public", "Private - Request to join"]), + hint: '', items: ["Public", "Private", "Secret"]), sizedBoxHeight(25.h), text16w400_FCFCFC("Primary activity*"), sizedBoxHeight(14.h), CommonDropdownradioBtn( - hint: '', items: ["Sports", "Hobby"]), + hint: '', + items: ["Sports", "Hobby"], + showOtherOption: true), sizedBoxHeight(50.h), CustomButton(text: 'Save changes', onPressed: () {}), sizedBoxHeight(50.h), diff --git a/lib/Feed Module/sidemenu/Community/MyCommunity/NewCommunity.dart b/lib/Feed Module/sidemenu/Community/MyCommunity/NewCommunity.dart index c47e0f0..c7e26ce 100644 --- a/lib/Feed Module/sidemenu/Community/MyCommunity/NewCommunity.dart +++ b/lib/Feed Module/sidemenu/Community/MyCommunity/NewCommunity.dart @@ -93,7 +93,9 @@ class _NewCommunityState extends State { text16w400_FCFCFC("Type of community*"), sizedBoxHeight(15.h), CommonDropdownradioBtn( - hint: '', items: ['Public', 'Private', 'Secret']), + hint: '', + items: ['Public', 'Private', 'Secret'], + showOtherOption: false), sizedBoxHeight(25.h), text16w400_FCFCFC("Location*"), sizedBoxHeight(15.h), @@ -103,15 +105,20 @@ class _NewCommunityState extends State { items: ['Public', 'Private', 'Secret']), sizedBoxHeight(25.h), text16w400_FCFCFC("Primary activity*"), - sizedBoxHeight(15.h), - CustomDropDownWidgetSignup( - header: 'Primary activity', - title: 'ss', - listData: ['Public', 'Private', 'Secret'], - onItemSelected: (p0) => {}, - leadingImage: SizedBox()), - CommonDropdownBtn( - hint: '', items: ['Public', 'Private', 'Secret']), + // CustomDropDownWidgetSignup( + // header: 'Primary activity', + // title: 'ss', + // listData: ['Public', 'Private', 'Secret'], + // onItemSelected: (p0) => {}, + // leadingImage: SizedBox()), + sizedBoxHeight(20.h), + CommonDropdownradioBtn( + hint: '', + items: [ + 'Sports', + 'Hobby', + ], + showOtherOption: true), sizedBoxHeight(25.h), sizedBoxHeight(25.h), CommonBtn( @@ -121,7 +128,7 @@ class _NewCommunityState extends State { }, ), sizedBoxHeight(25.h), - sizedBoxHeight(25.h), + sizedBoxHeight(150.h), ]), ))) ])); diff --git a/lib/Utils/texts.dart b/lib/Utils/texts.dart index 3232d67..2e26e98 100644 --- a/lib/Utils/texts.dart +++ b/lib/Utils/texts.dart @@ -33,6 +33,17 @@ Widget text20400white(String text) { ); } +Widget text20700white(String text) { + return Text( + text, + style: TextStyle( + fontSize: 20.sp, + color: AppColors.white, + fontWeight: FontWeight.w700, + fontFamily: 'Helvetica'), + ); +} + Widget text16400white(String text) { return Text( text, @@ -57,6 +68,18 @@ Widget text25700white(String text) { ); } +Widget text25700FCFCFC(String text) { + return Text( + text, + // textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25.sp, + color: Color(0xFFFCFCFC), + fontWeight: FontWeight.w700, + fontFamily: 'Helvetica'), + ); +} + Widget text12400white(String text) { return Text( text, @@ -68,6 +91,17 @@ Widget text12400white(String text) { ); } +Widget text12400whiteblur(String text) { + return Text( + text, + style: TextStyle( + fontSize: 12.sp, + color: AppColors.white.withOpacity(0.8), + fontWeight: FontWeight.w400, + fontFamily: 'Helvetica'), + ); +} + Widget text14400white(String text) { return Text( text, @@ -80,6 +114,18 @@ Widget text14400white(String text) { ); } +Widget text14400whiteblur(String text) { + return Text( + text, + // textAlign: TextAlign.center, + style: TextStyle( + fontSize: 14.sp, + color: AppColors.white.withOpacity(0.8), + fontWeight: FontWeight.w400, + fontFamily: 'Helvetica'), + ); +} + Widget text14700white(String text) { return Text( text, @@ -177,6 +223,20 @@ Widget text16w400white(String text, {TextAlign? textAlign}) { ), ); } + +Widget text16w700white(String text, {TextAlign? textAlign}) { + return Text( + text, + textAlign: textAlign, + style: TextStyle( + fontSize: 16.sp, + fontFamily: 'Helvetica', + fontWeight: FontWeight.w700, + color: AppColors.white, + ), + ); +} + Widget text18w700white(String text, {TextAlign? textAlign}) { return Text( text, @@ -190,6 +250,19 @@ Widget text18w700white(String text, {TextAlign? textAlign}) { ); } +Widget text18w400white(String text, {TextAlign? textAlign}) { + return Text( + text, + textAlign: textAlign, + style: TextStyle( + fontSize: 18.sp, + fontFamily: 'Helvetica', + fontWeight: FontWeight.w400, + color: AppColors.white, + ), + ); +} + Widget text14w400white(String text, {TextAlign? textAlign}) { return Text( text, @@ -272,6 +345,30 @@ Widget text16w700_FCFCFC(String text) { ); } +Widget text16w700_FCFCFCblur(String text) { + return Text( + text, + style: TextStyle( + fontSize: 16.sp, + color: Color(0xFFFCFCFC).withOpacity(0.8), + fontFamily: 'Helvetica', + fontWeight: FontWeight.w700), + ); +} + +Widget text16w700_FCFCFCline(String text) { + return Text( + text, + style: TextStyle( + decoration: TextDecoration.underline, + decorationColor: Color(0xFFFCFCFC), + fontSize: 16.sp, + color: Color(0xFFFCFCFC), + fontFamily: 'Helvetica', + fontWeight: FontWeight.w700), + ); +} + Widget text16w700_FCFCFCUnderline(String text) { return Text( text, diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart index f96b1a1..19cc260 100644 --- a/lib/resources/routes/route_name.dart +++ b/lib/resources/routes/route_name.dart @@ -42,6 +42,12 @@ class RouteName { static const String managegroups = '/managegroups'; static const String addgroup = '/addgroup'; static const String newcommunity = '/newcommunity'; + static const String resourcepool = '/resourcepool'; + static const String eventDetails = '/eventDetails'; + static const String addEvent = '/addEvent'; + static const String setavailabillity = '/setavailabillity'; + static const String addUsers = '/addUsers'; + // static const String managemembers= '/managemembers'; } diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart index b013d90..1f67222 100644 --- a/lib/resources/routes/routes.dart +++ b/lib/resources/routes/routes.dart @@ -1,4 +1,9 @@ import 'package:get/get_navigation/src/routes/get_route.dart'; +import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/AddEvent/AddEvent.dart'; +import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/AddUsers/AddUsers.dart'; +import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/EventDetails.dart'; +import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/Resource%20Pool/ResourcePool.dart'; +import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/SetAvailabillity.dart'; import 'package:regroup/Feed%20Module/sidemenu/Community/Admin/PopupItem/Community%20settings/CommunitySetting.dart'; import 'package:regroup/Feed%20Module/sidemenu/Community/Admin/PopupItem/Community%20settings/EditCommunity/EditCommunity.dart'; import 'package:regroup/Feed%20Module/sidemenu/Community/Admin/PopupItem/Community%20settings/ManageGroup.dart'; @@ -201,5 +206,29 @@ class AppRoutes { name: RouteName.newcommunity, page: () => const NewCommunity(), ), + GetPage( + name: RouteName.resourcepool, + page: () => const ResourcePool(), + ), + GetPage( + name: RouteName.eventDetails, + page: () => const EventDetails(), + ), + GetPage( + name: RouteName.addEvent, + page: () => const AddEvent(), + ), + GetPage( + name: RouteName.setavailabillity, + page: () => const SetAvailabillity(), + ), + GetPage( + name: RouteName.addUsers, + page: () => const AddUsers(), + ), + // GetPage( + // name: RouteName.managemembers, + // page: () => const ManageMembers(), + // ), ]; } diff --git a/pubspec.lock b/pubspec.lock index 931909c..d5db80b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -41,6 +41,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + calendar_date_picker2: + dependency: "direct main" + description: + name: calendar_date_picker2 + sha256: "5fddc1fb78c8f218b2e0dd6bae239f7ac502784c62f34ef96f4b22a8cb5d5608" + url: "https://pub.dev" + source: hosted + version: "1.0.3" characters: dependency: transitive description: @@ -400,6 +408,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.2.1+1" + intl: + dependency: transitive + description: + name: intl + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + url: "https://pub.dev" + source: hosted + version: "0.19.0" js: dependency: transitive description: @@ -717,6 +733,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + syncfusion_flutter_calendar: + dependency: "direct main" + description: + name: syncfusion_flutter_calendar + sha256: "4c14947b6a398afbbb341b4ea069bc0c1a68d5459ff8b04c8668342ea6380820" + url: "https://pub.dev" + source: hosted + version: "25.2.7" + syncfusion_flutter_core: + dependency: transitive + description: + name: syncfusion_flutter_core + sha256: e17dcc7a1d0701e84d0a83c0040503cdcc6c72e44db0d733ab4c706dd5b8b9f8 + url: "https://pub.dev" + source: hosted + version: "25.2.7" + syncfusion_flutter_datepicker: + dependency: transitive + description: + name: syncfusion_flutter_datepicker + sha256: ebe93b6b54937164ee8b19cd036f314f226a5d69c47da97d05ce07a0ecae4dee + url: "https://pub.dev" + source: hosted + version: "25.2.7" term_glyph: dependency: transitive description: @@ -733,6 +773,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.1" + timezone: + dependency: transitive + description: + name: timezone + sha256: a6ccda4a69a442098b602c44e61a1e2b4bf6f5516e875bbf0f427d5df14745d5 + url: "https://pub.dev" + source: hosted + version: "0.9.3" typed_data: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index d7baf4b..a2e334e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -59,6 +59,8 @@ dependencies: dropdown_button2: ^2.3.9 flutter_reaction_button: any + syncfusion_flutter_calendar: ^25.2.7 + calendar_date_picker2: ^1.0.3 dev_dependencies: