Bug fixes

This commit is contained in:
Abdullah Alassaf
2024-08-29 16:23:25 +03:00
parent 95b1e2c932
commit 6e183dba9f
28 changed files with 236 additions and 351 deletions

View File

@ -21,19 +21,17 @@ class WallSensorControls extends StatelessWidget with HelperResponsiveLayout {
@override
Widget build(BuildContext context) {
final isExtraLarge = isExtraLargeScreenSize(context);
final isLarge = isLargeScreenSize(context);
final isMedium = isMediumScreenSize(context);
return BlocProvider(
create: (context) =>
WallSensorBloc(deviceId: device.uuid!)..add(WallSensorInitialEvent()),
create: (context) => WallSensorBloc(deviceId: device.uuid!)..add(WallSensorInitialEvent()),
child: BlocBuilder<WallSensorBloc, WallSensorState>(
builder: (context, state) {
if (state is WallSensorLoadingInitialState ||
state is DeviceReportsLoadingState) {
if (state is WallSensorLoadingInitialState || state is DeviceReportsLoadingState) {
return const Center(child: CircularProgressIndicator());
} else if (state is WallSensorUpdateState) {
return _buildGridView(
context, state.wallSensorModel, isLarge, isMedium);
return _buildGridView(context, state.wallSensorModel, isExtraLarge, isLarge, isMedium);
} else if (state is DeviceReportsState) {
return ReportsTable(
report: state.deviceReport,
@ -51,7 +49,7 @@ class WallSensorControls extends StatelessWidget with HelperResponsiveLayout {
);
} else if (state is DeviceReportsFailedState) {
final model = context.read<WallSensorBloc>().deviceStatus;
return _buildGridView(context, model, isLarge, isMedium);
return _buildGridView(context, model, isExtraLarge, isLarge, isMedium);
}
return const Center(child: Text('Error fetching status'));
},
@ -59,14 +57,14 @@ class WallSensorControls extends StatelessWidget with HelperResponsiveLayout {
);
}
Widget _buildGridView(BuildContext context, WallSensorModel model,
bool isLarge, bool isMedium) {
Widget _buildGridView(
BuildContext context, WallSensorModel model, bool isExtraLarge, bool isLarge, bool isMedium) {
return GridView(
padding: const EdgeInsets.symmetric(horizontal: 50),
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: isLarge
crossAxisCount: isLarge || isExtraLarge
? 3
: isMedium
? 2
@ -129,11 +127,10 @@ class WallSensorControls extends StatelessWidget with HelperResponsiveLayout {
maxValue: 10000,
steps: 1,
description: 'hr',
action: (int value) =>
context.read<WallSensorBloc>().add(WallSensorChangeValueEvent(
code: 'no_one_time',
value: value,
))),
action: (int value) => context.read<WallSensorBloc>().add(WallSensorChangeValueEvent(
code: 'no_one_time',
value: value,
))),
PresenceUpdateData(
value: model.farDetection.toDouble(),
title: 'Far Detection:',
@ -150,8 +147,9 @@ class WallSensorControls extends StatelessWidget with HelperResponsiveLayout {
),
GestureDetector(
onTap: () {
context.read<WallSensorBloc>().add(GetDeviceReportsEvent(
code: 'illuminance_value', deviceUuid: device.uuid!));
context
.read<WallSensorBloc>()
.add(GetDeviceReportsEvent(code: 'illuminance_value', deviceUuid: device.uuid!));
},
child: const PresenceStaticWidget(
icon: Assets.illuminanceRecordIcon,
@ -160,8 +158,9 @@ class WallSensorControls extends StatelessWidget with HelperResponsiveLayout {
),
GestureDetector(
onTap: () {
context.read<WallSensorBloc>().add(GetDeviceReportsEvent(
code: 'presence_state', deviceUuid: device.uuid!));
context
.read<WallSensorBloc>()
.add(GetDeviceReportsEvent(code: 'presence_state', deviceUuid: device.uuid!));
},
child: const PresenceStaticWidget(
icon: Assets.presenceRecordIcon,