diff --git a/src/components/AuthButton.tsx b/src/components/AuthButton.tsx index 166431b..86c31de 100644 --- a/src/components/AuthButton.tsx +++ b/src/components/AuthButton.tsx @@ -1,15 +1,19 @@ "use client"; import { useSession, signIn, signOut } from "next-auth/react"; -import { Github, LogOut, LayoutDashboard, User } from "lucide-react"; +import { Github, LogOut, LayoutDashboard, User, Key, CheckCircle } from "lucide-react"; import { motion, AnimatePresence } from "framer-motion"; import { useState } from "react"; import Image from "next/image"; import Link from "next/link"; +import { GitHubTokenModal } from "./GitHubTokenModal"; +import { useGitHubToken } from "@/lib/use-github-token"; export default function AuthButton() { const { data: session, status } = useSession(); const [isMenuOpen, setIsMenuOpen] = useState(false); + const [isTokenModalOpen, setIsTokenModalOpen] = useState(false); + const { token, setToken, clearToken } = useGitHubToken(); if (status === "loading") { return ( @@ -17,81 +21,113 @@ export default function AuthButton() { ); } - if (session) { - return ( -
+ Paste a Personal Access Token
+ + Verifying token… +
+ )} + {validation === "valid" && validatedUser && ( +
+
+
+ Minimum required scope:{" "}
+ public_repo
+ {" "}for public repos.{" "}
+ repo
+ {" "}for private access.
+