// 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 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); }