Files
element-x-ios/ElementX/Sources/Screens/MediaEventsTimelineScreen/MediaEventsTimelineScreenModels.swift
T
Mauro ee89f8846f Fix for the media browser showing also images and videos in file mode (#5853)
* fix for the bug that makes the images appear in the file list of the media browser

* pr suggestions
2026-07-09 15:51:46 +02:00

51 lines
1.4 KiB
Swift

//
// Copyright 2025 Element Creations Ltd.
// Copyright 2022-2025 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
//
import SwiftUI
enum MediaEventsTimelineScreenViewModelAction {
case displayMessageForwarding(MessageForwardingItem)
case viewInRoomTimeline(TimelineItemIdentifier)
}
enum MediaEventsTimelineScreenMode {
case media
case files
}
struct MediaEventsTimelineGroup: Identifiable {
var id: String
var title: String
var items: [RoomTimelineItemViewState]
}
struct MediaEventsTimelineScreenViewState: BindableState {
var isBackPaginating = false
var shouldShowEmptyState = false
var screenMode: MediaEventsTimelineScreenMode
var groups = [MediaEventsTimelineGroup]()
var activeTimelineContext: TimelineViewModel.Context
var bindings: MediaEventsTimelineScreenViewStateBindings
}
struct MediaEventsTimelineScreenViewStateBindings {
var mediaPreviewViewModel: TimelineMediaPreviewViewModel?
var mediaPreviewSheetViewModel: TimelineMediaPreviewViewModel?
}
enum MediaEventsTimelineScreenViewAction {
case changeScreenMode(MediaEventsTimelineScreenMode)
case oldestItemDidAppear
case oldestItemDidDisappear
case tappedItem(item: RoomTimelineItemViewState)
case longPressedItem(item: RoomTimelineItemViewState)
}