Skip to main content
Glama
AuthButtons.tsx1.79 kB
import React from "react"; import { useMcpxConnection } from "@/hooks/useMcpxConnection"; import { useAuth } from "@/contexts/useAuth"; export function AuthButtons() { const { isAuthenticated, user, loading: isLoading, login, logout, loginRequired, } = useAuth(); const [, setIsLoggingOut] = React.useState(false); // Use the MCPX connection hook const { connectionError } = useMcpxConnection(); const isLoginEnabled = loginRequired; if (isLoading) { return ( <div className="flex items-center justify-center p-4 bg-gray-100 border-b"> <span className="text-gray-600">Loading authentication...</span> </div> ); } if (!isAuthenticated) { if (!isLoginEnabled) { return null; } return ( <div className="flex items-center justify-center p-4 bg-blue-50 border-b"> <button onClick={() => { login(); }} className="px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 transition-colors" > Login </button> </div> ); } return ( <div className="flex items-center justify-center gap-4 p-4 bg-green-50 border-b"> <span className="text-gray-700"> Welcome,{" "} <span className="font-semibold">{user?.email || user?.name}</span>! </span> <div className="flex items-center gap-2"> {connectionError && ( <span className="text-red-600 text-sm">{connectionError}</span> )} </div> <button onClick={() => { setIsLoggingOut(true); logout(); }} className="px-4 py-2 bg-red-600 text-white rounded-md hover:bg-red-700 transition-colors" > Logout </button> </div> ); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheLunarCompany/lunar'

If you have feedback or need assistance with the MCP directory API, please join our Discord server