diff options
| author | Dustin Mierau <dustin@mierau.me> | 2024-01-03 15:40:24 -0800 |
|---|---|---|
| committer | Dustin Mierau <dustin@mierau.me> | 2024-01-03 15:40:24 -0800 |
| commit | 64368ad8690f0a071f2490e8429c0437694133ee (patch) | |
| tree | 2e0eac2130ff39498ccab2fa8f6abf905f7c5a4d /Hotline/macOS/ServerView.swift | |
| parent | 4d31accad9d6bf901928f4293f29cb62f6f77260 (diff) | |
Fix issue with username saving to server with each change in username textfield.
Diffstat (limited to 'Hotline/macOS/ServerView.swift')
| -rw-r--r-- | Hotline/macOS/ServerView.swift | 48 |
1 files changed, 13 insertions, 35 deletions
diff --git a/Hotline/macOS/ServerView.swift b/Hotline/macOS/ServerView.swift index ae8a104..5570c47 100644 --- a/Hotline/macOS/ServerView.swift +++ b/Hotline/macOS/ServerView.swift @@ -181,7 +181,7 @@ struct ServerView: View { @State private var agreementShown: Bool = false @State private var selection: MenuItem? = ServerView.menuItems.first - let server: Server + let server: Server? static var menuItems = [ MenuItem(name: "Chat", image: "bubble", type: .chat), @@ -259,7 +259,7 @@ struct ServerView: View { } var usersSection: some View { - Section("Users") { + Section("\(model.users.count) Online") { ForEach(model.users) { user in HStack { if let iconImage = Hotline.getClassicIcon(Int(user.iconID)) { @@ -302,28 +302,9 @@ struct ServerView: View { var body: some View { NavigationSplitView { - self.navigationList .frame(maxWidth: .infinity) .navigationSplitViewColumnWidth(min: 150, ideal: 200, max: 500) - -// VSplitView { -// -// self.navigationList -// -// ScrollView { -// VStack(alignment: .leading) { -// // ForEach(model.downloads) { -// // } -// } -// .frame(maxWidth: .infinity) -// } -// -// } -// .frame(maxWidth: .infinity) -// .navigationSplitViewColumnWidth(min: 150, ideal: 200, max: 500) - - } detail: { if let selection = self.selection { switch selection.type { @@ -334,22 +315,18 @@ struct ServerView: View { case .chat: ChatView() .navigationTitle(self.model.serverTitle) - .navigationSubtitle(self.model.users.count > 0 ? "^[\(self.model.users.count) user](inflect: true) online" : "") .navigationSplitViewColumnWidth(min: 250, ideal: 500) case .news: NewsView() .navigationTitle(self.model.serverTitle) - .navigationSubtitle(self.model.users.count > 0 ? "^[\(self.model.users.count) user](inflect: true) online" : "") .navigationSplitViewColumnWidth(min: 250, ideal: 500) case .messageBoard: MessageBoardView() .navigationTitle(self.model.serverTitle) - .navigationSubtitle(self.model.users.count > 0 ? "^[\(self.model.users.count) user](inflect: true) online" : "") .navigationSplitViewColumnWidth(min: 250, ideal: 500) case .files: FilesView() .navigationTitle(self.model.serverTitle) - .navigationSubtitle(self.model.users.count > 0 ? "^[\(self.model.users.count) user](inflect: true) online" : "") .navigationSplitViewColumnWidth(min: 250, ideal: 500) case .tasks: EmptyView() @@ -357,7 +334,6 @@ struct ServerView: View { if let selectionUserID = selection.userID { MessageView(userID: selectionUserID) .navigationTitle(self.model.serverTitle) - .navigationSubtitle(self.model.users.count > 0 ? "^[\(self.model.users.count) user](inflect: true) online" : "") .navigationSplitViewColumnWidth(min: 250, ideal: 500) } } @@ -365,15 +341,17 @@ struct ServerView: View { } .navigationTitle("") .onAppear { - self.model.login(server: self.server, login: "", password: "", username: preferences.username, iconID: preferences.userIconID) { success in - if !success { - print("FAILED LOGIN??") - } - else { - print("GETTING USER LIST????!") - self.sendPreferences() - self.model.getUserList() - self.model.downloadBanner() + if let s = self.server { + self.model.login(server: s, login: "", password: "", username: preferences.username, iconID: preferences.userIconID) { success in + if !success { + print("FAILED LOGIN??") + } + else { + print("GETTING USER LIST????!") + self.sendPreferences() + self.model.getUserList() + self.model.downloadBanner() + } } } } |