feat(KB-171): propagate availableModels prop through dashboard component tree

- Update App.tsx to fetch and pass availableModels to Board
- Update Board component to accept and pass availableModels to Column
- Update Column component to receive availableModels prop
- Update ListView to handle availableModels prop
- Update Board test mock to include availableModels prop
This commit is contained in:
gsxdsm
2026-03-30 18:00:17 -07:00
parent 75189f51bc
commit 0a71659fbb
5 changed files with 27 additions and 5 deletions

View File

@@ -3,6 +3,7 @@ import { LayoutGrid, List as ListIcon, ArrowUpDown, ArrowUp, ArrowDown, Search,
import type { Task, TaskDetail, Column, TaskStep, TaskCreateInput } from "@kb/core";
import { COLUMN_LABELS, COLUMNS } from "@kb/core";
import { fetchTaskDetail } from "../api";
import type { ModelInfo } from "../api";
import { QuickEntryBox } from "./QuickEntryBox";
import type { ToastType } from "../hooks/useToast";
@@ -32,6 +33,7 @@ interface ListViewProps {
globalPaused?: boolean;
onNewTask?: () => void;
onQuickCreate?: (input: TaskCreateInput) => Promise<void>;
availableModels?: ModelInfo[];
}
function getStepProgress(steps: TaskStep[]): string {
@@ -54,6 +56,7 @@ export function ListView({
globalPaused,
onNewTask,
onQuickCreate,
availableModels,
}: ListViewProps) {
const [sortField, setSortField] = useState<SortField>("id");
const [sortDirection, setSortDirection] = useState<SortDirection>("desc");
@@ -390,7 +393,9 @@ export function ListView({
<div className="list-quick-entry">
<QuickEntryBox
onCreate={onQuickCreate ?? (async () => addToast("Task creation not available", "error"))}
addToast={addToast}
addToast={addToast}
tasks={tasks}
availableModels={availableModels}
/>
</div>
<div className="list-column-toggle" ref={columnDropdownRef}>