feat(dashboard): quick-add collapsed by default in List, open in Board

Add a defaultExpanded prop to QuickEntryBox (default true = open, preserving Board/column behavior); List view passes defaultExpanded={false} so the quick-add controls start collapsed. autoExpand (expand-on-focus) is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-06-22 02:02:55 -07:00
parent 125c5f5744
commit 322077b804
2 changed files with 8 additions and 2 deletions

View File

@@ -1987,6 +1987,7 @@ export function ListView({
onSubtaskBreakdown={onSubtaskBreakdown}
projectId={projectId}
autoExpand={false}
defaultExpanded={false}
favoriteProviders={favoriteProviders}
favoriteModels={favoriteModels}
onToggleFavorite={onToggleFavorite}

View File

@@ -48,6 +48,11 @@ interface QuickEntryBoxProps {
* Defaults to true for backward compatibility.
*/
autoExpand?: boolean;
/*
FNXC:QuickEntry 2026-06-22-01:10:
Initial disclosure (expanded controls) state. List view passes false so quick-add starts COLLAPSED; Board/columns keep the default true so quick-add stays OPEN. This is independent of autoExpand (which only governs expand-on-focus).
*/
defaultExpanded?: boolean;
/**
* Favorited provider IDs from shared app-level state.
* When provided (alongside availableModels), the component uses these
@@ -91,7 +96,7 @@ function parseModelSelection(value: string): { provider?: string; modelId?: stri
};
}
export function QuickEntryBox({ onCreate, addToast, tasks = [], availableModels, onPlanningMode, onSubtaskBreakdown, workflowId, projectId, autoExpand = true, favoriteProviders: parentFavoriteProviders, favoriteModels: parentFavoriteModels, onToggleFavorite: parentToggleFavorite, onToggleModelFavorite: parentToggleModelFavorite, onOpenTask }: QuickEntryBoxProps) {
export function QuickEntryBox({ onCreate, addToast, tasks = [], availableModels, onPlanningMode, onSubtaskBreakdown, workflowId, projectId, autoExpand = true, defaultExpanded = true, favoriteProviders: parentFavoriteProviders, favoriteModels: parentFavoriteModels, onToggleFavorite: parentToggleFavorite, onToggleModelFavorite: parentToggleModelFavorite, onOpenTask }: QuickEntryBoxProps) {
const { t } = useTranslation("app");
const [description, setDescription] = useState(() => {
if (typeof window !== "undefined") {
@@ -105,7 +110,7 @@ export function QuickEntryBox({ onCreate, addToast, tasks = [], availableModels,
const [isExpanded, setIsExpanded] = useState(true);
// isDisclosureExpanded controls visibility of the controls panel (Deps, Models, etc.)
// Starts expanded by default — controls visible immediately
const [isDisclosureExpanded, setIsDisclosureExpanded] = useState(true);
const [isDisclosureExpanded, setIsDisclosureExpanded] = useState(defaultExpanded);
const textareaRef = useRef<HTMLTextAreaElement>(null);
const fileInputRef = useRef<HTMLInputElement>(null);
const touchButtonRef = useRef<HTMLButtonElement | null>(null);