mhsf-dev/src/components/clerk/SignInPopoverButton.tsx

53 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-07-23 18:49:21 -05:00
"use client";
import {
Popover,
PopoverContent,
PopoverTrigger,
} from "@/components/ui/popover";
import { Button } from "../ui/button";
import { AtSign, LogIn } from "lucide-react";
import { useClerk } from "@clerk/nextjs";
2024-07-23 18:49:21 -05:00
export default function SignInPopoverButton({
className,
variant,
2024-07-23 18:49:21 -05:00
}: {
className?: string;
variant?:
| "default"
| "destructive"
| "secondary"
| "outline"
| "ghost"
| "link";
2024-07-23 18:49:21 -05:00
}) {
const clerk = useClerk();
return (
<Popover>
<PopoverTrigger asChild>
<Button className={className} variant={variant}>
Sign In
</Button>
2024-07-23 18:49:21 -05:00
</PopoverTrigger>
<PopoverContent className="w-full">
<div className=" grid w-[200px]">
2024-08-08 18:02:46 -05:00
<strong className="text-center">Login</strong>
2024-08-22 23:44:00 -05:00
<small className="text-center pb-6">
2024-07-23 18:49:21 -05:00
Make comments about servers and favorite servers. Secured by Clerk
</small>
<br />
<Button variant={"ghost"} onClick={() => clerk.openSignIn()}>
<LogIn size={18} className="mr-2" />
Login
</Button>
<Button variant={"ghost"} onClick={() => clerk.openSignUp()}>
<AtSign size={18} className="mr-2" />
Sign-up
</Button>
</div>
</PopoverContent>
</Popover>
);
}