mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-08-26 09:59:40 +00:00
Refactor DevicesViewBody
and SceneView to improve widget structure and replace CreateUnitWidget
with EmptyDevicesWidget
for better handling of empty states.
This commit is contained in:
@ -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<HomeCubit, HomeState>(
|
||||
@ -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),
|
||||
|
@ -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,
|
||||
@ -114,11 +114,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: [
|
||||
|
Reference in New Issue
Block a user