diff --git a/lib/features/app_layout/view/app_layout.dart b/lib/features/app_layout/view/app_layout.dart index 5e6458e..6f3f41b 100644 --- a/lib/features/app_layout/view/app_layout.dart +++ b/lib/features/app_layout/view/app_layout.dart @@ -7,6 +7,7 @@ import 'package:syncrow_app/features/app_layout/view/widgets/app_body.dart'; import 'package:syncrow_app/features/app_layout/view/widgets/default_app_bar.dart'; import 'package:syncrow_app/features/app_layout/view/widgets/default_nav_bar.dart'; import 'package:syncrow_app/features/devices/view/widgets/smart_door/smart_linkage_view.dart'; +import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart'; import 'package:syncrow_app/utils/helpers/custom_page_route.dart'; import 'package:syncrow_app/utils/resource_manager/color_manager.dart'; @@ -19,23 +20,12 @@ class AppLayout extends StatelessWidget { create: (context) => HomeCubit.getInstance(), child: BlocBuilder( builder: (context, state) { - return AnnotatedRegion( - value: SystemUiOverlayStyle( - statusBarColor: ColorsManager.primaryColor.withOpacity(0.5), - statusBarIconBrightness: Brightness.light, - ), - child: SafeArea( - child: Scaffold( - backgroundColor: ColorsManager.backgroundColor, - extendBodyBehindAppBar: true, - extendBody: true, - appBar: HomeCubit.getInstance().spaces != null - ? const DefaultAppBar() - : null, - body: const AppBody(), - bottomNavigationBar: const DefaultNavBar(), - ), - ), + return DefaultScaffold( + appBar: HomeCubit.getInstance().spaces != null + ? const DefaultAppBar() + : null, + bottomNavBar: const DefaultNavBar(), + child: const AppBody(), ); }, ), diff --git a/lib/features/app_layout/view/widgets/app_body.dart b/lib/features/app_layout/view/widgets/app_body.dart index 6e80454..f3b5e7b 100644 --- a/lib/features/app_layout/view/widgets/app_body.dart +++ b/lib/features/app_layout/view/widgets/app_body.dart @@ -15,32 +15,20 @@ class AppBody extends StatelessWidget { return BlocConsumer( listener: (context, state) { if (state is GetSpacesError) { - // ScaffoldMessenger.of(context).showSnackBar( - // SnackBar( - // content: Text(state.errMessage), - // ), - // ); + ScaffoldMessenger.of(context).removeCurrentSnackBar(); + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(state.errMessage), + ), + ); } }, builder: (context, state) { - return Container( - width: MediaQuery.sizeOf(context).width, - height: MediaQuery.sizeOf(context).height, - decoration: const BoxDecoration( - image: DecorationImage( - image: AssetImage( - Assets.imagesBackground, - ), - fit: BoxFit.cover, - opacity: 0.4, - ), - ), - child: state is! GetSpacesLoading - ? state is! GetSpaceRoomsLoading - ? HomeCubit.getInstance().pages[HomeCubit.pageIndex] - : const Center(child: CircularProgressIndicator()) - : const Center(child: CircularProgressIndicator()), - ); + return state is! GetSpacesLoading + ? state is! GetSpaceRoomsLoading + ? HomeCubit.getInstance().pages[HomeCubit.pageIndex] + : const Center(child: CircularProgressIndicator()) + : const Center(child: CircularProgressIndicator()); }, ); } diff --git a/lib/features/app_layout/view/widgets/default_nav_bar.dart b/lib/features/app_layout/view/widgets/default_nav_bar.dart index 178faa5..79754a6 100644 --- a/lib/features/app_layout/view/widgets/default_nav_bar.dart +++ b/lib/features/app_layout/view/widgets/default_nav_bar.dart @@ -3,7 +3,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart'; import 'package:syncrow_app/utils/resource_manager/color_manager.dart'; -import 'package:syncrow_app/utils/resource_manager/constants.dart'; class DefaultNavBar extends StatelessWidget { const DefaultNavBar({ @@ -15,34 +14,23 @@ class DefaultNavBar extends StatelessWidget { return BlocBuilder( builder: (context, state) { var cubit = HomeCubit.getInstance(); - return SizedBox( - height: Constants.bottomNavBarHeight, - child: BottomNavigationBar( - backgroundColor: Colors.transparent, - onTap: (int index) { - cubit.updatePageIndex(index); - // if (DevicesCubit.getInstance().chosenCategoryView != null) { - // DevicesCubit.getInstance() - // .clearCategoriesSelection(context); - // } - // if (HomeCubit.getInstance().selectedRoom != null) { - // HomeCubit.getInstance().unselectRoom(); - // } - - HomeCubit.getInstance().updatePageIndex(index); - }, - currentIndex: HomeCubit.pageIndex, - selectedItemColor: ColorsManager.primaryColor, - selectedLabelStyle: const TextStyle( - color: ColorsManager.primaryColor, - fontSize: 10, - ), - showUnselectedLabels: true, - unselectedItemColor: Colors.grey, - type: BottomNavigationBarType.fixed, - elevation: 0, - items: HomeCubit.bottomNavItems, + return BottomNavigationBar( + backgroundColor: Colors.transparent, + onTap: (int index) { + cubit.updatePageIndex(index); + HomeCubit.getInstance().updatePageIndex(index); + }, + currentIndex: HomeCubit.pageIndex, + selectedItemColor: ColorsManager.primaryColor, + selectedLabelStyle: const TextStyle( + color: ColorsManager.primaryColor, + fontSize: 10, ), + showUnselectedLabels: true, + unselectedItemColor: Colors.grey, + type: BottomNavigationBarType.fixed, + elevation: 0, + items: HomeCubit.bottomNavItems, ); }, ); diff --git a/lib/features/dashboard/view/dashboard_view.dart b/lib/features/dashboard/view/dashboard_view.dart index 9977200..b1f8385 100644 --- a/lib/features/dashboard/view/dashboard_view.dart +++ b/lib/features/dashboard/view/dashboard_view.dart @@ -15,45 +15,36 @@ class DashboardView extends StatelessWidget { @override Widget build(BuildContext context) { - return Padding( - padding: EdgeInsets.only( - top: Constants.appBarHeight, - left: Constants.defaultPadding, - right: Constants.defaultPadding, - bottom: Constants.bottomNavBarHeight, - ), - child: SingleChildScrollView( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - const TitleMedium( - text: StringsManager.dashboard, - style: TextStyle( - fontSize: 32, - fontWeight: FontWeight.bold, - ), + return SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const TitleMedium( + text: StringsManager.dashboard, + style: TextStyle( + fontSize: 32, + fontWeight: FontWeight.bold, ), - const LiveMonitorTab(), - const SizedBox(height: 10), - const EnergyUsage(), - Container( - padding: const EdgeInsets.only(top: 20), - constraints: const BoxConstraints( - minHeight: 220, - maxHeight: 240, - ), - child: const Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Consumption(), - SizedBox(height: 20), - CarbonEmission(), - ], - ), + ), + const LiveMonitorTab(), + const SizedBox(height: 10), + const EnergyUsage(), + Container( + padding: const EdgeInsets.only(top: 20), + constraints: const BoxConstraints( + minHeight: 220, + maxHeight: 240, ), - ], - ), + child: const Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Consumption(), + SizedBox(height: 20), + CarbonEmission(), + ], + ), + ), + ], ), ); } diff --git a/lib/features/shared_widgets/default_scaffold.dart b/lib/features/shared_widgets/default_scaffold.dart index 1a1f0df..4dcc674 100644 --- a/lib/features/shared_widgets/default_scaffold.dart +++ b/lib/features/shared_widgets/default_scaffold.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart'; @@ -9,11 +8,18 @@ import 'package:syncrow_app/utils/resource_manager/font_manager.dart'; class DefaultScaffold extends StatelessWidget { const DefaultScaffold( - {super.key, required this.child, this.title, this.actions}); + {super.key, + required this.child, + this.title, + this.actions, + this.appBar, + this.bottomNavBar}); final Widget child; final String? title; final List? actions; + final PreferredSizeWidget? appBar; + final Widget? bottomNavBar; @override Widget build(BuildContext context) { return AnnotatedRegion( @@ -26,20 +32,22 @@ class DefaultScaffold extends StatelessWidget { backgroundColor: ColorsManager.backgroundColor, extendBodyBehindAppBar: true, extendBody: true, - appBar: AppBar( - backgroundColor: Colors.transparent, - centerTitle: true, - title: BodyLarge( - text: title ?? "", - fontColor: ColorsManager.primaryColor, - fontWeight: FontsManager.bold, - ), - actions: actions, - ), + appBar: appBar ?? + AppBar( + backgroundColor: Colors.transparent, + centerTitle: true, + title: BodyLarge( + text: title ?? "", + fontColor: ColorsManager.primaryColor, + fontWeight: FontsManager.bold, + ), + actions: actions, + ), body: Container( width: MediaQuery.sizeOf(context).width, height: MediaQuery.sizeOf(context).height, - padding: const EdgeInsets.all(Constants.defaultPadding), + padding: + const EdgeInsets.symmetric(horizontal: Constants.defaultPadding), decoration: const BoxDecoration( image: DecorationImage( image: AssetImage( @@ -51,6 +59,7 @@ class DefaultScaffold extends StatelessWidget { ), child: SafeArea(child: child), ), + bottomNavigationBar: bottomNavBar, ), ); } diff --git a/lib/utils/resource_manager/constants.dart b/lib/utils/resource_manager/constants.dart index e1748dd..0e51742 100644 --- a/lib/utils/resource_manager/constants.dart +++ b/lib/utils/resource_manager/constants.dart @@ -9,8 +9,8 @@ abstract class Constants { static const String countryCode = "US"; - static const double appBarHeightPercentage = 0.12; - static const double bottomNavBarHeightPercentage = 0.1175; + static const double appBarHeightPercentage = 0.1; + static const double bottomNavBarHeightPercentage = 0.1; static late double appBarHeight; static late double bottomNavBarHeight;