diff --git a/Packages/Status/Sources/Status/Row/StatusCardView.swift b/Packages/Status/Sources/Status/Row/StatusCardView.swift index 35e02cf8..5a07d805 100644 --- a/Packages/Status/Sources/Status/Row/StatusCardView.swift +++ b/Packages/Status/Sources/Status/Row/StatusCardView.swift @@ -16,7 +16,7 @@ public struct StatusCardView: View { public var body: some View { if let title = card.title { VStack(alignment: .leading) { - if let imageURL = card.image, theme.statusDisplayStyle == .large { + if let imageURL = card.image { LazyImage(url: imageURL) { state in if let image = state.image { image @@ -50,6 +50,7 @@ public struct StatusCardView: View { Spacer() }.padding(8) } + .fixedSize(horizontal: false, vertical: true) .background(theme.secondaryBackgroundColor) .cornerRadius(16) .overlay( diff --git a/Packages/Status/Sources/Status/Row/StatusRowView.swift b/Packages/Status/Sources/Status/Row/StatusRowView.swift index e330e4f5..03a36ce9 100644 --- a/Packages/Status/Sources/Status/Row/StatusRowView.swift +++ b/Packages/Status/Sources/Status/Row/StatusRowView.swift @@ -44,7 +44,7 @@ public struct StatusRowView: View { statusView if !viewModel.isCompact && !viewModel.isRemote, theme.statusActionsDisplay != .none { StatusActionsView(viewModel: viewModel) - .padding(.vertical, 8) + .padding(.top, 8) .tint(viewModel.isFocused ? theme.tintColor : .gray) .contentShape(Rectangle()) .onTapGesture { @@ -148,7 +148,12 @@ public struct StatusRowView: View { menuButton } } - makeStatusContentView(status: status) } + makeStatusContentView(status: status) + .contentShape(Rectangle()) + .onTapGesture { + viewModel.navigateToDetail(routeurPath: routeurPath) + } + } } } @@ -167,11 +172,14 @@ public struct StatusRowView: View { .buttonStyle(.bordered) } if !viewModel.displaySpoiler { - Text(status.content.asSafeAttributedString) - .font(.body) - .environment(\.openURL, OpenURLAction { url in - routeurPath.handleStatus(status: status, url: url) - }) + HStack { + Text(status.content.asSafeAttributedString) + .font(.body) + .environment(\.openURL, OpenURLAction { url in + routeurPath.handleStatus(status: status, url: url) + }) + Spacer() + } if !reasons.contains(.placeholder) { if !viewModel.isCompact, !viewModel.isEmbedLoading, let embed = viewModel.embededStatus { @@ -188,18 +196,21 @@ public struct StatusRowView: View { } if !status.mediaAttachments.isEmpty { - StatusMediaPreviewView(attachements: status.mediaAttachments, isNotifications: viewModel.isCompact) - .padding(.vertical, 4) + HStack { + StatusMediaPreviewView(attachements: status.mediaAttachments, isNotifications: viewModel.isCompact) + .padding(.vertical, 4) + Spacer() + } } - if let card = status.card, viewModel.embededStatus?.url != status.card?.url, !viewModel.isEmbedLoading { + if let card = status.card, + viewModel.embededStatus?.url != status.card?.url, + status.mediaAttachments.isEmpty, + !viewModel.isEmbedLoading, + theme.statusDisplayStyle == .large { StatusCardView(card: card) } } } - .contentShape(Rectangle()) - .onTapGesture { - viewModel.navigateToDetail(routeurPath: routeurPath) - } } @ViewBuilder