2024-04-30 14:32:01 +00:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
|
|
|
@immutable
|
2024-04-30 19:50:09 +00:00
|
|
|
sealed class TimerState {
|
|
|
|
final Duration duration;
|
|
|
|
final Duration timeLeft;
|
2024-04-30 14:32:01 +00:00
|
|
|
|
2024-04-30 19:50:09 +00:00
|
|
|
const TimerState({
|
|
|
|
required this.duration,
|
|
|
|
required this.timeLeft,
|
2024-04-30 14:32:01 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2024-04-30 19:50:09 +00:00
|
|
|
class TimerStoppedState extends TimerState {
|
|
|
|
const TimerStoppedState({
|
|
|
|
required super.duration,
|
|
|
|
required super.timeLeft,
|
|
|
|
});
|
2024-04-30 14:32:01 +00:00
|
|
|
}
|
|
|
|
|
2024-04-30 19:50:09 +00:00
|
|
|
class TimerResumedState extends TimerState {
|
|
|
|
const TimerResumedState({
|
|
|
|
required super.duration,
|
|
|
|
required super.timeLeft,
|
2024-04-30 14:32:01 +00:00
|
|
|
});
|
|
|
|
}
|
2024-04-30 20:45:46 +00:00
|
|
|
|
|
|
|
class TimerResetState extends TimerStoppedState {
|
|
|
|
const TimerResetState({
|
|
|
|
required super.duration,
|
|
|
|
required super.timeLeft,
|
|
|
|
});
|
|
|
|
}
|