75 lines
1.8 KiB
Dart
75 lines
1.8 KiB
Dart
import 'package:aves/model/actions/entry_actions.dart';
|
|
import 'package:aves/model/actions/move_type.dart';
|
|
import 'package:aves/model/entry.dart';
|
|
import 'package:aves/model/filters/filters.dart';
|
|
import 'package:aves/widgets/viewer/video/controller.dart';
|
|
import 'package:equatable/equatable.dart';
|
|
import 'package:flutter/widgets.dart';
|
|
|
|
@immutable
|
|
class ShowImageNotification extends Notification {}
|
|
|
|
@immutable
|
|
class ShowInfoNotification extends Notification {}
|
|
|
|
@immutable
|
|
class ToggleOverlayNotification extends Notification {
|
|
final bool? visible;
|
|
|
|
const ToggleOverlayNotification({this.visible});
|
|
}
|
|
|
|
@immutable
|
|
class JumpToPreviousEntryNotification extends Notification {}
|
|
|
|
@immutable
|
|
class JumpToNextEntryNotification extends Notification {}
|
|
|
|
@immutable
|
|
class JumpToEntryNotification extends Notification {
|
|
final int index;
|
|
|
|
const JumpToEntryNotification({required this.index});
|
|
}
|
|
|
|
@immutable
|
|
class VideoActionNotification extends Notification {
|
|
final AvesVideoController controller;
|
|
final EntryAction action;
|
|
|
|
const VideoActionNotification({
|
|
required this.controller,
|
|
required this.action,
|
|
});
|
|
}
|
|
|
|
@immutable
|
|
class FilterSelectedNotification extends Notification with EquatableMixin {
|
|
final CollectionFilter filter;
|
|
|
|
@override
|
|
List<Object?> get props => [filter];
|
|
|
|
const FilterSelectedNotification(this.filter);
|
|
}
|
|
|
|
@immutable
|
|
class EntryDeletedNotification extends Notification with EquatableMixin {
|
|
final Set<AvesEntry> entries;
|
|
|
|
@override
|
|
List<Object?> get props => [entries];
|
|
|
|
const EntryDeletedNotification(this.entries);
|
|
}
|
|
|
|
@immutable
|
|
class EntryMovedNotification extends Notification with EquatableMixin {
|
|
final MoveType moveType;
|
|
final Set<AvesEntry> entries;
|
|
|
|
@override
|
|
List<Object?> get props => [moveType, entries];
|
|
|
|
const EntryMovedNotification(this.moveType, this.entries);
|
|
}
|