Don't show Follow activity for user's own account

This commit is contained in:
Shadowfacts 2020-06-19 23:00:59 -04:00
parent ba3e9e7491
commit 393a134648
Signed by: shadowfacts
GPG Key ID: 94A5AB95422746E5
1 changed files with 21 additions and 13 deletions

View File

@ -303,19 +303,27 @@ extension ProfileTableViewController: ProfileHeaderTableViewCellDelegate {
func showMoreOptions(cell: ProfileHeaderTableViewCell) { func showMoreOptions(cell: ProfileHeaderTableViewCell) {
let account = mastodonController.persistentContainer.account(for: accountID)! let account = mastodonController.persistentContainer.account(for: accountID)!
let request = Client.getRelationships(accounts: [account.id]) func showActivityController(activities: [UIActivity]) {
mastodonController.run(request) { (response) in let activityController = UIActivityViewController(activityItems: [account.url, AccountActivityItemSource(account)], applicationActivities: activities)
var customActivities: [UIActivity] = [OpenInSafariActivity()] activityController.completionWithItemsHandler = OpenInSafariActivity.completionHandler(viewController: self, url: account.url)
if case let .success(results, _) = response, let relationship = results.first { activityController.popoverPresentationController?.sourceView = cell.moreButtonVisualEffectView
let toggleFollowActivity = relationship.following ? UnfollowAccountActivity() : FollowAccountActivity() self.present(activityController, animated: true)
customActivities.insert(toggleFollowActivity, at: 0) }
}
DispatchQueue.main.async { if account.id == mastodonController.account.id {
let activityController = UIActivityViewController(activityItems: [account.url, AccountActivityItemSource(account)], applicationActivities: customActivities) showActivityController(activities: [OpenInSafariActivity()])
activityController.completionWithItemsHandler = OpenInSafariActivity.completionHandler(viewController: self, url: account.url) } else {
activityController.popoverPresentationController?.sourceView = cell.moreButtonVisualEffectView let request = Client.getRelationships(accounts: [account.id])
self.present(activityController, animated: true) 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)
}
} }
} }
} }