feat(FN-1209): add quick entry image attachment flow

- Return the created task from board quick create and propagate the onQuickCreate return type through board/list components
- Add pending image handling in QuickEntryBox with paste support, hidden file input, and an Attach action in the menu
- Render removable pending image previews, include image count in the actions badge, and clean up object URLs on reset/unmount
- Upload pending images after task creation with error toasts for failed uploads, and extend tests for attachment and quick-create behavior
This commit is contained in:
gsxdsm
2026-04-08 16:03:46 -07:00
parent 8aa77c8b77
commit 55e8b6fd94
7 changed files with 279 additions and 17 deletions

View File

@@ -11,7 +11,7 @@ interface UseTaskHandlersOptions {
}
export interface UseTaskHandlersResult {
handleBoardQuickCreate: (input: TaskCreateInput) => Promise<void>;
handleBoardQuickCreate: (input: TaskCreateInput) => Promise<Task>;
handleModalCreate: (input: TaskCreateInput) => Promise<Task>;
handlePlanningTaskCreated: (task: Task) => void;
handlePlanningTasksCreated: (tasks: Task[]) => void;
@@ -29,8 +29,8 @@ export function useTaskHandlers(options: UseTaskHandlersOptions): UseTaskHandler
} = options;
const handleBoardQuickCreate = useCallback(
async (input: TaskCreateInput): Promise<void> => {
await createTask({ ...input, column: "triage" });
async (input: TaskCreateInput): Promise<Task> => {
return createTask({ ...input, column: "triage" });
},
[createTask],
);