Files
FL-Akademie/components/restart-course-button.tsx

35 lines
899 B
TypeScript

"use client";
import { useState } from "react";
import { useRouter } from "next/navigation";
export function RestartCourseButton({ courseId }: { courseId: string }) {
const router = useRouter();
const [loading, setLoading] = useState(false);
async function onClick() {
if (
!confirm(
"Fortschritt und Zertifikat für diesen Kurs zurücksetzen? Du kannst danach von vorn beginnen.",
)
) {
return;
}
setLoading(true);
const res = await fetch("/api/portal/restart", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ courseId }),
});
setLoading(false);
if (!res.ok) return;
router.refresh();
}
return (
<button type="button" className="btn btn-danger" disabled={loading} onClick={onClick}>
{loading ? "…" : "Fortschritt zurücksetzen"}
</button>
);
}