Don't show Follow activity for user's own account
This commit is contained in:
parent
ba3e9e7491
commit
393a134648
|
@ -303,19 +303,27 @@ extension ProfileTableViewController: ProfileHeaderTableViewCellDelegate {
|
|||
func showMoreOptions(cell: ProfileHeaderTableViewCell) {
|
||||
let account = mastodonController.persistentContainer.account(for: accountID)!
|
||||
|
||||
let request = Client.getRelationships(accounts: [account.id])
|
||||
mastodonController.run(request) { (response) in
|
||||
var customActivities: [UIActivity] = [OpenInSafariActivity()]
|
||||
if case let .success(results, _) = response, let relationship = results.first {
|
||||
let toggleFollowActivity = relationship.following ? UnfollowAccountActivity() : FollowAccountActivity()
|
||||
customActivities.insert(toggleFollowActivity, at: 0)
|
||||
}
|
||||
func showActivityController(activities: [UIActivity]) {
|
||||
let activityController = UIActivityViewController(activityItems: [account.url, AccountActivityItemSource(account)], applicationActivities: activities)
|
||||
activityController.completionWithItemsHandler = OpenInSafariActivity.completionHandler(viewController: self, url: account.url)
|
||||
activityController.popoverPresentationController?.sourceView = cell.moreButtonVisualEffectView
|
||||
self.present(activityController, animated: true)
|
||||
}
|
||||
|
||||
DispatchQueue.main.async {
|
||||
let activityController = UIActivityViewController(activityItems: [account.url, AccountActivityItemSource(account)], applicationActivities: customActivities)
|
||||
activityController.completionWithItemsHandler = OpenInSafariActivity.completionHandler(viewController: self, url: account.url)
|
||||
activityController.popoverPresentationController?.sourceView = cell.moreButtonVisualEffectView
|
||||
self.present(activityController, animated: true)
|
||||
if account.id == mastodonController.account.id {
|
||||
showActivityController(activities: [OpenInSafariActivity()])
|
||||
} else {
|
||||
let request = Client.getRelationships(accounts: [account.id])
|
||||
mastodonController.run(request) { (response) in
|
||||
var customActivities: [UIActivity] = [OpenInSafariActivity()]
|
||||
if case let .success(results, _) = response, let relationship = results.first {
|
||||
let toggleFollowActivity = relationship.following ? UnfollowAccountActivity() : FollowAccountActivity()
|
||||
customActivities.insert(toggleFollowActivity, at: 0)
|
||||
}
|
||||
|
||||
DispatchQueue.main.async {
|
||||
showActivityController(activities: customActivities)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue