| import '../../shared/logic/app_event_bus.dart'; |
| |
| sealed class PreviewState {} |
| |
| extension PreviewStateRuntimeButtonAction on PreviewState { |
| bool get showsRestartAction => switch (this) { |
| PreviewRunning() || PreviewRestarting() || PreviewHotReloading() => true, |
| PreviewInitial() || PreviewStarting() || PreviewStopping() || PreviewCompileError() || PreviewValidationError() => false, |
| }; |
| } |
| |
| class PreviewInitial extends PreviewState {} |
| |
| class PreviewStarting extends PreviewState {} |
| |
| class PreviewRunning extends PreviewState { |
| PreviewRunning(this.entrypoint); |
| |
| final String entrypoint; |
| } |
| |
| class PreviewRestarting extends PreviewState {} |
| |
| class PreviewHotReloading extends PreviewState {} |
| |
| class PreviewStopping extends PreviewState {} |
| |
| class PreviewCompileError extends PreviewState { |
| PreviewCompileError(this.entrypoint, this.message); |
| |
| final String entrypoint; |
| final String message; |
| } |
| |
| class PreviewValidationError extends PreviewState { |
| PreviewValidationError(this.message, {this.actionLabel, this.actionPanelType}); |
| |
| final String message; |
| final String? actionLabel; |
| final PanelType? actionPanelType; |
| } |