29 lines
978 B
TypeScript
29 lines
978 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="focus-ring flex h-8 shrink-0 items-center gap-1.5 rounded-md border border-line px-3 text-xs font-medium text-ink-soft transition hover:-translate-y-px hover:border-ink-faint hover:text-ink disabled:pointer-events-none disabled:opacity-50"
|
|
>
|
|
<LogOut className="h-3.5 w-3.5" aria-hidden />
|
|
{pending ? "กำลังออก…" : "ออกจากระบบ"}
|
|
</button>
|
|
);
|
|
}
|