Files
kandev/apps/web/components/task/mobile/use-mobile-task-rename.ts
T
José Almeida e2c076c71c feat(web): improve mobile task navigation (#1769)
* feat(web): improve mobile task and kanban navigation

* feat(web): refine mobile task navigation

* fix(web): address mobile navigation review feedback

* test(web): cover task title field modes

* fix(web): keep mobile board navigator open across workflows

* fix(web): address mobile workflow review feedback
2026-07-18 02:28:29 +01:00

37 lines
1.2 KiB
TypeScript

"use client";
import { useCallback, useState } from "react";
import { useTaskActions } from "@/hooks/use-task-actions";
import { useToast } from "@/components/toast-provider";
export function useMobileTaskRename() {
const { renameTaskById } = useTaskActions();
const { toast } = useToast();
const [renamingTask, setRenamingTask] = useState<{ id: string; title: string } | null>(null);
const handleRenameTask = useCallback((taskId: string, currentTitle: string) => {
setRenamingTask({ id: taskId, title: currentTitle });
}, []);
const handleRenameSubmit = useCallback(
async (newTitle: string) => {
if (!renamingTask) return;
try {
await renameTaskById(renamingTask.id, newTitle);
} catch (error) {
console.error("Failed to rename task:", error);
toast({
title: "Failed to rename task",
description: error instanceof Error ? error.message : "Failed to rename task",
variant: "error",
});
} finally {
setRenamingTask(null);
}
},
[renameTaskById, renamingTask, toast],
);
return { renamingTask, setRenamingTask, handleRenameTask, handleRenameSubmit };
}