diff --git a/lib/features/devices/bloc/devices_cubit.dart b/lib/features/devices/bloc/devices_cubit.dart index a197242..381c900 100644 --- a/lib/features/devices/bloc/devices_cubit.dart +++ b/lib/features/devices/bloc/devices_cubit.dart @@ -1,15 +1,15 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_app/features/devices/model/ac_model.dart'; -import 'package:syncrow_app/features/devices/view/widgets/curtain_view.dart'; -import 'package:syncrow_app/features/devices/view/widgets/door_view.dart'; -import 'package:syncrow_app/features/devices/view/widgets/gateway_view.dart'; -import 'package:syncrow_app/features/devices/view/widgets/screens_view.dart'; +import 'package:syncrow_app/features/devices/view/widgets/curtains/curtain_view.dart'; +import 'package:syncrow_app/features/devices/view/widgets/gateway/gateway_view.dart'; +import 'package:syncrow_app/features/devices/view/widgets/screens/screens_view.dart'; +import 'package:syncrow_app/features/devices/view/widgets/smart_door/door_view.dart'; import 'package:syncrow_app/generated/assets.dart'; import '../model/device_category_model.dart'; -import '../view/widgets/ac_view.dart'; -import '../view/widgets/lights_view.dart'; +import '../view/widgets/ACs/ac_view.dart'; +import '../view/widgets/lights/lights_view.dart'; part 'devices_state.dart'; diff --git a/lib/features/devices/view/widgets/a_c_control_unit.dart b/lib/features/devices/view/widgets/ACs/a_c_control_unit.dart similarity index 97% rename from lib/features/devices/view/widgets/a_c_control_unit.dart rename to lib/features/devices/view/widgets/ACs/a_c_control_unit.dart index 6289775..1df4fc9 100644 --- a/lib/features/devices/view/widgets/a_c_control_unit.dart +++ b/lib/features/devices/view/widgets/ACs/a_c_control_unit.dart @@ -4,7 +4,7 @@ import 'package:gap/gap.dart'; import 'package:syncrow_app/features/devices/model/ac_model.dart'; import 'package:syncrow_app/features/shared_widgets/default_container.dart'; -import '../../../../generated/assets.dart'; +import '../../../../../generated/assets.dart'; class ACControlUnit extends StatefulWidget { const ACControlUnit({ diff --git a/lib/features/devices/view/widgets/ac_view.dart b/lib/features/devices/view/widgets/ACs/ac_view.dart similarity index 90% rename from lib/features/devices/view/widgets/ac_view.dart rename to lib/features/devices/view/widgets/ACs/ac_view.dart index b19baed..a9b908b 100644 --- a/lib/features/devices/view/widgets/ac_view.dart +++ b/lib/features/devices/view/widgets/ACs/ac_view.dart @@ -3,10 +3,10 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:gap/gap.dart'; import 'package:syncrow_app/features/devices/bloc/ac_cubit.dart'; import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart'; -import 'package:syncrow_app/features/devices/view/widgets/a_c_control_unit.dart'; +import 'package:syncrow_app/features/devices/view/widgets/ACs/a_c_control_unit.dart'; +import 'package:syncrow_app/features/devices/view/widgets/ACs/universal_a_c_switch.dart'; +import 'package:syncrow_app/features/devices/view/widgets/ACs/universal_a_c_temp.dart'; import 'package:syncrow_app/features/devices/view/widgets/devices_temp_widget.dart'; -import 'package:syncrow_app/features/devices/view/widgets/universal_a_c_switch.dart'; -import 'package:syncrow_app/features/devices/view/widgets/universal_a_c_temp.dart'; import 'package:syncrow_app/features/shared_widgets/devices_default_switch.dart'; import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart'; diff --git a/lib/features/devices/view/widgets/universal_a_c_switch.dart b/lib/features/devices/view/widgets/ACs/universal_a_c_switch.dart similarity index 91% rename from lib/features/devices/view/widgets/universal_a_c_switch.dart rename to lib/features/devices/view/widgets/ACs/universal_a_c_switch.dart index 557eb85..a118c68 100644 --- a/lib/features/devices/view/widgets/universal_a_c_switch.dart +++ b/lib/features/devices/view/widgets/ACs/universal_a_c_switch.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; -import '../../../../utils/resource_manager/color_manager.dart'; -import '../../../shared_widgets/text_widgets/body_medium.dart'; -import '../../bloc/ac_cubit.dart'; +import '../../../../../utils/resource_manager/color_manager.dart'; +import '../../../../shared_widgets/text_widgets/body_medium.dart'; +import '../../../bloc/ac_cubit.dart'; class UniversalACSwitch extends StatelessWidget { const UniversalACSwitch({ diff --git a/lib/features/devices/view/widgets/universal_a_c_temp.dart b/lib/features/devices/view/widgets/ACs/universal_a_c_temp.dart similarity index 86% rename from lib/features/devices/view/widgets/universal_a_c_temp.dart rename to lib/features/devices/view/widgets/ACs/universal_a_c_temp.dart index 6eeb368..3d2044d 100644 --- a/lib/features/devices/view/widgets/universal_a_c_temp.dart +++ b/lib/features/devices/view/widgets/ACs/universal_a_c_temp.dart @@ -3,10 +3,10 @@ import 'package:flutter_svg/svg.dart'; import 'package:syncrow_app/features/devices/bloc/ac_cubit.dart'; import 'package:syncrow_app/utils/context_extension.dart'; -import '../../../../generated/assets.dart'; -import '../../../../utils/resource_manager/color_manager.dart'; -import '../../../shared_widgets/default_container.dart'; -import '../../../shared_widgets/text_widgets/body_large.dart'; +import '../../../../../generated/assets.dart'; +import '../../../../../utils/resource_manager/color_manager.dart'; +import '../../../../shared_widgets/default_container.dart'; +import '../../../../shared_widgets/text_widgets/body_large.dart'; class UniversalACTemp extends StatelessWidget { const UniversalACTemp({ diff --git a/lib/features/devices/view/widgets/curtain_view.dart b/lib/features/devices/view/widgets/curtains/curtain_view.dart similarity index 100% rename from lib/features/devices/view/widgets/curtain_view.dart rename to lib/features/devices/view/widgets/curtains/curtain_view.dart diff --git a/lib/features/devices/view/widgets/gateway_view.dart b/lib/features/devices/view/widgets/gateway/gateway_view.dart similarity index 100% rename from lib/features/devices/view/widgets/gateway_view.dart rename to lib/features/devices/view/widgets/gateway/gateway_view.dart diff --git a/lib/features/devices/view/widgets/lights_view.dart b/lib/features/devices/view/widgets/lights/lights_view.dart similarity index 100% rename from lib/features/devices/view/widgets/lights_view.dart rename to lib/features/devices/view/widgets/lights/lights_view.dart diff --git a/lib/features/devices/view/widgets/screens_view.dart b/lib/features/devices/view/widgets/screens/screens_view.dart similarity index 100% rename from lib/features/devices/view/widgets/screens_view.dart rename to lib/features/devices/view/widgets/screens/screens_view.dart diff --git a/lib/features/devices/view/widgets/door_view.dart b/lib/features/devices/view/widgets/smart_door/door_view.dart similarity index 100% rename from lib/features/devices/view/widgets/door_view.dart rename to lib/features/devices/view/widgets/smart_door/door_view.dart diff --git a/lib/features/devices/view/widgets/switches.dart b/lib/features/devices/view/widgets/switches.dart index 68284f8..5759053 100644 --- a/lib/features/devices/view/widgets/switches.dart +++ b/lib/features/devices/view/widgets/switches.dart @@ -4,6 +4,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:syncrow_app/features/shared_widgets/custom_switch.dart'; import 'package:syncrow_app/features/shared_widgets/default_container.dart'; import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart'; +import 'package:syncrow_app/utils/resource_manager/font_manager.dart'; import '../../bloc/devices_cubit.dart'; @@ -31,39 +32,32 @@ class Switches extends StatelessWidget { return InkWell( onTap: () => DevicesCubit.get(context).updateCategory(index), child: DefaultContainer( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - SvgPicture.asset( - DevicesCubit.categories[index].icon, - fit: BoxFit.contain, - ), - const SizedBox( - width: 30, - height: 20, - child: CustomSwitch( - // value: DevicesCubit - // .categories[index] - // .switchValue, - // - // onChanged: (value) => DevicesCubit.get(context) - // .changeSwitchValue( DevicesCubit - // .categories[index] - // .switchValue), - ), - ), - ], - ), - BodyLarge( - text: DevicesCubit.categories[index].name, - fontWeight: FontWeight.bold, - ) - ], + child: Padding( + padding: + const EdgeInsets.symmetric(vertical: 10, horizontal: 10), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + SvgPicture.asset( + DevicesCubit.categories[index].icon, + fit: BoxFit.contain, + ), + CustomSwitch(), + ], + ), + BodyLarge( + text: DevicesCubit.categories[index].name, + fontWeight: FontsManager.bold, + fontSize: 24, + fontColor: const Color(0xFF848484), + ) + ], + ), ), ), ); diff --git a/lib/features/menu/view/menu_view.dart b/lib/features/menu/view/menu_view.dart index 754be11..391948f 100644 --- a/lib/features/menu/view/menu_view.dart +++ b/lib/features/menu/view/menu_view.dart @@ -18,9 +18,11 @@ class MenuView extends StatelessWidget { child: Column( children: [ const ProfileTab(), - ...MenuCubit.of(context) - .menuLists - .map((list) => MenuList(listModel: list)) + ...MenuCubit.of(context).menuLists.map( + (list) => MenuList( + listModel: list, + ), + ), ], ), ); diff --git a/lib/features/shared_widgets/custom_switch.dart b/lib/features/shared_widgets/custom_switch.dart index a29381c..614a964 100644 --- a/lib/features/shared_widgets/custom_switch.dart +++ b/lib/features/shared_widgets/custom_switch.dart @@ -22,20 +22,24 @@ class _CustomSwitchState extends State bool value = false; - void onChange(bool customValue){ - value = customValue ; + void onChange(bool customValue) { + value = customValue; } @override void initState() { super.initState(); _animationController = AnimationController( - vsync: this, duration: const Duration(milliseconds: 100)); + vsync: this, duration: const Duration(milliseconds: 300)); _circleAnimation = AlignmentTween( - begin: value ? Alignment.centerRight : Alignment.centerLeft, - end: value ? Alignment.centerLeft : Alignment.centerRight) - .animate(CurvedAnimation( - parent: _animationController!, curve: Curves.linear)); + begin: value ? Alignment.centerRight : Alignment.centerLeft, + end: value ? Alignment.centerLeft : Alignment.centerRight, + ).animate( + CurvedAnimation( + parent: _animationController!, + curve: Curves.linear, + ), + ); } @override @@ -49,9 +53,7 @@ class _CustomSwitchState extends State _animationController!.isCompleted ? _animationController!.reverse() : _animationController!.forward(); - value == false - ? onChange(true) - : onChange(false); + value ? onChange(false) : onChange(true); }); }, child: Container( @@ -60,20 +62,33 @@ class _CustomSwitchState extends State decoration: BoxDecoration( borderRadius: BorderRadius.circular(24.0), color: _circleAnimation!.value == Alignment.centerLeft - ? Colors.grey + ? Color(0xFFD9D9D9) : ColorsManager.primaryColor, ), - child: Padding( - padding: const EdgeInsets.all(2.0), + child: Center( child: Container( - alignment: value - ? Alignment.centerRight - : Alignment.centerLeft, - child: Container( - width: 20.0, - height: 20.0, - decoration: const BoxDecoration( - shape: BoxShape.circle, color: Colors.white), + width: 40.0, + height: 23.0, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(24.0), + color: Colors.white, + ), + child: Padding( + padding: const EdgeInsets.all(2.0), + child: Container( + alignment: + value ? Alignment.centerRight : Alignment.centerLeft, + child: Container( + width: 20.0, + height: 20.0, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: _circleAnimation!.value == Alignment.centerLeft + ? Color(0xFFD9D9D9) + : ColorsManager.primaryColor, + ), + ), + ), ), ), ), diff --git a/lib/features/shared_widgets/text_widgets/body_large.dart b/lib/features/shared_widgets/text_widgets/body_large.dart index fa87d19..591517a 100644 --- a/lib/features/shared_widgets/text_widgets/body_large.dart +++ b/lib/features/shared_widgets/text_widgets/body_large.dart @@ -12,6 +12,7 @@ class BodyLarge extends StatelessWidget { this.height, this.fontWeight, this.fontColor, + this.fontSize, }); final String text; @@ -25,6 +26,8 @@ class BodyLarge extends StatelessWidget { final Color? fontColor; + final double? fontSize; + @override Widget build(BuildContext context) => CustomText( text, @@ -34,6 +37,7 @@ class BodyLarge extends StatelessWidget { height: height ?? 1.5, fontWeight: fontWeight, color: fontColor, + fontSize: fontSize, ), ); }