From 2c8ea5d51c9e13cb75e0e0377e0d92d63756940e Mon Sep 17 00:00:00 2001 From: Mohammad Salameh Date: Wed, 1 May 2024 10:40:10 +0300 Subject: [PATCH] fixed DevicesView padding --- .../view/widgets/devices_view_body.dart | 131 +++++++----------- .../view/widgets/devices_view_header.dart | 32 ++--- .../devices/view/widgets/room_page.dart | 42 +++--- .../devices/view/widgets/rooms_slider.dart | 37 +++-- .../devices/view/widgets/wizard_page.dart | 8 +- 5 files changed, 102 insertions(+), 148 deletions(-) diff --git a/lib/features/devices/view/widgets/devices_view_body.dart b/lib/features/devices/view/widgets/devices_view_body.dart index 7a9d8fe..61c4f5b 100644 --- a/lib/features/devices/view/widgets/devices_view_body.dart +++ b/lib/features/devices/view/widgets/devices_view_body.dart @@ -8,7 +8,6 @@ import 'package:syncrow_app/features/devices/view/widgets/room_page.dart'; import 'package:syncrow_app/features/devices/view/widgets/rooms_slider.dart'; import 'package:syncrow_app/features/devices/view/widgets/wizard_page.dart'; import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart'; -import 'package:syncrow_app/utils/resource_manager/constants.dart'; class DevicesViewBody extends StatelessWidget { const DevicesViewBody({ @@ -17,93 +16,65 @@ class DevicesViewBody extends StatelessWidget { @override Widget build(BuildContext context) { - return BlocConsumer( - listener: (context, state) { - // if (state is GetDevicesError) { - // ScaffoldMessenger.of(context).showSnackBar( - // SnackBar( - // content: Text(state.errorMsg), - // ), - // ); - // } else if (state is DevicesCategoriesError) { - // ScaffoldMessenger.of(context).showSnackBar( - // SnackBar( - // content: Text(state.errorMsg), - // ), - // ); - // } else if (state is DeviceControlError) { - // ScaffoldMessenger.of(context).showSnackBar( - // SnackBar( - // content: Text(state.errorMsg), - // ), - // ); - // } - }, + return BlocBuilder( builder: (context, state) { if (state is DevicesLoading || state is GetDevicesLoading || state is DevicesCategoriesLoading) { return const Center(child: CircularProgressIndicator()); } else { - return Padding( - padding: EdgeInsets.only( - top: Constants.appBarHeight, - bottom: Constants.bottomNavBarHeight, - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const DevicesViewHeader(), - const RoomsSlider(), - const SizedBox( - height: 10, + return Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const DevicesViewHeader(), + const RoomsSlider(), + const SizedBox( + height: 10, + ), + Expanded( + child: PageView( + controller: HomeCubit.getInstance().devicesPageController, + onPageChanged: (index) { + HomeCubit.getInstance().devicesPageChanged(index); + }, + children: [ + const WizardPage(), + if (HomeCubit.getInstance().selectedSpace != null) + if (HomeCubit.getInstance().selectedSpace!.rooms != null) + ...HomeCubit.getInstance().selectedSpace!.rooms!.map( + (room) { + return RoomPage( + room: room, + ); + }, + ) + ], ), - Expanded( - child: PageView( - controller: HomeCubit.getInstance().devicesPageController, - onPageChanged: (index) { - HomeCubit.getInstance().devicesPageChanged(index); - }, - children: [ - const WizardPage(), - if (HomeCubit.getInstance().selectedSpace != null) - if (HomeCubit.getInstance().selectedSpace!.rooms != - null) - ...HomeCubit.getInstance().selectedSpace!.rooms!.map( - (room) { - return RoomPage( - room: room, - ); - }, - ) - ], - ), - ), - HomeCubit.getInstance().selectedSpace != null - ? Padding( - padding: const EdgeInsets.symmetric( - vertical: 7, - ), - child: SmoothPageIndicator( - controller: - HomeCubit.getInstance().devicesPageController, - count: HomeCubit.getInstance() - .selectedSpace! - .rooms! - .length + - 1, - effect: const WormEffect( - paintStyle: PaintingStyle.stroke, - dotHeight: 8, - dotWidth: 8, - ), - ), - ) - : const Center( - child: BodyLarge(text: 'No Home Found'), + ), + HomeCubit.getInstance().selectedSpace != null + ? Padding( + padding: const EdgeInsets.symmetric( + vertical: 7, ), - ], - ), + child: SmoothPageIndicator( + controller: + HomeCubit.getInstance().devicesPageController, + count: HomeCubit.getInstance() + .selectedSpace! + .rooms! + .length + + 1, + effect: const WormEffect( + paintStyle: PaintingStyle.stroke, + dotHeight: 8, + dotWidth: 8, + ), + ), + ) + : const Center( + child: BodyLarge(text: 'No Home Found'), + ), + ], ); } }, diff --git a/lib/features/devices/view/widgets/devices_view_header.dart b/lib/features/devices/view/widgets/devices_view_header.dart index 43c98c4..ed24896 100644 --- a/lib/features/devices/view/widgets/devices_view_header.dart +++ b/lib/features/devices/view/widgets/devices_view_header.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:syncrow_app/features/devices/view/widgets/devices_mode_tab.dart'; import 'package:syncrow_app/features/shared_widgets/text_widgets/title_medium.dart'; import 'package:syncrow_app/utils/context_extension.dart'; -import 'package:syncrow_app/utils/resource_manager/constants.dart'; import 'package:syncrow_app/utils/resource_manager/strings_manager.dart'; class DevicesViewHeader extends StatelessWidget { @@ -12,25 +11,20 @@ class DevicesViewHeader extends StatelessWidget { @override Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric( - horizontal: Constants.defaultPadding, - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - TitleMedium( - text: StringsManager.devices, - style: context.titleMedium.copyWith( - fontSize: 25, - ), + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + TitleMedium( + text: StringsManager.devices, + style: context.titleMedium.copyWith( + fontSize: 25, ), - const DevicesModeTab(), - const SizedBox( - height: 20, - ), - ], - ), + ), + const DevicesModeTab(), + const SizedBox( + height: 20, + ), + ], ); } } diff --git a/lib/features/devices/view/widgets/room_page.dart b/lib/features/devices/view/widgets/room_page.dart index 8e8b5c0..89b12cd 100644 --- a/lib/features/devices/view/widgets/room_page.dart +++ b/lib/features/devices/view/widgets/room_page.dart @@ -3,7 +3,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart'; import 'package:syncrow_app/features/devices/model/room_model.dart'; import 'package:syncrow_app/features/devices/view/widgets/room_page_switch.dart'; -import 'package:syncrow_app/utils/resource_manager/constants.dart'; class RoomPage extends StatelessWidget { const RoomPage({super.key, required this.room}); @@ -12,28 +11,25 @@ class RoomPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric(horizontal: Constants.defaultPadding), - child: SingleChildScrollView( - child: BlocBuilder( - builder: (context, state) { - return GridView.builder( - gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( - crossAxisCount: 2, - crossAxisSpacing: 10, - mainAxisSpacing: 10, - childAspectRatio: 1.5, - ), - padding: const EdgeInsets.only(top: 10), - physics: const NeverScrollableScrollPhysics(), - shrinkWrap: true, - itemCount: room.devices!.length, - itemBuilder: (context, index) { - return RoomPageSwitch(device: room.devices![index]); - }, - ); - }, - ), + return SingleChildScrollView( + child: BlocBuilder( + builder: (context, state) { + return GridView.builder( + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + crossAxisSpacing: 10, + mainAxisSpacing: 10, + childAspectRatio: 1.5, + ), + padding: const EdgeInsets.only(top: 10), + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemCount: room.devices!.length, + itemBuilder: (context, index) { + return RoomPageSwitch(device: room.devices![index]); + }, + ); + }, ), ); } diff --git a/lib/features/devices/view/widgets/rooms_slider.dart b/lib/features/devices/view/widgets/rooms_slider.dart index aeba2f4..a85900b 100644 --- a/lib/features/devices/view/widgets/rooms_slider.dart +++ b/lib/features/devices/view/widgets/rooms_slider.dart @@ -43,26 +43,23 @@ class RoomsSlider extends StatelessWidget { if (HomeCubit.getInstance().selectedSpace != null) if (HomeCubit.getInstance().selectedSpace!.rooms != null) ...HomeCubit.getInstance().selectedSpace!.rooms!.map( - (room) => Padding( - padding: const EdgeInsets.symmetric(horizontal: 15), - child: InkWell( - onTap: () { - HomeCubit.getInstance().roomSliderPageChanged( - HomeCubit.getInstance() - .selectedSpace! - .rooms! - .indexOf(room)); - }, - child: TitleMedium( - text: room.name!, - style: context.titleMedium.copyWith( - fontSize: 25, - color: - HomeCubit.getInstance().selectedRoom == room - ? ColorsManager.textPrimaryColor - : ColorsManager.textPrimaryColor - .withOpacity(.2), - ), + (room) => InkWell( + onTap: () { + HomeCubit.getInstance().roomSliderPageChanged( + HomeCubit.getInstance() + .selectedSpace! + .rooms! + .indexOf(room)); + }, + child: TitleMedium( + text: room.name!, + style: context.titleMedium.copyWith( + fontSize: 25, + color: + HomeCubit.getInstance().selectedRoom == room + ? ColorsManager.textPrimaryColor + : ColorsManager.textPrimaryColor + .withOpacity(.2), ), ), ), diff --git a/lib/features/devices/view/widgets/wizard_page.dart b/lib/features/devices/view/widgets/wizard_page.dart index eb37796..9d6bf6d 100644 --- a/lib/features/devices/view/widgets/wizard_page.dart +++ b/lib/features/devices/view/widgets/wizard_page.dart @@ -2,7 +2,6 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:syncrow_app/features/devices/view/widgets/wizard_switches.dart'; -import 'package:syncrow_app/utils/resource_manager/constants.dart'; class WizardPage extends StatelessWidget { const WizardPage({ @@ -11,11 +10,8 @@ class WizardPage extends StatelessWidget { @override Widget build(BuildContext context) { - return const Padding( - padding: EdgeInsets.symmetric(horizontal: Constants.defaultPadding), - child: SingleChildScrollView( - child: WizartSwitches(), - ), + return const SingleChildScrollView( + child: WizartSwitches(), ); } }