water heater and timer and schedule ui and api ,

Circulate ui and Inching ui
This commit is contained in:
mohammad
2024-09-21 08:28:29 +03:00
parent 54cce48b89
commit 64e2ba2fd9
4 changed files with 48 additions and 30 deletions
@@ -11,6 +11,7 @@ import 'package:syncrow_app/features/devices/model/status_model.dart';
import 'package:syncrow_app/features/devices/model/water_heater.dart';
import 'package:syncrow_app/services/api/devices_api.dart';
import 'package:syncrow_app/utils/helpers/snack_bar.dart';
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
class WaterHeaterBloc extends Bloc<WaterHeaterEvent, WaterHeaterState> {
final String whId;
@@ -48,6 +49,7 @@ class WaterHeaterBloc extends Bloc<WaterHeaterEvent, WaterHeaterState> {
on<DeleteScheduleEvent>(deleteSchedule);
on<TickTimer>(_onTickTimer);
on<OnClose>(_onClose);
on<SelectTimeEvent>(showTime);
}
void _fetchWaterHeaterStatus(WaterHeaterInitial event, Emitter<WaterHeaterState> emit) async {
@@ -309,26 +311,26 @@ class WaterHeaterBloc extends Bloc<WaterHeaterEvent, WaterHeaterState> {
emit(ChangeSlidingSegmentState(value: selectedTabIndex));
}
// showTime(){
// final TimeOfDay? timePicked = await showTimePicker(
// context: event.context,
// initialTime: TimeOfDay.now(),
// builder: (context, child) {
// return Theme(
// data: ThemeData.light().copyWith(
// colorScheme: const ColorScheme.light(
// primary: ColorsManager.primaryColor,
// onSurface: Colors.black,
// ),
// buttonTheme: const ButtonThemeData(
// colorScheme: ColorScheme.light(
// primary: Colors.green,
// ),
// ),
// ),
// child: child!,
// );
// },
// );
// }
showTime(SelectTimeEvent event, Emitter<WaterHeaterState> emit) async {
final TimeOfDay? timePicked = await showTimePicker(
context: event.context,
initialTime: TimeOfDay.now(),
builder: (context, child) {
return Theme(
data: ThemeData.light().copyWith(
colorScheme: const ColorScheme.light(
primary: ColorsManager.primaryColor,
onSurface: Colors.black,
),
buttonTheme: const ButtonThemeData(
colorScheme: ColorScheme.light(
primary: Colors.green,
),
),
),
child: child!,
);
},
);
}
}
@@ -1,4 +1,5 @@
import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart';
import 'package:syncrow_app/utils/resource_manager/constants.dart';
abstract class WaterHeaterEvent extends Equatable {
@@ -91,3 +92,11 @@ class DeleteScheduleEvent extends WaterHeaterEvent {
@override
List<Object> get props => [id];
}
class SelectTimeEvent extends WaterHeaterEvent {
final BuildContext context;
final bool isEffective;
const SelectTimeEvent({required this.context, required this.isEffective});
@override
List<Object> get props => [context, isEffective];
}