import React from "react";
import { ReactNode } from "react";
import { useConvexAuth } from "./ConvexAuthState.js";
/**
* Renders children if the client is authenticated.
*
* @public
*/
export function Authenticated({ children }: { children: ReactNode }) {
const { isLoading, isAuthenticated } = useConvexAuth();
if (isLoading || !isAuthenticated) {
return null;
}
return <>{children}</>;
}
/**
* Renders children if the client is using authentication but is not authenticated.
*
* @public
*/
export function Unauthenticated({ children }: { children: ReactNode }) {
const { isLoading, isAuthenticated } = useConvexAuth();
if (isLoading || isAuthenticated) {
return null;
}
return <>{children}</>;
}
/**
* Renders children if the client isn't using authentication or is in the process
* of authenticating.
*
* @public
*/
export function AuthLoading({ children }: { children: ReactNode }) {
const { isLoading } = useConvexAuth();
if (!isLoading) {
return null;
}
return <>{children}</>;
}
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/get-convex/convex-backend'
If you have feedback or need assistance with the MCP directory API, please join our Discord server