Detect the timeline start/end when swiping through media files. (#3714)

This commit is contained in:
Doug
2025-01-29 15:07:23 +00:00
committed by GitHub
parent df997ad251
commit d412c10352
12 changed files with 402 additions and 302 deletions
@@ -18,7 +18,7 @@ struct TimelineMediaPreviewViewState: BindableState {
var dataSource: TimelineMediaPreviewDataSource
/// The media item that is currently being previewed.
var currentItem: TimelineMediaPreviewItem? { dataSource.currentItem }
var currentItem: TimelineMediaPreviewItem { dataSource.currentItem }
/// All of the available actions for the current item.
var currentItemActions: TimelineItemMenuActions?
@@ -32,9 +32,9 @@ struct TimelineMediaPreviewViewState: BindableState {
struct TimelineMediaPreviewViewStateBindings {
/// A binding that will present the Details view for the specified item.
var mediaDetailsItem: TimelineMediaPreviewItem?
var mediaDetailsItem: TimelineMediaPreviewItem.Media?
/// A binding that will present a confirmation to redact the specified item.
var redactConfirmationItem: TimelineMediaPreviewItem?
var redactConfirmationItem: TimelineMediaPreviewItem.Media?
/// A binding that will present a document picker to export the specified file.
var fileToExport: TimelineMediaPreviewFileExportPicker.File?
@@ -46,9 +46,10 @@ enum TimelineMediaPreviewAlertType {
}
enum TimelineMediaPreviewViewAction {
case updateCurrentItem(TimelineMediaPreviewItem?)
case showCurrentItemDetails
case menuAction(TimelineItemMenuAction, item: TimelineMediaPreviewItem)
case redactConfirmation(item: TimelineMediaPreviewItem)
case updateCurrentItem(TimelineMediaPreviewItem)
case showItemDetails(TimelineMediaPreviewItem.Media)
case menuAction(TimelineItemMenuAction, item: TimelineMediaPreviewItem.Media)
case redactConfirmation(item: TimelineMediaPreviewItem.Media)
case timelineEndReached
case dismiss
}