/
MariaTsys
/
courseworkPP
Обзор
Документация
Войти
/
MariaTsys
/
courseworkPP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/app/_components/book/AddToReadButton.tsx
40 строк
999 B
Maria
first_commit
09 май 2025, 12:17
09 май 2025, 12:17
af55308
Код
Авторство
О чём код?
"use client"; import { useState } from "react"; import { api } from "~/trpc/react"; import { CheckCircleIcon } from "@heroicons/react/24/solid"; export function AddToReadButton({ bookId }: { bookId: string }) { const [markedAsRead, setMarkedAsRead] = useState(false); const mutation = api.bookStatus.markAsRead.useMutation({ onSuccess: () => { setMarkedAsRead(true); }, }); const handleClick = () => { if (!markedAsRead) { mutation.mutate({ bookId }); } }; return ( <button onClick={handleClick} disabled={markedAsRead} className={`mt-6 px-4 py-2 rounded-md text-white transition-colors ${ markedAsRead ? "bg-green-500" : "bg-blue-600 hover:bg-blue-700" }`} > {markedAsRead ? ( <span className="flex items-center gap-2"> <CheckCircleIcon className="w-5 h-5" /> Завершено </span> ) : ( "Завершить чтение" )} </button> ); }