"use client"; import { signIn, signOut, useSession } from "next-auth/react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Copy, Check, Home, Github } from "lucide-react"; import { useState } from "react"; import { useRouter } from "next/navigation"; export default function SignInPage() { const { data: session, status } = useSession(); const [copied, setCopied] = useState(false); const router = useRouter(); const handleCopyToken = async () => { if (session?.accessToken) { await navigator.clipboard.writeText(session.accessToken); setCopied(true); setTimeout(() => setCopied(false), 2000); } }; if (status === "loading") { return (
Loading...
); } return (
Authentication {session ? "You are successfully authenticated!" : "Sign in with GitHub to use your access token as an API key"} {!session ? ( ) : (
Signed in as {session.user?.email}
{session.accessToken && (
GitHub Access Token:
{session.accessToken}
This GitHub token will be used as your API key for authenticated Llama Stack requests.
)}
)}
); }