Show domain-block not for my instance (#1269) (#1270)

Show domain-block not for my instance (#1259)
This commit is contained in:
Nathan Mattes 2024-04-10 18:17:56 +02:00 committed by GitHub
parent 1a2cf272a6
commit a9792878e9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 15 additions and 6 deletions

View File

@ -418,22 +418,31 @@ extension ProfileViewController {
}
private func bindMoreBarButtonItem() {
Publishers.CombineLatest(
Publishers.CombineLatest3(
viewModel.$account,
viewModel.$me,
viewModel.$relationship
)
.asyncMap { [weak self] user, relationship -> UIMenu? in
guard let self, let relationship, let domain = user.domainFromAcct else { return nil }
.asyncMap { [weak self] user, me, relationship -> UIMenu? in
guard let self, let relationship, let domain = user.domainFromAcct, let myDomain = me.domainFromAcct else { return nil }
let name = user.displayNameWithFallback
var menuActions: [MastodonMenu.Action] = [
.muteUser(.init(name: name, isMuting: relationship.muting)),
.blockUser(.init(name: name, isBlocking: relationship.blocking)),
.blockDomain(.init(domain: domain, isBlocking: relationship.domainBlocking)),
.blockUser(.init(name: name, isBlocking: relationship.blocking))
]
if myDomain != domain {
menuActions.append(
.blockDomain(.init(domain: domain, isBlocking: relationship.domainBlocking))
)
}
menuActions.append(contentsOf: [
.reportUser(.init(name: name)),
.shareUser(.init(name: name)),
]
])
if relationship.following {
let showReblogs = relationship.showingReblogs// me.showingReblogsBy.contains(user)