diff --git a/evently/assets/images/text_field_multi_line.png b/evently/assets/images/text_field_multi_line.png index e596c1e486..01e89c9bb0 100644 Binary files a/evently/assets/images/text_field_multi_line.png and b/evently/assets/images/text_field_multi_line.png differ diff --git a/evently/assets/images/text_field_single_line.png b/evently/assets/images/text_field_single_line.png index d02c2eb975..d9286e4db0 100644 Binary files a/evently/assets/images/text_field_single_line.png and b/evently/assets/images/text_field_single_line.png differ diff --git a/evently/lib/screens/buyer_status_screen.dart b/evently/lib/screens/buyer_status_screen.dart index 2d2e62606f..1c31fd0f19 100644 --- a/evently/lib/screens/buyer_status_screen.dart +++ b/evently/lib/screens/buyer_status_screen.dart @@ -15,7 +15,7 @@ class _BuyerResponseScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: EventlyAppTheme.kLightGreen, + backgroundColor: EventlyAppTheme.kGreen, body: SizedBox( width: double.infinity, child: Column( @@ -36,7 +36,7 @@ class _BuyerResponseScreenState extends State { child: const Icon( Icons.check, size: 161, - color: EventlyAppTheme.kLightGreen, + color: EventlyAppTheme.kGreen, ), ) ], diff --git a/evently/lib/screens/custom_widgets/step_labels.dart b/evently/lib/screens/custom_widgets/step_labels.dart index af388a4b75..e7bd25ab1c 100644 --- a/evently/lib/screens/custom_widgets/step_labels.dart +++ b/evently/lib/screens/custom_widgets/step_labels.dart @@ -33,7 +33,7 @@ class StepLabels extends StatelessWidget { fontSize: 8.sp, fontFamily: 'Inter', fontWeight: FontWeight.w700, - color: currentStep.value >= index ? EventlyAppTheme.kBlue : EventlyAppTheme.kGrey, + color: currentStep.value >= index ? EventlyAppTheme.kBlue : EventlyAppTheme.kGery03, ), ), ], diff --git a/evently/lib/screens/custom_widgets/steps_indicator.dart b/evently/lib/screens/custom_widgets/steps_indicator.dart index dd371d675d..e0c984e1cf 100644 --- a/evently/lib/screens/custom_widgets/steps_indicator.dart +++ b/evently/lib/screens/custom_widgets/steps_indicator.dart @@ -21,11 +21,11 @@ class MyStepsIndicator extends StatelessWidget { nbSteps: 4, lineLength: 0.68.sw / 4, doneLineColor: EventlyAppTheme.kBlue, - undoneLineColor: EventlyAppTheme.kLightGrey, + undoneLineColor: EventlyAppTheme.kGery03, doneLineThickness: 1.5, undoneLineThickness: 1.5, - unselectedStepColorIn: EventlyAppTheme.kLightGrey, - unselectedStepColorOut: EventlyAppTheme.kLightGrey, + unselectedStepColorIn: EventlyAppTheme.kGery03, + unselectedStepColorOut: EventlyAppTheme.kGery03, doneStepColor: EventlyAppTheme.kBlue, selectedStepColorIn: EventlyAppTheme.kBlue, selectedStepColorOut: EventlyAppTheme.kBlue, @@ -33,7 +33,7 @@ class MyStepsIndicator extends StatelessWidget { enableStepAnimation: true, lineLengthCustomStep: const [], doneStepWidget: Container(width: 10.w, height: 10.h, decoration: const BoxDecoration(color: EventlyAppTheme.kBlue)), - unselectedStepWidget: Container(width: 10.w, height: 10.h, decoration: const BoxDecoration(color: EventlyAppTheme.kLightGrey)), + unselectedStepWidget: Container(width: 10.w, height: 10.h, decoration: const BoxDecoration(color: EventlyAppTheme.kGery03)), selectedStepWidget: Container(width: 15.w, height: 15.h, decoration: const BoxDecoration(color: EventlyAppTheme.kBlue)), ); }); diff --git a/evently/lib/screens/detail_screen.dart b/evently/lib/screens/detail_screen.dart index 21ef7d60ce..38fbbae2c8 100644 --- a/evently/lib/screens/detail_screen.dart +++ b/evently/lib/screens/detail_screen.dart @@ -3,10 +3,9 @@ import 'package:evently/evently_provider.dart'; import 'package:evently/generated/locale_keys.g.dart'; import 'package:evently/screens/custom_widgets/step_labels.dart'; import 'package:evently/screens/custom_widgets/steps_indicator.dart'; -import 'package:evently/utils/evently_app_theme.dart'; +import 'package:evently/screens/price_screen.dart'; import 'package:evently/utils/space_utils.dart'; import 'package:evently/viewmodels/create_event_viewmodel.dart'; -import 'package:evently/widgets/clipped_button.dart'; import 'package:evently/widgets/evently_text_field.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -39,45 +38,9 @@ class _DetailsScreenState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const VerticalSpace(20), MyStepsIndicator(currentStep: createEventViewModel.currentStep), - const VerticalSpace(5), StepLabels(currentPage: createEventViewModel.currentPage, currentStep: createEventViewModel.currentStep), - const VerticalSpace(10), - const VerticalSpace(20), - Stack( - alignment: Alignment.center, - children: [ - Align( - alignment: Alignment.centerLeft, - child: ValueListenableBuilder( - valueListenable: createEventViewModel.currentPage, - builder: (_, int currentPage, __) => Padding( - padding: EdgeInsets.only(left: 10.sp), - child: IconButton( - onPressed: () { - FocusScope.of(context).unfocus(); - ScaffoldMessenger.of(context).hideCurrentSnackBar(); - Navigator.pop(context); - }, - icon: const Icon( - Icons.arrow_back_ios, - color: EventlyAppTheme.kGrey, - ), - )), - )), - ValueListenableBuilder( - valueListenable: createEventViewModel.currentPage, - builder: (_, int currentPage, __) { - return Text( - createEventViewModel.pageTitles[createEventViewModel.currentPage.value], - style: Theme.of(context).textTheme.bodyLarge!.copyWith(fontSize: 18.sp, fontWeight: FontWeight.w700, color: EventlyAppTheme.kDarkText), - ); - }, - ), - ], - ), - const VerticalSpace(20), + PageAppBar(onPressBack: () {}), Padding( padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 15.h), child: Column( @@ -159,30 +122,11 @@ class _DetailsScreenState extends State { }, noOfLines: 4, ), - VerticalSpace(20.h), - ClippedButton( - title: LocaleKeys.continue_key.tr(), - bgColor: EventlyAppTheme.kBlue, - textColor: EventlyAppTheme.kWhite, - onPressed: () { - createEventViewModel.nextPage(); - }, - cuttingHeight: 15.h, - clipperType: ClipperType.bottomLeftTopRight, - isShadow: false, - fontWeight: FontWeight.w700, - ), - VerticalSpace(10.h), - Center( - child: InkWell( - onTap: () {}, - child: Text( - LocaleKeys.save_draft.tr(), - style: TextStyle(color: EventlyAppTheme.kLightGreyText, fontSize: 14.sp, fontWeight: FontWeight.w700), - ), - ), + BottomButtons( + onPressContinue: () {}, + onPressSaveDraft: () {}, + isContinueEnable: false, ), - VerticalSpace(5.h), ], ), ), diff --git a/evently/lib/screens/event_hub/event_hub_screen.dart b/evently/lib/screens/event_hub/event_hub_screen.dart index b279718b90..bcfdcf85a1 100644 --- a/evently/lib/screens/event_hub/event_hub_screen.dart +++ b/evently/lib/screens/event_hub/event_hub_screen.dart @@ -17,14 +17,14 @@ class EventHubScreen extends StatefulWidget { class _EventHubScreenState extends State { TextStyle headingStyle = TextStyle( - fontSize: isTablet ? 20.sp : 20.sp, - fontWeight: FontWeight.w800, - color: EventlyAppTheme.kLightPurple, + fontSize: isTablet ? 20.sp : 25, + fontWeight: FontWeight.bold, + color: EventlyAppTheme.kTextLightPurple, fontFamily: kUniversalFontFamily, ); TextStyle titleStyle = TextStyle( - fontSize: isTablet ? 14.sp : 14.sp, - fontWeight: FontWeight.w700, + fontSize: isTablet ? 14.sp : 15, + fontWeight: FontWeight.bold, color: EventlyAppTheme.kWhite, fontFamily: kUniversalFontFamily, ); @@ -38,7 +38,7 @@ class _EventHubScreenState extends State { TextStyle subTitleStyle = TextStyle( fontSize: isTablet ? 12.sp : 12.sp, fontWeight: FontWeight.w700, - color: EventlyAppTheme.kLightText, + color: EventlyAppTheme.kGrey01, fontFamily: kUniversalFontFamily, ); @@ -64,10 +64,7 @@ class _EventHubScreenState extends State { InkWell( onTap: () => Navigator.of(context).pushNamed(RouteUtil.kCreateEvent), child: DecoratedBox( - decoration: BoxDecoration( - color: EventlyAppTheme.kpurpleDark, - boxShadow: [BoxShadow(color: EventlyAppTheme.kpurpleDark.withOpacity(0.6), blurRadius: 8.0)], - ), + decoration: const BoxDecoration(color: EventlyAppTheme.kTextLightBlue), child: Icon(Icons.add, size: 27.h, color: EventlyAppTheme.kWhite), ), ), diff --git a/evently/lib/screens/host_view_ticket_preview.dart b/evently/lib/screens/host_view_ticket_preview.dart index 75178cb432..5eabc83d92 100644 --- a/evently/lib/screens/host_view_ticket_preview.dart +++ b/evently/lib/screens/host_view_ticket_preview.dart @@ -1,10 +1,7 @@ -import 'package:easy_localization/easy_localization.dart'; -import 'package:evently/generated/locale_keys.g.dart'; +import 'package:evently/screens/price_screen.dart'; import 'package:evently/utils/constants.dart'; import 'package:evently/utils/evently_app_theme.dart'; -import 'package:evently/utils/route_util.dart'; import 'package:evently/utils/space_utils.dart'; -import 'package:evently/widgets/clipped_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -26,34 +23,10 @@ class _HostTicketPreviewState extends State { bottomNavigationBar: Container( padding: EdgeInsets.symmetric(horizontal: 30.w), height: 110.h, - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - ClippedButton( - title: LocaleKeys.publish.tr(), - bgColor: EventlyAppTheme.kBlue, - textColor: EventlyAppTheme.kWhite, - onPressed: () { - Navigator.of(context).pushReplacementNamed(RouteUtil.kRouteEventHub); - }, - cuttingHeight: 15.h, - clipperType: ClipperType.bottomLeftTopRight, - isShadow: false, - fontWeight: FontWeight.w700, - ), - VerticalSpace(10.h), - Center( - child: InkWell( - onTap: () {}, - child: Text( - LocaleKeys.save_draft.tr(), - style: TextStyle(color: EventlyAppTheme.kLightGreyText, fontSize: 14.sp, fontWeight: FontWeight.w700), - ), - ), - ), - VerticalSpace(5.h), - ], + child: BottomButtons( + onPressContinue: () {}, + onPressSaveDraft: () {}, + isContinueEnable: false, ), ), body: SingleChildScrollView( @@ -212,7 +185,7 @@ class _HostTicketPreviewState extends State { SizedBox(width: 5.w), Text( 'Redeem', - style: TextStyle(fontSize: 15.sp, color: EventlyAppTheme.kDarkGreen, fontWeight: FontWeight.bold), + style: TextStyle(fontSize: 15.sp, color: EventlyAppTheme.kGreenText, fontWeight: FontWeight.bold), ) ], ) diff --git a/evently/lib/screens/overview_screen.dart b/evently/lib/screens/overview_screen.dart index c8b99589ec..685c022d39 100644 --- a/evently/lib/screens/overview_screen.dart +++ b/evently/lib/screens/overview_screen.dart @@ -1,15 +1,14 @@ -import 'dart:io'; import 'package:dotted_border/dotted_border.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:evently/evently_provider.dart'; import 'package:evently/generated/locale_keys.g.dart'; import 'package:evently/screens/custom_widgets/step_labels.dart'; import 'package:evently/screens/custom_widgets/steps_indicator.dart'; +import 'package:evently/screens/price_screen.dart'; import 'package:evently/utils/constants.dart'; import 'package:evently/utils/evently_app_theme.dart'; import 'package:evently/utils/space_utils.dart'; import 'package:evently/viewmodels/create_event_viewmodel.dart'; -import 'package:evently/widgets/clipped_button.dart'; import 'package:evently/widgets/evently_text_field.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -45,39 +44,7 @@ class _OverViewScreenState extends State { children: [ MyStepsIndicator(currentStep: createEventViewModel.currentStep), StepLabels(currentPage: createEventViewModel.currentPage, currentStep: createEventViewModel.currentStep), - Stack( - alignment: Alignment.center, - children: [ - Align( - alignment: Alignment.centerLeft, - child: ValueListenableBuilder( - valueListenable: createEventViewModel.currentPage, - builder: (_, int currentPage, __) => Padding( - padding: EdgeInsets.only(left: 10.sp), - child: IconButton( - onPressed: () { - FocusScope.of(context).unfocus(); - ScaffoldMessenger.of(context).hideCurrentSnackBar(); - Navigator.pop(context); - }, - icon: const Icon( - Icons.arrow_back_ios, - color: EventlyAppTheme.kGrey, - ), - )), - ), - ), - ValueListenableBuilder( - valueListenable: createEventViewModel.currentPage, - builder: (_, int currentPage, __) { - return Text( - createEventViewModel.pageTitles[createEventViewModel.currentPage.value], - style: Theme.of(context).textTheme.bodyLarge!.copyWith(fontSize: 18.sp, fontWeight: FontWeight.w700, color: EventlyAppTheme.kDarkText), - ); - }, - ), - ], - ), + PageAppBar(onPressBack: () {}), Padding( padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 15.h), child: Column( @@ -109,7 +76,7 @@ class _OverViewScreenState extends State { child: DottedBorder( borderType: BorderType.Rect, dashPattern: const [10, 6], - color: EventlyAppTheme.kLightPurple, + color: EventlyAppTheme.kTextDarkPurple, strokeWidth: 3.h, child: provider.thumbnail != null ? Stack( @@ -128,14 +95,14 @@ class _OverViewScreenState extends State { children: [ Text( LocaleKeys.tap_select.tr(), - style: TextStyle(fontSize: 18.sp, fontWeight: FontWeight.bold, color: EventlyAppTheme.kLightPurple), + style: TextStyle(fontSize: 18.sp, fontWeight: FontWeight.bold, color: EventlyAppTheme.kTextDarkPurple), ), VerticalSpace(10.h), SvgPicture.asset(SVGUtils.kSvgUpload), VerticalSpace(10.h), Text( LocaleKeys.mb_limit.tr(), - style: TextStyle(fontSize: 18.sp, fontWeight: FontWeight.bold, color: EventlyAppTheme.kLightPurple), + style: TextStyle(fontSize: 18.sp, fontWeight: FontWeight.bold, color: EventlyAppTheme.kTextDarkPurple), ), ], ), @@ -144,30 +111,11 @@ class _OverViewScreenState extends State { ), ), ), - VerticalSpace(20.h), - ClippedButton( - title: LocaleKeys.continue_key.tr(), - bgColor: EventlyAppTheme.kBlue, - textColor: EventlyAppTheme.kWhite, - onPressed: () { - createEventViewModel.nextPage(); - }, - cuttingHeight: 15.h, - clipperType: ClipperType.bottomLeftTopRight, - isShadow: false, - fontWeight: FontWeight.w700, - ), - VerticalSpace(10.h), - Center( - child: InkWell( - onTap: () {}, - child: Text( - LocaleKeys.save_draft.tr(), - style: TextStyle(color: EventlyAppTheme.kLightGreyText, fontSize: 14.sp, fontWeight: FontWeight.w700), - ), - ), - ), - VerticalSpace(5.h), + BottomButtons( + onPressContinue: () {}, + onPressSaveDraft: () {}, + isContinueEnable: false, + ) ], ), ), diff --git a/evently/lib/screens/perks_screen.dart b/evently/lib/screens/perks_screen.dart index 6da878b98a..6395c4f61f 100644 --- a/evently/lib/screens/perks_screen.dart +++ b/evently/lib/screens/perks_screen.dart @@ -2,6 +2,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:evently/generated/locale_keys.g.dart'; import 'package:evently/screens/custom_widgets/step_labels.dart'; import 'package:evently/screens/custom_widgets/steps_indicator.dart'; +import 'package:evently/screens/price_screen.dart'; import 'package:evently/utils/constants.dart'; import 'package:evently/utils/evently_app_theme.dart'; import 'package:evently/utils/screen_responsive.dart'; @@ -47,37 +48,11 @@ class _PerksScreenState extends State { const VerticalSpace(5), StepLabels(currentPage: createEventViewModel.currentPage, currentStep: createEventViewModel.currentStep), const VerticalSpace(20), - Stack( - alignment: Alignment.center, - children: [ - Align( - alignment: Alignment.centerLeft, - child: ValueListenableBuilder( - valueListenable: createEventViewModel.currentPage, - builder: (_, int currentPage, __) => Padding( - padding: EdgeInsets.only(left: 10.sp), - child: IconButton( - onPressed: () { - FocusScope.of(context).unfocus(); - ScaffoldMessenger.of(context).hideCurrentSnackBar(); - Navigator.pop(context); - }, - icon: const Icon( - Icons.arrow_back_ios, - color: EventlyAppTheme.kGrey, - ), - )), - )), - ValueListenableBuilder( - valueListenable: createEventViewModel.currentPage, - builder: (_, int currentPage, __) { - return Text( - createEventViewModel.pageTitles[createEventViewModel.currentPage.value], - style: Theme.of(context).textTheme.bodyLarge!.copyWith(fontSize: 18.sp, fontWeight: FontWeight.w700, color: EventlyAppTheme.kDarkText), - ); - }, - ), - ], + PageAppBar( + onPressBack: () { + ScaffoldMessenger.of(context).hideCurrentSnackBar(); + createEventViewModel.previousPage(); + }, ), const VerticalSpace(20), Padding( @@ -93,7 +68,7 @@ class _PerksScreenState extends State { onTap: () {}, child: DecoratedBox( decoration: const BoxDecoration( - color: EventlyAppTheme.kpurpleDark, + color: EventlyAppTheme.kBlue, ), child: Icon(Icons.add, size: 16.h, color: EventlyAppTheme.kWhite), ), @@ -106,7 +81,7 @@ class _PerksScreenState extends State { padding: EdgeInsets.symmetric(horizontal: 20.w), child: Text( LocaleKeys.there_no_perks_created.tr(), - style: TextStyle(fontSize: 15.sp, fontWeight: FontWeight.w700, color: EventlyAppTheme.kDarkGrey02), + style: TextStyle(fontSize: 15.sp, fontWeight: FontWeight.w700, color: EventlyAppTheme.kGrey01), ), ), Padding( @@ -162,7 +137,7 @@ class _PerksScreenState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Container(padding: const EdgeInsets.all(7), color: EventlyAppTheme.kPurple03, child: SvgPicture.asset(SVGUtils.kShirt)), + Container(padding: const EdgeInsets.all(7), color: EventlyAppTheme.kTextLightPurple, child: SvgPicture.asset(SVGUtils.kShirt)), Container(padding: const EdgeInsets.all(7), color: Colors.transparent, child: SvgPicture.asset(SVGUtils.kGift)), Container(padding: const EdgeInsets.all(7), color: Colors.transparent, child: SvgPicture.asset(SVGUtils.kDrinks)), ], @@ -182,40 +157,13 @@ class _PerksScreenState extends State { }, ), ), - ], ), - Padding( - padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 15.h), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - ClippedButton( - title: LocaleKeys.continue_key.tr(), - bgColor: EventlyAppTheme.kBlue, - textColor: EventlyAppTheme.kWhite, - onPressed: () { - createEventViewModel.nextPage(); - }, - cuttingHeight: 15.h, - clipperType: ClipperType.bottomLeftTopRight, - isShadow: false, - fontWeight: FontWeight.w700, - ), - VerticalSpace(10.h), - Center( - child: InkWell( - onTap: () {}, - child: Text( - LocaleKeys.save_draft.tr(), - style: TextStyle(color: EventlyAppTheme.kLightGreyText, fontSize: 14.sp, fontWeight: FontWeight.w700), - ), - ), - ), - VerticalSpace(5.h), - ], - ), - ), + BottomButtons( + onPressContinue: () {}, + onPressSaveDraft: () {}, + isContinueEnable: false, + ) ], ), ), diff --git a/evently/lib/screens/price_screen.dart b/evently/lib/screens/price_screen.dart index 61407f0385..6feaf5ab2b 100644 --- a/evently/lib/screens/price_screen.dart +++ b/evently/lib/screens/price_screen.dart @@ -57,36 +57,11 @@ class _PriceScreenState extends State { StepLabels(currentPage: homeViewModel.currentPage, currentStep: homeViewModel.currentStep), const VerticalSpace(10), const VerticalSpace(20), - Stack( - alignment: Alignment.center, - children: [ - Align( - alignment: Alignment.centerLeft, - child: ValueListenableBuilder( - valueListenable: homeViewModel.currentPage, - builder: (_, int currentPage, __) => Padding( - padding: EdgeInsets.only(left: 10.sp), - child: IconButton( - onPressed: () { - ScaffoldMessenger.of(context).hideCurrentSnackBar(); - homeViewModel.previousPage(); - }, - icon: const Icon( - Icons.arrow_back_ios, - color: EventlyAppTheme.kGrey, - ), - )), - )), - ValueListenableBuilder( - valueListenable: homeViewModel.currentPage, - builder: (_, int currentPage, __) { - return Text( - homeViewModel.pageTitles[homeViewModel.currentPage.value], - style: Theme.of(context).textTheme.bodyLarge!.copyWith(fontSize: 18.sp, fontWeight: FontWeight.w700, color: EventlyAppTheme.kDarkText), - ); - }, - ), - ], + PageAppBar( + onPressBack: () { + ScaffoldMessenger.of(context).hideCurrentSnackBar(); + homeViewModel.previousPage(); + }, ), ScreenResponsive( mobileScreen: (context) => const VerticalSpace(6), @@ -169,7 +144,7 @@ class _PriceScreenState extends State { ), Text( LocaleKeys.network_fee_listed_price_occur_on_chain.tr(), - style: TextStyle(color: EventlyAppTheme.kLightPurple, fontSize: 14.sp, fontWeight: FontWeight.w800), + style: TextStyle(color: EventlyAppTheme.kTextDarkPurple, fontSize: 14.sp, fontWeight: FontWeight.w800), ), VerticalSpace(20.h), EventlyTextField( @@ -202,7 +177,7 @@ class _PriceScreenState extends State { alignment: Alignment.centerRight, child: Text( LocaleKeys.maximum_1000.tr(), - style: TextStyle(color: EventlyAppTheme.kLightPurple, fontSize: 14.sp, fontWeight: FontWeight.w800), + style: TextStyle(color: EventlyAppTheme.kTextDarkPurple, fontSize: 14.sp, fontWeight: FontWeight.w800), textAlign: TextAlign.right, ), ), @@ -215,31 +190,11 @@ class _PriceScreenState extends State { tabletScreen: (_) => VerticalSpace(0.05.sh), ), VerticalSpace(20.h), - ClippedButton( - title: LocaleKeys.continue_key.tr(), - bgColor: provider.isFreeDrop != FreeDrop.unselected ? EventlyAppTheme.kBlue : EventlyAppTheme.kPurple03, - textColor: EventlyAppTheme.kWhite, - onPressed: () async { - Navigator.of(context).pushNamed(RouteUtil.kHostTicketPreview); - }, - cuttingHeight: 15.h, - clipperType: ClipperType.bottomLeftTopRight, - isShadow: false, - fontWeight: FontWeight.w700, - ), - VerticalSpace(10.h), - Center( - child: InkWell( - onTap: () { - Navigator.of(context).pushNamed(RouteUtil.kHostTicketPreview); - }, - child: Text( - LocaleKeys.save_draft.tr(), - style: TextStyle(color: EventlyAppTheme.kLightGreyText, fontSize: 14.sp, fontWeight: FontWeight.w700), - ), - ), - ), - VerticalSpace(5.h), + BottomButtons( + onPressContinue: () {}, + onPressSaveDraft: () {}, + isContinueEnable: false, + ) ], ), ), @@ -251,3 +206,91 @@ class _PriceScreenState extends State { ); } } + +class BottomButtons extends StatelessWidget { + const BottomButtons({ + super.key, + required this.onPressContinue, + required this.onPressSaveDraft, + required this.isContinueEnable, + }); + + final VoidCallback onPressContinue; + final VoidCallback onPressSaveDraft; + final bool isContinueEnable; + + @override + Widget build(BuildContext context) { + return Column( + children: [ + ClippedButton( + title: LocaleKeys.continue_key.tr(), + bgColor: isContinueEnable ? EventlyAppTheme.kBlue : EventlyAppTheme.kGery03, + textColor: EventlyAppTheme.kWhite, + onPressed: () async { + Navigator.of(context).pushNamed(RouteUtil.kHostTicketPreview); + }, + cuttingHeight: 15.h, + clipperType: ClipperType.bottomLeftTopRight, + isShadow: false, + fontWeight: FontWeight.w700, + ), + VerticalSpace(10.h), + Center( + child: InkWell( + onTap: () { + Navigator.of(context).pushNamed(RouteUtil.kHostTicketPreview); + }, + child: Text( + LocaleKeys.save_draft.tr(), + style: TextStyle(color: EventlyAppTheme.kTextGrey02, fontSize: 14.sp, fontWeight: FontWeight.w700), + ), + ), + ), + VerticalSpace(5.h), + ], + ); + } +} + +class PageAppBar extends StatelessWidget { + const PageAppBar({ + super.key, + required this.onPressBack, + }); + + final VoidCallback onPressBack; + + @override + Widget build(BuildContext context) { + final createEventViewModel = context.watch(); + return Stack( + alignment: Alignment.center, + children: [ + Align( + alignment: Alignment.centerLeft, + child: ValueListenableBuilder( + valueListenable: createEventViewModel.currentPage, + builder: (_, int currentPage, __) => Padding( + padding: EdgeInsets.only(left: 10.sp), + child: IconButton( + onPressed: onPressBack, + icon: const Icon( + Icons.arrow_back_ios, + color: EventlyAppTheme.kGrey02, + ), + )), + )), + ValueListenableBuilder( + valueListenable: createEventViewModel.currentPage, + builder: (_, int currentPage, __) { + return Text( + createEventViewModel.pageTitles[createEventViewModel.currentPage.value], + style: Theme.of(context).textTheme.bodyLarge!.copyWith(fontSize: 18.sp, fontWeight: FontWeight.w700, color: EventlyAppTheme.kTextDarkBlue), + ); + }, + ), + ], + ); + } +} diff --git a/evently/lib/utils/evently_app_theme.dart b/evently/lib/utils/evently_app_theme.dart index fdffffadc3..84a4173fb8 100644 --- a/evently/lib/utils/evently_app_theme.dart +++ b/evently/lib/utils/evently_app_theme.dart @@ -5,17 +5,24 @@ import 'package:google_fonts/google_fonts.dart'; class EventlyAppTheme { static const Color kWhite = Color(0xFFFFFFFF); static const Color kBlack = Color(0xFF000000); + static const Color kTransparent = Colors.transparent; ///* text color variations static const Color kTextBlack = Color(0xFF040214); static const Color kTextDarkBlue = Color(0xFF080830); static const Color kTextLightBlue = Color(0xFF1212C4); static const Color kTextLightPurple = Color(0xFFCBC8F3); + static const Color kTextGrey = Color(0xFF8D8C8C); + static const Color kTextDarkPurple = Color(0xFFB6B6E8); + static const Color kTextGrey02 = Color(0xFF9B9A9A); + static const Color kGreenText = Color(0xFF14FB00); static const Color kBlue = Color(0xFF1212C4); - static const Color kGrey01 = Color(0xFF707070); static const Color kGrey02 = Color(0xFF8D8C8C); + static const Color kGery03 = Color(0xFFC4C4C4); + static const Color kGrey04 = Color(0xFFA1A1A1); + static const Color kGreen = Color(0xFF0CAF59); static const String universalSansFamily = "UniversalSans"; diff --git a/evently/lib/widgets/evently_price_input_field.dart b/evently/lib/widgets/evently_price_input_field.dart index 5e59b98522..636a07a14c 100644 --- a/evently/lib/widgets/evently_price_input_field.dart +++ b/evently/lib/widgets/evently_price_input_field.dart @@ -38,7 +38,7 @@ class EventlyPriceInputField extends StatelessWidget { children: [ Expanded( child: TextFormField( - style: TextStyle(fontSize: 18.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kDarkText), + style: TextStyle(fontSize: 18.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kTextGrey), controller: controller, validator: validator, minLines: 1, @@ -46,7 +46,7 @@ class EventlyPriceInputField extends StatelessWidget { inputFormatters: inputFormatters, decoration: InputDecoration( hintText: "\$21.99", - hintStyle: TextStyle(fontSize: 15.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kGrey), + hintStyle: TextStyle(fontSize: 15.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kTextGrey), border: const OutlineInputBorder(borderSide: BorderSide.none), floatingLabelBehavior: FloatingLabelBehavior.always, contentPadding: EdgeInsets.fromLTRB(10.w, 0.h, 10.w, 0.h)))), @@ -82,7 +82,7 @@ class _CurrencyDropDown extends StatelessWidget { iconSize: 0, elevation: 0, underline: const SizedBox(), - dropdownColor: EventlyAppTheme.kPurple03, + dropdownColor: EventlyAppTheme.kTextLightPurple, style: TextStyle(color: EventlyAppTheme.kWhite, fontSize: 18.sp, fontWeight: FontWeight.w400), onChanged: (String? data) { if (data != null) { diff --git a/evently/lib/widgets/evently_text_field.dart b/evently/lib/widgets/evently_text_field.dart index cf22794f6b..6c930261c5 100644 --- a/evently/lib/widgets/evently_text_field.dart +++ b/evently/lib/widgets/evently_text_field.dart @@ -73,7 +73,7 @@ class EventlyTextField extends StatelessWidget { child: TextFormField( enabled: enable, onChanged: onChanged, - style: TextStyle(fontSize: noOfLines == 1 ? 18.sp : 15.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kDarkText), + style: TextStyle(fontSize: noOfLines == 1 ? 18.sp : 15.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kTextGrey), controller: controller, validator: validator, minLines: noOfLines, @@ -83,7 +83,7 @@ class EventlyTextField extends StatelessWidget { inputFormatters: inputFormatters, decoration: InputDecoration( hintText: hint, - hintStyle: TextStyle(fontSize: 15.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kGrey), + hintStyle: TextStyle(fontSize: 15.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kTextGrey), border: const OutlineInputBorder(borderSide: BorderSide.none), floatingLabelBehavior: FloatingLabelBehavior.always, contentPadding: EdgeInsets.fromLTRB(10.w, 0.h, 10.w, 0.h), @@ -99,7 +99,7 @@ class EventlyTextField extends StatelessWidget { child: Align( child: TextFormField( enabled: enable, - style: TextStyle(fontSize: noOfLines == 1 ? 16.sp : 14.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kDarkText), + style: TextStyle(fontSize: noOfLines == 1 ? 16.sp : 14.sp, fontWeight: FontWeight.w400, color: EventlyAppTheme.kTextGrey), controller: controller, validator: validator, minLines: noOfLines, @@ -109,7 +109,7 @@ class EventlyTextField extends StatelessWidget { inputFormatters: inputFormatters, decoration: InputDecoration( hintText: hint, - hintStyle: TextStyle(fontSize: noOfLines == 1 ? 16.sp : 14.sp, color: EventlyAppTheme.kGrey), + hintStyle: TextStyle(fontSize: noOfLines == 1 ? 16.sp : 14.sp, color: EventlyAppTheme.kTextGrey), border: const OutlineInputBorder(borderSide: BorderSide.none), floatingLabelBehavior: FloatingLabelBehavior.always, contentPadding: EdgeInsets.fromLTRB(10.w, 0.h, 10.w, 0.h),