29 lines
703 B
Dart
29 lines
703 B
Dart
// timer_state.dart
|
|
import 'package:equatable/equatable.dart';
|
|
|
|
class TimerState extends Equatable {
|
|
final int duration;
|
|
const TimerState(this.duration);
|
|
|
|
String get formattedDuration {
|
|
final minutes = (duration ~/ 60).toString().padLeft(2, '0');
|
|
final seconds = (duration % 60).toString().padLeft(2, '0');
|
|
return '$minutes:$seconds';
|
|
}
|
|
|
|
@override
|
|
List<Object> get props => [duration];
|
|
}
|
|
|
|
class TimerInitial extends TimerState {
|
|
const TimerInitial() : super(300); // Initial state with 5 minutes
|
|
}
|
|
|
|
class TimerRunInProgress extends TimerState {
|
|
const TimerRunInProgress(super.duration);
|
|
}
|
|
|
|
class TimerRunComplete extends TimerState {
|
|
const TimerRunComplete() : super(0);
|
|
}
|