feat(ios): align chat library memory and tasks with web

This commit is contained in:
snowspeeder committed 2026-10-04 10:41:17 -04:00
1 parent 8905dc2c2a
commit 235dd65487
12 files changed
+957 -128

No files matched your search

@@ -60,6 +60,8 @@ struct ConversationView: View {
selectedTab = 0
}, logout: {
await auth.logout { chat.close(); await session.disconnect() }
}, serverURL: activeServerURL, accountName: user.displayName ?? user.username, voiceConversationLocked: { id in
id == session.boundConversationID && session.state != .idle && !session.state.isFailed
})
.tabItem { Label("Chats", systemImage: "bubble.left.and.text.bubble.right") }
.tag(2)
@@ -83,7 +85,7 @@ struct ConversationView: View {
.tabItem { Label("Talk", systemImage: "bubble.left.and.bubble.right") }
.tag(0)
ActivityTab(taskStore: session.taskStore, settings: settings, session: session)
ActivityTab(taskStore: session.taskStore, settings: settings, session: session, features: chat.features)
.tag(1)
}
.tint(HopeTheme.color(.accent, palette: HopePalette(rawValue: chat.preferences.palette) ?? .opal))
@@ -141,10 +143,17 @@ private struct ActivityTab: View {
@ObservedObject var taskStore: TaskStore
@ObservedObject var settings: SettingsStore
@ObservedObject var session: VoiceSession
@ObservedObject var features: ChatFeatureStore
@State private var showSchedules = false
var body: some View {
NavigationStack {
TaskPanelView(taskStore: taskStore)
.safeAreaInset(edge: .top) {
Button("Scheduled tasks", systemImage: "calendar") { showSchedules = true }
.frame(maxWidth: .infinity, minHeight: 44).padding(.horizontal).background(.regularMaterial)
}
.sheet(isPresented: $showSchedules) { ChatLibraryView(store: features, initialDestination: .tasks) }
.toolbar {
ToolbarItem(placement: .topBarTrailing) {
NavigationLink {