auto-sync: 2026-05-20 09:27:09
This commit is contained in:
@@ -286,6 +286,8 @@ export default function EdictBoard() {
|
|||||||
const v2tasks = useStore(s => s.v2tasks);
|
const v2tasks = useStore(s => s.v2tasks);
|
||||||
const v2tasksLoading = useStore(s => s.v2tasksLoading);
|
const v2tasksLoading = useStore(s => s.v2tasksLoading);
|
||||||
const selectedProjectId = useStore(s => s.selectedProjectId);
|
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 loadV2Tasks = useStore(s => s.loadV2Tasks);
|
||||||
const toast = useStore(s => s.toast);
|
const toast = useStore(s => s.toast);
|
||||||
const loadV2TaskDetail = useStore(s => s.loadV2TaskDetail);
|
const loadV2TaskDetail = useStore(s => s.loadV2TaskDetail);
|
||||||
@@ -410,9 +412,22 @@ export default function EdictBoard() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* 第 1 行:归档控制 */}
|
{/* 第 1 行:项目切换 + 归档控制 */}
|
||||||
<div style={{ display: 'flex', alignItems: 'center', gap: 6, marginBottom: 8 }}>
|
<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={{
|
<button key={f} onClick={() => setArchiveFilter(f)} style={{
|
||||||
padding: '3px 10px', borderRadius: 6, fontSize: 11,
|
padding: '3px 10px', borderRadius: 6, fontSize: 11,
|
||||||
border: `1px solid ${archiveFilter === f ? 'var(--acc)' : '#2a3550'}`,
|
border: `1px solid ${archiveFilter === f ? 'var(--acc)' : '#2a3550'}`,
|
||||||
|
|||||||
Reference in New Issue
Block a user