29 lines
1,006 B
TypeScript
29 lines
1,006 B
TypeScript
"use client";
|
|
|
|
// ปุ่มออกจากระบบ — server action logout ลบ cookie oacCase แล้ว redirect /login เอง
|
|
import { useTransition } from "react";
|
|
import { LogOut } from "lucide-react";
|
|
|
|
import { logout } from "@/app/actions/auth";
|
|
|
|
export default function LogoutButton() {
|
|
const [pending, startTransition] = useTransition();
|
|
|
|
const onLogout = () => {
|
|
startTransition(async () => {
|
|
await logout();
|
|
});
|
|
};
|
|
|
|
return (
|
|
<button
|
|
type="button"
|
|
onClick={onLogout}
|
|
disabled={pending}
|
|
className="flex shrink-0 items-center gap-1.5 rounded-md border border-slate-300 px-3 py-2 text-xs font-medium text-slate-600 transition hover:bg-slate-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-1 disabled:opacity-50"
|
|
>
|
|
<LogOut className="h-3.5 w-3.5" aria-hidden />
|
|
{pending ? "กำลังออก…" : "ออกจากระบบ"}
|
|
</button>
|
|
);
|
|
}
|