aboutsummaryrefslogtreecommitdiff
path: root/Hotline/macOS
diff options
context:
space:
mode:
Diffstat (limited to 'Hotline/macOS')
-rw-r--r--Hotline/macOS/Board/MessageBoardView.swift20
-rw-r--r--Hotline/macOS/Files/FolderItemView.swift2
-rw-r--r--Hotline/macOS/MessageView.swift8
-rw-r--r--Hotline/macOS/ServerView.swift33
4 files changed, 25 insertions, 38 deletions
diff --git a/Hotline/macOS/Board/MessageBoardView.swift b/Hotline/macOS/Board/MessageBoardView.swift
index 710ff20..be039d8 100644
--- a/Hotline/macOS/Board/MessageBoardView.swift
+++ b/Hotline/macOS/Board/MessageBoardView.swift
@@ -8,16 +8,14 @@ struct MessageBoardView: View {
var body: some View {
NavigationStack {
- if self.model.access?.contains(.canReadMessageBoard) != false {
- if self.model.messageBoardLoaded && self.model.messageBoard.isEmpty {
- self.emptyBoardView
- }
- else {
- self.messageBoardView
- }
+ if self.model.access?.contains(.canReadMessageBoard) != true {
+ self.disabledBoardView
+ }
+ else if self.model.messageBoardLoaded && self.model.messageBoard.isEmpty {
+ self.emptyBoardView
}
else {
- self.disabledBoardView
+ self.messageBoardView
}
}
.sheet(isPresented: $composerDisplayed) {
@@ -32,7 +30,7 @@ struct MessageBoardView: View {
} label: {
Image(systemName: "square.and.pencil")
}
- .disabled(self.model.access?.contains(.canPostMessageBoard) == false)
+ .disabled((self.model.access?.contains(.canPostMessageBoard) != true) || (self.model.access?.contains(.canReadMessageBoard) != true))
.help("Post to Message Board")
}
}
@@ -45,9 +43,9 @@ struct MessageBoardView: View {
private var disabledBoardView: some View {
ContentUnavailableView {
- Label("Message Board Disabled", systemImage: "quote.bubble")
+ Label("No Message Board", systemImage: "quote.bubble")
} description: {
- Text("This server has turned off the message board")
+ Text("This server has turned off their message board")
}
}
diff --git a/Hotline/macOS/Files/FolderItemView.swift b/Hotline/macOS/Files/FolderItemView.swift
index 18522af..f82bb11 100644
--- a/Hotline/macOS/Files/FolderItemView.swift
+++ b/Hotline/macOS/Files/FolderItemView.swift
@@ -20,7 +20,7 @@ struct FolderItemView: View {
self.model.uploadFile(url: fileURL, path: filePath) { info in
Task {
// Refresh file listing to display newly uploaded file.
- let _ = try? await model.getFileList(path: filePath)
+ try? await model.getFileList(path: filePath)
}
}
}
diff --git a/Hotline/macOS/MessageView.swift b/Hotline/macOS/MessageView.swift
index 6208d54..858aa37 100644
--- a/Hotline/macOS/MessageView.swift
+++ b/Hotline/macOS/MessageView.swift
@@ -30,9 +30,15 @@ struct MessageView: View {
}
.background(Color(nsColor: .textBackgroundColor))
.onAppear {
- let user = self.model.users.first(where: { $0.id == userID })
+ self.model.markInstantMessagesAsRead(userID: self.userID)
+
+ let user = self.model.users.first(where: { $0.id == self.userID })
self.username = user?.name
}
+
+ .onAppear {
+ self.model.markInstantMessagesAsRead(userID: userID)
+ }
.toolbar {
if self.model.access?.contains(.canGetClientInfo) == true {
ToolbarItem {
diff --git a/Hotline/macOS/ServerView.swift b/Hotline/macOS/ServerView.swift
index ff92acc..696e08d 100644
--- a/Hotline/macOS/ServerView.swift
+++ b/Hotline/macOS/ServerView.swift
@@ -111,6 +111,7 @@ struct ServerView: View {
self.connectForm
Spacer()
}
+ .presentedWindowToolbarStyle(.unified(showsTitle: false))
.navigationTitle(self.model.serverTitle.isBlank ? "Hotline" : self.model.serverTitle)
}
else if self.model.status.isLoggingIn {
@@ -249,6 +250,11 @@ struct ServerView: View {
if menuItem.type == .chat {
ListItemView(icon: menuItem.image, title: menuItem.name, unread: model.unreadPublicChat).tag(menuItem.type)
}
+// else if menuItem.type == .board {
+// if self.model.access?.contains(.canReadMessageBoard) == true {
+// ListItemView(icon: menuItem.image, title: menuItem.name, unread: false).tag(menuItem.type)
+// }
+// }
// else if menuItem.type == .accounts {
// if model.access?.contains(.canOpenUsers) == true {
// ListItemView(icon: menuItem.image, title: menuItem.name, unread: false).tag(menuItem.type)
@@ -355,40 +361,17 @@ struct ServerView: View {
switch state.selection {
case .chat:
ChatView()
- .navigationTitle(model.serverTitle)
-// .navigationSubtitle("Public Chat")
-// .navigationSplitViewColumnWidth(min: 250, ideal: 500)
case .news:
NewsView()
- .navigationTitle(model.serverTitle)
-// .navigationSubtitle("Newsgroups")
-// .navigationSplitViewColumnWidth(min: 250, ideal: 500)
case .board:
MessageBoardView()
- .navigationTitle(model.serverTitle)
-// .navigationSubtitle("Message Board")
-// .navigationSplitViewColumnWidth(min: 250, ideal: 500)
case .files:
FilesView()
- .navigationTitle(model.serverTitle)
-// .navigationSubtitle("Shared Files")
-// .navigationSplitViewColumnWidth(min: 250, ideal: 500)
-// case .accounts:
-// AccountManagerView()
-// .navigationTitle(model.serverTitle)
-//// .navigationSubtitle("Accounts")
-// .navigationSplitViewColumnWidth(min: 250, ideal: 500)
case .user(let userID):
-// let user = model.users.first(where: { $0.id == userID })
MessageView(userID: userID)
- .navigationTitle(model.serverTitle)
-// .navigationSubtitle(user?.name ?? "Private Message")
-// .navigationSplitViewColumnWidth(min: 250, ideal: 500)
- .onAppear {
- model.markInstantMessagesAsRead(userID: userID)
- }
}
}
+ .navigationTitle(self.model.serverTitle)
}
// MARK: -
@@ -538,7 +521,7 @@ struct ServerTransferRow: View {
withAnimation(.snappy(duration: 0.25, extraBounce: 0.3)) {
self.hovered = hovered
}
- self.detailsShown = hovered
+// self.detailsShown = hovered
}
.onTapGesture(count: 2) {
guard transfer.completed, let url = transfer.fileURL else {