refactor(IOS-INFO-041): change default tab to sources + load on appear

- Set detailTab default to 1 (sources view)
- Load sources on appear via .task
- Refreshable reloads sources

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
wangdl 2026-06-18 22:05:51 +08:00
parent 4b3ef77342
commit 5008e491a9

View File

@ -141,7 +141,11 @@ struct LibraryDetailPage: View {
@State private var isSelectMode = false @State private var isSelectMode = false
@State private var selectedIds: Set<String> = [] @State private var selectedIds: Set<String> = []
@State private var showBatchDeleteConfirm = false @State private var showBatchDeleteConfirm = false
@State private var detailTab = 0 @State private var detailTab = 1
private func appear() async {
await loadSources()
}
@State private var sortOption = 0 @State private var sortOption = 0
@State private var showFolderManager = false @State private var showFolderManager = false
@State private var sources: [KnowledgeSource] = [] @State private var sources: [KnowledgeSource] = []
@ -176,12 +180,6 @@ struct LibraryDetailPage: View {
.padding(.horizontal, 20).padding(.top, 8) .padding(.horizontal, 20).padding(.top, 8)
} }
Picker("", selection: $detailTab) {
Text("知识点").tag(0)
Text("资料来源").tag(1)
}
.pickerStyle(.segmented)
.padding(.horizontal, 20).padding(.top, 12)
ScrollView { ScrollView {
VStack(spacing: 0) { VStack(spacing: 0) {
@ -308,7 +306,7 @@ struct LibraryDetailPage: View {
.padding(.horizontal, 20).padding(.bottom, 80) .padding(.horizontal, 20).padding(.bottom, 80)
} }
.scrollIndicators(.hidden) .scrollIndicators(.hidden)
.refreshable { await viewModel.refresh(knowledgeBaseId: knowledgeBaseId) } .refreshable { await loadSources() }
} }
} }
.navigationBarTitleDisplayMode(.inline).toolbarBackground(.hidden, for: .navigationBar).toolbar(.hidden, for: .tabBar) .navigationBarTitleDisplayMode(.inline).toolbarBackground(.hidden, for: .navigationBar).toolbar(.hidden, for: .tabBar)
@ -411,7 +409,7 @@ struct LibraryDetailPage: View {
} message: { } message: {
Text("确定要删除选中的 \(selectedIds.count) 个知识点吗?此操作不可恢复。") Text("确定要删除选中的 \(selectedIds.count) 个知识点吗?此操作不可恢复。")
} }
.task { await viewModel.loadItems(knowledgeBaseId: knowledgeBaseId) } .task { await appear() }
.sheet(isPresented: $showFolderManager) { .sheet(isPresented: $showFolderManager) {
FolderManageView(knowledgeBaseId: knowledgeBaseId) FolderManageView(knowledgeBaseId: knowledgeBaseId)
} }