auto-sync: 2026-05-20 09:27:09

This commit is contained in:
cfdaily
2026-05-20 09:27:09 +08:00
parent cf4f3dcc43
commit 2cf6d71e47
+17 -2
View File
@@ -286,6 +286,8 @@ export default function EdictBoard() {
const v2tasks = useStore(s => s.v2tasks);
const v2tasksLoading = useStore(s => s.v2tasksLoading);
const selectedProjectId = useStore(s => s.selectedProjectId);
const setSelectedProjectId = useStore(s => s.setSelectedProjectId);
const projects = useStore(s => s.projects);
const loadV2Tasks = useStore(s => s.loadV2Tasks);
const toast = useStore(s => s.toast);
const loadV2TaskDetail = useStore(s => s.loadV2TaskDetail);
@@ -410,9 +412,22 @@ export default function EdictBoard() {
</div>
</div>
{/* 第 1 行:归档控制 */}
{/* 第 1 行:项目切换 + 归档控制 */}
<div style={{ display: 'flex', alignItems: 'center', gap: 6, marginBottom: 8 }}>
{(['active', 'archived', 'all'] as const).map(f => (
<select
value={selectedProjectId || ''}
onChange={(e) => setSelectedProjectId(e.target.value || null)}
style={{
fontSize: 11, padding: '3px 8px', borderRadius: 6,
border: '1px solid var(--line)', background: 'var(--panel)',
color: 'var(--fg)', cursor: 'pointer', minWidth: 120,
}}
>
<option value="">📋 </option>
{Object.entries(projects).map(([pid, info]: [string, any]) => (
<option key={pid} value={pid}>📁 {info.name || pid}</option>
))}
</select>
<button key={f} onClick={() => setArchiveFilter(f)} style={{
padding: '3px 10px', borderRadius: 6, fontSize: 11,
border: `1px solid ${archiveFilter === f ? 'var(--acc)' : '#2a3550'}`,