diff --git a/.gitignore b/.gitignore index 43d2746..0818e72 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ app.*.map.json /android/app/debug /android/app/profile /android/app/release +/android/app/.cxx/ diff --git a/lib/features/devices/view/widgets/devices_view_body.dart b/lib/features/devices/view/widgets/devices_view_body.dart index 1777318..20d1f2b 100644 --- a/lib/features/devices/view/widgets/devices_view_body.dart +++ b/lib/features/devices/view/widgets/devices_view_body.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:smooth_page_indicator/smooth_page_indicator.dart'; -import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart'; import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart'; +import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart'; import 'package:syncrow_app/features/devices/view/widgets/all_devices.dart'; import 'package:syncrow_app/features/devices/view/widgets/room_page.dart'; import 'package:syncrow_app/features/devices/view/widgets/rooms_slider.dart'; @@ -15,7 +15,7 @@ import 'package:syncrow_app/utils/context_extension.dart'; import 'package:syncrow_app/utils/resource_manager/strings_manager.dart'; class DevicesViewBody extends StatelessWidget { - const DevicesViewBody({Key? key}) : super(key: key); + const DevicesViewBody({super.key}); @override Widget build(BuildContext context) { return BlocBuilder( @@ -80,10 +80,7 @@ class DevicesViewBody extends StatelessWidget { ), ], ), - SizedBox( - height: MediaQuery.of(context).size.height * 0.1, - child: const SceneView(pageType: true), - ), + const SceneView(pageType: true), const SizedBox(height: 20), const RoomsSlider(), const SizedBox(height: 10), diff --git a/lib/features/scene/view/scene_view.dart b/lib/features/scene/view/scene_view.dart index 20140a9..13fa92c 100644 --- a/lib/features/scene/view/scene_view.dart +++ b/lib/features/scene/view/scene_view.dart @@ -8,9 +8,9 @@ import 'package:syncrow_app/features/scene/bloc/create_scene/create_scene_bloc.d import 'package:syncrow_app/features/scene/bloc/scene_bloc/scene_bloc.dart'; import 'package:syncrow_app/features/scene/bloc/scene_bloc/scene_event.dart'; import 'package:syncrow_app/features/scene/bloc/smart_scene/smart_scene_select_dart_bloc.dart'; +import 'package:syncrow_app/features/scene/widgets/empty_devices_widget.dart'; import 'package:syncrow_app/features/scene/widgets/scene_view_widget/scene_grid_view.dart'; import 'package:syncrow_app/features/scene/widgets/scene_view_widget/scene_header.dart'; -import 'package:syncrow_app/features/shared_widgets/create_unit.dart'; import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart'; import 'package:syncrow_app/utils/context_extension.dart'; import 'package:syncrow_app/utils/resource_manager/color_manager.dart'; @@ -89,8 +89,8 @@ class SceneView extends StatelessWidget { 'Scene ${state.sceneName} triggered successfully!'); } }, - child: HomeCubit.getInstance().spaces.isEmpty - ? const CreateUnitWidget() + child: HomeCubit.getInstance().spaces.isEmpty + ? const EmptyDevicesWidget() : Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.stretch, @@ -101,8 +101,7 @@ class SceneView extends StatelessWidget { builder: (context, state) { if (state is SceneLoading) { return const Center( - child: CircularProgressIndicator(), - ); + child: CircularProgressIndicator()); } if (state is SceneError) { return Center( @@ -114,11 +113,13 @@ class SceneView extends StatelessWidget { final automationList = state.automationList; return pageType - ? Expanded( + ? SizedBox( + height: context.height * 0.1, child: SceneListview( - scenes: scenes, - loadingSceneId: state.loadingSceneId, - )) + scenes: scenes, + loadingSceneId: state.loadingSceneId, + ), + ) : Expanded( child: ListView( children: [ @@ -149,9 +150,7 @@ class SceneView extends StatelessWidget { 'No scenes have been added yet', ), ), - const SizedBox( - height: 10, - ), + const SizedBox(height: 10), ], ), ), @@ -182,20 +181,16 @@ class SceneView extends StatelessWidget { 'No automations have been added yet', ), ), - const SizedBox( - height: 10, - ), + const SizedBox(height: 10), ], ), ), - const SizedBox( - height: 15, - ), + const SizedBox(height: 15), ], ), ); } - return const SizedBox(); + return const SizedBox.shrink(); }, ), ], diff --git a/lib/features/scene/widgets/empty_devices_widget.dart b/lib/features/scene/widgets/empty_devices_widget.dart new file mode 100644 index 0000000..1c0b4f6 --- /dev/null +++ b/lib/features/scene/widgets/empty_devices_widget.dart @@ -0,0 +1,22 @@ +import 'package:flutter/material.dart'; +import 'package:syncrow_app/utils/resource_manager/color_manager.dart'; + +class EmptyDevicesWidget extends StatelessWidget { + const EmptyDevicesWidget({super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 48), + child: Text( + "No routines.\nEnable 'Show on Home Screen' to add routines", + textAlign: TextAlign.center, + style: TextStyle( + color: ColorsManager.grayColor, + fontWeight: FontWeight.w400, + fontSize: 12, + ), + ), + ); + } +}