/
DKoko
/
task-manager-light
Обзор
Документация
Войти
/
DKoko
/
task-manager-light
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/components/DeleteTaskButton.tsx
42 строки
1 KB
NMitin
chore: initial commit
21 июн 2026, 08:57
21 июн 2026, 08:57
7906cea
Код
Авторство
О чём код?
'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' export function DeleteTaskButton({ id }: { id: string }) { const router = useRouter() const [confirming, setConfirming] = useState(false) const [busy, setBusy] = useState(false) async function del() { setBusy(true) const res = await fetch(`/api/tasks/${id}`, { method: 'DELETE' }) if (res.ok) { router.push('/tasks') router.refresh() } else { setBusy(false) setConfirming(false) } } if (!confirming) { return ( <button className="danger" onClick={() => setConfirming(true)}> Удалить </button> ) } return ( <span className="confirm-inline"> <span className="muted">Удалить задачу?</span> <button className="danger" onClick={del} disabled={busy}> Да </button> <button className="secondary" onClick={() => setConfirming(false)} disabled={busy}> Нет </button> </span> ) }