auto-sync: 2026-05-21 08:17:37
This commit is contained in:
@@ -435,7 +435,9 @@ export const useStore = create<AppStore>((set, get) => ({
|
||||
const projRes = await fetch('/api/projects');
|
||||
if (!projRes.ok) { set({ v2tasks: [], v2tasksLoading: false }); return; }
|
||||
const projData = await projRes.json();
|
||||
const allPids = Object.keys(projData.projects || {}).filter(p => !p.startsWith('_')).slice(0, 50);
|
||||
const allPids = Object.keys(projData.projects || {}).filter(p => !p.startsWith('_') && p !== '_mail').slice(0, 50);
|
||||
// 确保 _general 在列表中
|
||||
if (!allPids.includes('_general') && projData.projects?._general) allPids.unshift('_general');
|
||||
const allTasks: any[] = [];
|
||||
// 并行请求,每批10个
|
||||
for (let i = 0; i < allPids.length; i += 10) {
|
||||
@@ -534,12 +536,13 @@ export const useStore = create<AppStore>((set, get) => ({
|
||||
const data = await api.projects();
|
||||
set({ projects: data.projects });
|
||||
const s = get();
|
||||
// 如果当前 selectedProjectId 不在项目列表里,重新选择
|
||||
if ((!s.selectedProjectId || !(s.selectedProjectId in data.projects)) && s.selectedProjectId !== '' && s.selectedProjectId !== '_general') {
|
||||
// 如果当前 selectedProjectId 不在项目列表里(且不是全部/一般),重新选择
|
||||
if (s.selectedProjectId && s.selectedProjectId !== '' && s.selectedProjectId !== '_general' && !(s.selectedProjectId in data.projects)) {
|
||||
if (Object.keys(data.projects).length > 0) {
|
||||
const firstPid = Object.keys(data.projects)[0];
|
||||
set({ selectedProjectId: firstPid });
|
||||
setApiProjectId(firstPid);
|
||||
try { localStorage.setItem('selectedProjectId', firstPid); } catch {}
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
|
||||
Reference in New Issue
Block a user