diff --git a/Tusker/Screens/Profile/ProfileTableViewController.swift b/Tusker/Screens/Profile/ProfileTableViewController.swift index 36a9976b..33befb6c 100644 --- a/Tusker/Screens/Profile/ProfileTableViewController.swift +++ b/Tusker/Screens/Profile/ProfileTableViewController.swift @@ -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) - } - - 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) + 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) + } + + 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) + } } } }