mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 10:33:45 +00:00
Open a full-screen preview when tapping a gallery item
Tapping a gallery tile/row opens the existing media preview scoped to that gallery's attachments, paging between them. Introduces a typed MediaPreviewItemID (replacing the stringly-typed preview identifier) and a gallery-scoped TimelineMediaPreviewDataSource; the tap routes through TimelineInteractionHandler/TimelineViewModel. Non-previewable (.other) items are skipped without shifting the tapped index. Co-authored-by: svetoslav.mitov <svetoslav.mitov@sportinno.com> just use id instead of previewID removed horrible multiline ternary pr suggestions remove redundant code remove empty caption display + gallery uses the appropriate media timeline actions
This commit is contained in:
+10
@@ -111,6 +111,16 @@ nonisolated enum GalleryItem: Hashable, Identifiable {
|
||||
}
|
||||
}
|
||||
|
||||
var fileSize: UInt? {
|
||||
switch self {
|
||||
case .image(_, let content): content.imageInfo.fileSize
|
||||
case .video(_, let content): content.videoInfo.fileSize
|
||||
case .audio(_, let content): content.fileSize
|
||||
case .file(_, let content): content.fileSize
|
||||
case .other: nil
|
||||
}
|
||||
}
|
||||
|
||||
var blurhash: String? {
|
||||
switch self {
|
||||
case .image(_, let content): content.blurhash
|
||||
|
||||
Reference in New Issue
Block a user