mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-07-15 09:45:22 +00:00
41 lines
1.2 KiB
Dart
41 lines
1.2 KiB
Dart
import 'package:flutter/cupertino.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:syncrow_app/features/scene/bloc/create_scene/create_scene_bloc.dart';
|
|
|
|
class AlertDialogCountdown extends StatefulWidget {
|
|
const AlertDialogCountdown({super.key, required this.durationValue});
|
|
|
|
final String durationValue;
|
|
|
|
@override
|
|
State<AlertDialogCountdown> createState() => _AlertDialogCountdownState();
|
|
}
|
|
|
|
class _AlertDialogCountdownState extends State<AlertDialogCountdown> {
|
|
int durationInSeconds = 0;
|
|
// Convert seconds to Duration.
|
|
Duration get duration =>
|
|
Duration(seconds: int.tryParse(widget.durationValue) ?? 0);
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Container(
|
|
height: 120,
|
|
color: Colors.white,
|
|
child: CupertinoTimerPicker(
|
|
itemExtent: 120,
|
|
mode: CupertinoTimerPickerMode.hm,
|
|
initialTimerDuration: duration,
|
|
onTimerDurationChanged: (newDuration) {
|
|
setState(() {
|
|
durationInSeconds = newDuration.inSeconds;
|
|
});
|
|
context
|
|
.read<CreateSceneBloc>()
|
|
.add(SelectedValueEvent(value: newDuration.inSeconds.toString()));
|
|
},
|
|
),
|
|
);
|
|
}
|
|
}
|