Revert “Add a custom action for ‘switch accounts’”
This reverts commit f9daeea4d3
This commit is contained in:
parent
2ca6c2badf
commit
120065104c
|
@ -686,9 +686,9 @@
|
|||
}
|
||||
},
|
||||
"account_list": {
|
||||
"tab_bar_hint": "Current selected profile: %s. Double tap then hold to show account switcher",
|
||||
"dismiss_account_switcher": "Dismiss Account Switcher",
|
||||
"add_account": "Add Account",
|
||||
"switch_accounts": "Switch Accounts"
|
||||
"add_account": "Add Account"
|
||||
},
|
||||
"wizard": {
|
||||
"new_in_mastodon": "New in Mastodon",
|
||||
|
@ -699,4 +699,4 @@
|
|||
"title": "Bookmarks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -33,7 +33,6 @@ final class ContentSplitViewController: UIViewController, NeedsDependency {
|
|||
sidebarViewController.context = context
|
||||
sidebarViewController.coordinator = coordinator
|
||||
sidebarViewController.viewModel = SidebarViewModel(context: context, authContext: authContext)
|
||||
sidebarViewController.viewModel.delegate = sidebarViewController
|
||||
sidebarViewController.delegate = self
|
||||
return sidebarViewController
|
||||
}()
|
||||
|
|
|
@ -298,7 +298,6 @@ extension MainTabBarController {
|
|||
}
|
||||
.store(in: &disposeBag)
|
||||
|
||||
let profileTabItem = self.tabBar.items?.first { item in item.tag == Tab.me.tag }
|
||||
if let user = authContext?.mastodonAuthenticationBox.authenticationRecord.object(in: context.managedObjectContext)?.user {
|
||||
self.avatarURLObserver = user.publisher(for: \.avatar)
|
||||
.sink { [weak self, weak user] _ in
|
||||
|
@ -307,19 +306,13 @@ extension MainTabBarController {
|
|||
guard user.managedObjectContext != nil else { return }
|
||||
self.avatarURL = user.avatarImageURL()
|
||||
}
|
||||
if let profileTabItem {
|
||||
profileTabItem.accessibilityCustomActions = [
|
||||
UIAccessibilityCustomAction(name: L10n.Scene.AccountList.switchAccounts) { [weak self] _ in
|
||||
self?.showAccountSwitcher()
|
||||
return true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// a11y
|
||||
let _profileTabItem = self.tabBar.items?.first { item in item.tag == Tab.me.tag }
|
||||
guard let profileTabItem = _profileTabItem else { return }
|
||||
profileTabItem.accessibilityHint = L10n.Scene.AccountList.tabBarHint(user.displayNameWithFallback)
|
||||
} else {
|
||||
self.avatarURLObserver = nil
|
||||
if let profileTabItem {
|
||||
profileTabItem.accessibilityCustomActions = []
|
||||
}
|
||||
}
|
||||
|
||||
let tabBarLongPressGestureRecognizer = UILongPressGestureRecognizer()
|
||||
|
@ -395,17 +388,13 @@ extension MainTabBarController {
|
|||
|
||||
switch tab {
|
||||
case .me:
|
||||
showAccountSwitcher()
|
||||
guard let authContext = self.authContext else { return }
|
||||
let accountListViewModel = AccountListViewModel(context: context, authContext: authContext)
|
||||
_ = coordinator.present(scene: .accountList(viewModel: accountListViewModel), from: self, transition: .panModal)
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
private func showAccountSwitcher() {
|
||||
guard let authContext = self.authContext else { return }
|
||||
let accountListViewModel = AccountListViewModel(context: context, authContext: authContext)
|
||||
_ = coordinator.present(scene: .accountList(viewModel: accountListViewModel), from: self, transition: .panModal)
|
||||
}
|
||||
}
|
||||
|
||||
extension MainTabBarController {
|
||||
|
|
|
@ -162,19 +162,6 @@ extension SidebarViewController {
|
|||
|
||||
}
|
||||
|
||||
extension SidebarViewController: SidebarViewModelDelegate {
|
||||
func sidebarViewModelDidSwitchAccounts(_ sidebarViewModel: SidebarViewModel) {
|
||||
guard let diffableDataSource = viewModel.diffableDataSource else { return }
|
||||
guard let indexPath = diffableDataSource.indexPath(for: .tab(.me)) else { return }
|
||||
guard let cell = collectionView.cellForItem(at: indexPath) else { return }
|
||||
delegate?.sidebarViewController(
|
||||
self,
|
||||
didLongPressItem: .tab(.me),
|
||||
sourceView: cell
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
extension SidebarViewController {
|
||||
@objc private func sidebarLongPressGestureRecognizerHandler(_ sender: UILongPressGestureRecognizer) {
|
||||
guard sender.state == .began else { return }
|
||||
|
|
|
@ -15,10 +15,6 @@ import MastodonAsset
|
|||
import MastodonCore
|
||||
import MastodonLocalization
|
||||
|
||||
protocol SidebarViewModelDelegate: AnyObject {
|
||||
func sidebarViewModelDidSwitchAccounts(_ sidebarViewModel: SidebarViewModel)
|
||||
}
|
||||
|
||||
final class SidebarViewModel {
|
||||
|
||||
var disposeBag = Set<AnyCancellable>()
|
||||
|
@ -35,8 +31,6 @@ final class SidebarViewModel {
|
|||
var secondaryDiffableDataSource: UICollectionViewDiffableDataSource<Section, Item>?
|
||||
@Published private(set) var isReadyForWizardAvatarButton = false
|
||||
|
||||
weak var delegate: SidebarViewModelDelegate?
|
||||
|
||||
init(context: AppContext, authContext: AuthContext?) {
|
||||
self.context = context
|
||||
self.authContext = authContext
|
||||
|
@ -134,17 +128,9 @@ extension SidebarViewModel {
|
|||
}
|
||||
.store(in: &cell.disposeBag)
|
||||
case .me:
|
||||
if self.authContext?.mastodonAuthenticationBox.authenticationRecord.object(in: self.context.managedObjectContext)?.user != nil {
|
||||
cell.accessibilityCustomActions = [
|
||||
UIAccessibilityCustomAction(name: L10n.Scene.AccountList.switchAccounts) { [weak self] _ in
|
||||
guard let self, let delegate = self.delegate else { return false }
|
||||
delegate.sidebarViewModelDidSwitchAccounts(self)
|
||||
return true
|
||||
}
|
||||
]
|
||||
} else {
|
||||
cell.accessibilityCustomActions = []
|
||||
}
|
||||
guard let user = self.authContext?.mastodonAuthenticationBox.authenticationRecord.object(in: self.context.managedObjectContext)?.user else { return }
|
||||
let currentUserDisplayName = user.displayNameWithFallback
|
||||
cell.accessibilityHint = L10n.Scene.AccountList.tabBarHint(currentUserDisplayName)
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue