diff --git a/IceCubesApp/App/SideBarView.swift b/IceCubesApp/App/SideBarView.swift index a923171e..d75a8170 100644 --- a/IceCubesApp/App/SideBarView.swift +++ b/IceCubesApp/App/SideBarView.swift @@ -16,15 +16,15 @@ struct SideBarView: View { var body: some View { HStack(spacing: 0) { VStack(alignment: .center) { - if let account = currentAccount.account { - Button { - selectedTab = .profile - } label: { - AvatarView(url: account.avatar, size: .status) - } - .frame(width: 70, height: 50) - .background(selectedTab == .profile ? theme.secondaryBackgroundColor : .clear) + Button { + selectedTab = .profile + } label: { + AppAccountsSelectorView(routeurPath: RouterPath(), + accountCreationEnabled: false, + avatarSize: .status) } + .frame(width: 70, height: 60) + .background(selectedTab == .profile ? theme.secondaryBackgroundColor : .clear) ForEach(tabs) { tab in Button { if tab == selectedTab { diff --git a/Packages/AppAccount/Sources/AppAccount/AppAccountsSelectorView.swift b/Packages/AppAccount/Sources/AppAccount/AppAccountsSelectorView.swift index 3ffdcc98..33da32b0 100644 --- a/Packages/AppAccount/Sources/AppAccount/AppAccountsSelectorView.swift +++ b/Packages/AppAccount/Sources/AppAccount/AppAccountsSelectorView.swift @@ -22,10 +22,19 @@ public struct AppAccountsSelectorView: View { } public var body: some View { - Menu { - menuView - } label: { - labelView + Group { + if ProcessInfo.processInfo.isiOSAppOnMac { + labelView + .contextMenu { + menuView + } + } else { + Menu { + menuView + } label: { + labelView + } + } } .onAppear { refreshAccounts() @@ -82,7 +91,9 @@ public struct AppAccountsSelectorView: View { let viewModel: AppAccountViewModel = .init(appAccount: account) Task { await viewModel.fetchAccount() - accountsViewModel.append(viewModel) + if !accountsViewModel.contains(where: { $0.acct == viewModel.acct }) { + accountsViewModel.append(viewModel) + } } } }