From d9cf9ea59a5490d5ee02b7a3eb2a8c3843d7e00a Mon Sep 17 00:00:00 2001 From: Thomas Ricouard Date: Tue, 24 Jan 2023 19:07:55 +0100 Subject: [PATCH] Fix leading avatar incorrect position close #249 --- .../Sources/Status/Row/StatusRowView.swift | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/Packages/Status/Sources/Status/Row/StatusRowView.swift b/Packages/Status/Sources/Status/Row/StatusRowView.swift index 2935298b..4a6a3991 100644 --- a/Packages/Status/Sources/Status/Row/StatusRowView.swift +++ b/Packages/Status/Sources/Status/Row/StatusRowView.swift @@ -28,31 +28,37 @@ public struct StatusRowView: View { EmptyView() } } else { - HStack(alignment: .top, spacing: .statusColumnsSpacing) { - if !viewModel.isCompact, - theme.avatarPosition == .leading, - let status: AnyStatus = viewModel.status.reblog ?? viewModel.status - { - Button { - routerPath.navigate(to: .accountDetailWithAccount(account: status.account)) - } label: { - AvatarView(url: status.account.avatar, size: .status) - } + VStack(alignment: .leading) { + if !viewModel.isCompact, theme.avatarPosition == .leading { + reblogView + replyView } - VStack(alignment: .leading) { - if !viewModel.isCompact { - reblogView - replyView + HStack(alignment: .top, spacing: .statusColumnsSpacing) { + if !viewModel.isCompact, + theme.avatarPosition == .leading, + let status: AnyStatus = viewModel.status.reblog ?? viewModel.status + { + Button { + routerPath.navigate(to: .accountDetailWithAccount(account: status.account)) + } label: { + AvatarView(url: status.account.avatar, size: .status) + } } - statusView - if viewModel.showActions && !viewModel.isRemote, theme.statusActionsDisplay != .none { - StatusActionsView(viewModel: viewModel) - .padding(.top, 8) - .tint(viewModel.isFocused ? theme.tintColor : .gray) - .contentShape(Rectangle()) - .onTapGesture { - viewModel.navigateToDetail(routerPath: routerPath) - } + VStack(alignment: .leading) { + if !viewModel.isCompact, theme.avatarPosition == .top { + reblogView + replyView + } + statusView + if viewModel.showActions && !viewModel.isRemote, theme.statusActionsDisplay != .none { + StatusActionsView(viewModel: viewModel) + .padding(.top, 8) + .tint(viewModel.isFocused ? theme.tintColor : .gray) + .contentShape(Rectangle()) + .onTapGesture { + viewModel.navigateToDetail(routerPath: routerPath) + } + } } } }