Restore / Fix embed status view

This commit is contained in:
Thomas Ricouard 2023-01-22 09:51:43 +01:00
parent 987f259130
commit 2df40ff543

View file

@ -57,6 +57,7 @@ public struct StatusRowView: View {
} }
} }
.onAppear { .onAppear {
if reasons.isEmpty {
viewModel.client = client viewModel.client = client
if !viewModel.isCompact, viewModel.embeddedStatus == nil { if !viewModel.isCompact, viewModel.embeddedStatus == nil {
Task { Task {
@ -67,6 +68,7 @@ public struct StatusRowView: View {
viewModel.displaySpoiler = false viewModel.displaySpoiler = false
} }
} }
}
.contextMenu { .contextMenu {
StatusRowContextMenu(viewModel: viewModel) StatusRowContextMenu(viewModel: viewModel)
} }
@ -242,6 +244,8 @@ public struct StatusRowView: View {
StatusPollView(poll: poll, status: status) StatusPollView(poll: poll, status: status)
} }
embedStatusView
makeMediasView(status: status) makeMediasView(status: status)
.accessibilityHidden(!viewModel.isFocused) .accessibilityHidden(!viewModel.isFocused)
makeCardView(status: status) makeCardView(status: status)
@ -350,4 +354,18 @@ public struct StatusRowView: View {
StatusCardView(card: card) StatusCardView(card: card)
} }
} }
@ViewBuilder
private var embedStatusView: some View {
if !reasons.contains(.placeholder) {
if !viewModel.isCompact, !viewModel.isEmbedLoading,
let embed = viewModel.embeddedStatus {
StatusEmbeddedView(status: embed)
} else if viewModel.isEmbedLoading, !viewModel.isCompact {
StatusEmbeddedView(status: .placeholder())
.redacted(reason: .placeholder)
.shimmering()
}
}
}
} }