mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-11-27 13:14:56 +00:00
remove_file
This commit is contained in:
@ -1,92 +0,0 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
||||||
import 'package:syncrow_web/pages/device_managment/all_devices/models/factory_reset_model.dart';
|
|
||||||
import 'package:syncrow_web/pages/device_managment/one_gang_switch/bloc/wall_light_switch_bloc.dart';
|
|
||||||
import 'package:syncrow_web/pages/device_managment/one_gang_switch/bloc/wall_light_switch_event.dart';
|
|
||||||
import 'package:syncrow_web/pages/device_managment/one_gang_switch/bloc/wall_light_switch_state.dart';
|
|
||||||
import 'package:syncrow_web/pages/device_managment/one_gang_switch/models/wall_light_status_model.dart';
|
|
||||||
import 'package:syncrow_web/pages/device_managment/shared/batch_control/factory_reset.dart';
|
|
||||||
import 'package:syncrow_web/pages/device_managment/shared/batch_control/firmware_update.dart';
|
|
||||||
import 'package:syncrow_web/pages/device_managment/shared/toggle_widget.dart';
|
|
||||||
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
|
|
||||||
|
|
||||||
class WallLightBatchControlView extends StatelessWidget
|
|
||||||
with HelperResponsiveLayout {
|
|
||||||
const WallLightBatchControlView({super.key, required this.deviceIds});
|
|
||||||
|
|
||||||
final List<String> deviceIds;
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return BlocProvider(
|
|
||||||
create: (context) => WallLightSwitchBloc(deviceId: deviceIds.first)
|
|
||||||
..add(WallLightSwitchFetchBatchEvent(deviceIds)),
|
|
||||||
child: BlocBuilder<WallLightSwitchBloc, WallLightSwitchState>(
|
|
||||||
builder: (context, state) {
|
|
||||||
if (state is WallLightSwitchLoading) {
|
|
||||||
return const Center(child: CircularProgressIndicator());
|
|
||||||
} else if (state is WallLightSwitchStatusLoaded) {
|
|
||||||
return _buildStatusControls(context, state.status);
|
|
||||||
} else if (state is WallLightSwitchError ||
|
|
||||||
state is WallLightSwitchControlError) {
|
|
||||||
return const Center(child: Text('Error fetching status'));
|
|
||||||
} else {
|
|
||||||
return const Center(child: CircularProgressIndicator());
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget _buildStatusControls(
|
|
||||||
BuildContext context, WallLightStatusModel status) {
|
|
||||||
final isExtraLarge = isExtraLargeScreenSize(context);
|
|
||||||
final isLarge = isLargeScreenSize(context);
|
|
||||||
final isMedium = isMediumScreenSize(context);
|
|
||||||
return SizedBox(
|
|
||||||
child: GridView(
|
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 50),
|
|
||||||
shrinkWrap: true,
|
|
||||||
physics: const NeverScrollableScrollPhysics(),
|
|
||||||
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
|
||||||
crossAxisCount: isLarge || isExtraLarge
|
|
||||||
? 3
|
|
||||||
: isMedium
|
|
||||||
? 2
|
|
||||||
: 1,
|
|
||||||
mainAxisExtent: 140,
|
|
||||||
crossAxisSpacing: 12,
|
|
||||||
mainAxisSpacing: 12,
|
|
||||||
),
|
|
||||||
children: [
|
|
||||||
ToggleWidget(
|
|
||||||
value: status.switch1,
|
|
||||||
code: 'switch_1',
|
|
||||||
deviceId: deviceIds.first,
|
|
||||||
label: 'Wall Light',
|
|
||||||
onChange: (value) {
|
|
||||||
context.read<WallLightSwitchBloc>().add(
|
|
||||||
WallLightSwitchBatchControl(
|
|
||||||
devicesIds: deviceIds,
|
|
||||||
code: 'switch_1',
|
|
||||||
value: value,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
FirmwareUpdateWidget(
|
|
||||||
deviceId: deviceIds.first,
|
|
||||||
version: 12,
|
|
||||||
),
|
|
||||||
FactoryResetWidget(
|
|
||||||
callFactoryReset: () {
|
|
||||||
context.read<WallLightSwitchBloc>().add(WallLightFactoryReset(
|
|
||||||
deviceId: status.uuid,
|
|
||||||
factoryReset: FactoryResetModel(devicesUuid: deviceIds)));
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user