Spaces:
Running
Running
| import { useLocalStorage } from "react-use"; | |
| import { defaultHTML } from "../../utils/consts"; | |
| function Login({ | |
| html, | |
| children, | |
| }: { | |
| html?: string; | |
| children?: React.ReactNode; | |
| }) { | |
| const [, setStorage] = useLocalStorage("html_content"); | |
| const handleClick = () => { | |
| if (html !== defaultHTML) { | |
| setStorage(html); | |
| } | |
| }; | |
| return ( | |
| <> | |
| <header className="flex items-center text-sm px-4 py-2 border-b border-gray-200 gap-2 bg-gray-100 font-semibold text-gray-700"> | |
| <span className="text-xs bg-red-500/10 text-red-500 rounded-full pl-1.5 pr-2.5 py-0.5 flex items-center justify-start gap-1.5"> | |
| REQUIRED | |
| </span> | |
| Login with Hugging Face | |
| </header> | |
| <main className="px-4 py-4 space-y-3"> | |
| {children} | |
| <a href="/api/login" onClick={handleClick}> | |
| <img | |
| src="https://huggingface.co/datasets/huggingface/badges/resolve/main/sign-in-with-huggingface-lg-dark.svg" | |
| alt="Sign in with Hugging Face" | |
| className="mx-auto" | |
| /> | |
| </a> | |
| </main> | |
| </> | |
| ); | |
| } | |
| export default Login; | |