Private
Public Access
1
0

osx: some minor fixes

This commit is contained in:
2025-09-10 14:41:24 -07:00
parent 74d1a7f54b
commit f901077067
5 changed files with 16 additions and 12 deletions

View File

@@ -14,7 +14,10 @@ struct KordophoneApp: App
WindowGroup {
SplitView()
}
.commands {
TextEditingCommands()
}
Settings {
PreferencesView()
}

View File

@@ -13,7 +13,7 @@ struct ConversationListView: View
@Environment(\.xpcClient) private var xpcClient
var body: some View {
List($model.conversations, selection: $model.selectedConversations) { conv in
List($model.conversations, selection: $model.selectedConversation) { conv in
let isUnread = conv.wrappedValue.unreadCount > 0
HStack(spacing: 0.0) {
@@ -64,14 +64,14 @@ struct ConversationListView: View
class ViewModel
{
var conversations: [Display.Conversation]
var selectedConversations: Set<Display.Conversation.ID>
var selectedConversation: Display.Conversation.ID?
private var needsReload: Bool = true
private let client = XPCClient()
public init(conversations: [Display.Conversation] = []) {
self.conversations = conversations
self.selectedConversations = Set()
self.selectedConversation = nil
setNeedsReload()
}

View File

@@ -36,6 +36,7 @@ struct MessageEntryView: View
.font(.body)
.scrollDisabled(true)
.disabled(selectedConversation == nil)
.id("messageEntry")
}
.padding(8.0)
.background {

View File

@@ -15,7 +15,7 @@ struct SplitView: View
private let xpcClient = XPCClient()
private var selectedConversation: Display.Conversation? {
guard let id = conversationListModel.selectedConversations.first else { return nil }
guard let id = conversationListModel.selectedConversation else { return nil }
return conversationListModel.conversations.first { $0.id == id }
}
@@ -28,10 +28,10 @@ struct SplitView: View
ConversationView(transcriptModel: $transcriptViewModel, entryModel: $entryViewModel)
.xpcClient(xpcClient)
.selectedConversation(selectedConversation)
.navigationTitle("Kordophone")
.navigationSubtitle(selectedConversation?.displayName ?? "")
.onChange(of: conversationListModel.selectedConversations) { oldValue, newValue in
transcriptViewModel.displayedConversation = conversationListModel.conversations.first { $0.id == newValue.first }
.navigationTitle(selectedConversation?.displayName ?? "Kordophone")
.navigationSubtitle(selectedConversation?.participants.joined(separator: ", ") ?? "")
.onChange(of: conversationListModel.selectedConversation) { oldValue, newValue in
transcriptViewModel.displayedConversation = conversationListModel.conversations.first { $0.id == newValue }
}
}
}