From 75bb4f43dd6a30adc6d838aa3c5098f9e603e06a Mon Sep 17 00:00:00 2001 From: Thomas Ricouard Date: Mon, 5 Feb 2024 14:24:29 +0100 Subject: [PATCH] More fix for #1943 --- .../Subviews/StatusRowMediaPreviewView.swift | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Packages/StatusKit/Sources/StatusKit/Row/Subviews/StatusRowMediaPreviewView.swift b/Packages/StatusKit/Sources/StatusKit/Row/Subviews/StatusRowMediaPreviewView.swift index 42379055..51e78208 100644 --- a/Packages/StatusKit/Sources/StatusKit/Row/Subviews/StatusRowMediaPreviewView.swift +++ b/Packages/StatusKit/Sources/StatusKit/Row/Subviews/StatusRowMediaPreviewView.swift @@ -61,10 +61,9 @@ public struct StatusRowMediaPreviewView: View { } else { ScrollView(.horizontal, showsIndicators: showsScrollIndicators) { HStack { - makeAttachmentView(for: 0) - makeAttachmentView(for: 1) - makeAttachmentView(for: 2) - makeAttachmentView(for: 3) + ForEach(attachments) { attachment in + makeAttachmentView(attachment) + } } .padding(.bottom, scrollBottomPadding) } @@ -74,17 +73,18 @@ public struct StatusRowMediaPreviewView: View { } @ViewBuilder - private func makeAttachmentView(for index: Int) -> some View { - if - attachments.count > index, - let data = DisplayData(from: attachments[index]) - { + private func makeAttachmentView(_ attachement: MediaAttachment) -> some View { + if let data = DisplayData(from: attachement) { MediaPreview( sensitive: sensitive, imageMaxHeight: imageMaxHeight, displayData: data ) - .onTapGesture { tabAction(for: index) } + .onTapGesture { + if let index = attachments.firstIndex(where: { $0.id == attachement.id }) { + tabAction(for: index) + } + } } }