import 'package:clock/clock.dart'; import 'package:equatable/equatable.dart'; /// The base class for all events abstract class AppEvent extends Equatable { /// Create the event const AppEvent(); /// The event time DateTime get timestamp => clock.now(); } /// The event completion event class EventCompletionEvent extends AppEvent { /// Create the event const EventCompletionEvent(this.event); /// The event that is completed final AppEvent event; @override List get props => [event]; } /// The empty event class EmptyEvent extends AppEvent { @override List get props => []; }