Spaces:
Running
Running
| import classNames from "classnames"; | |
| import { useLocalStorage } from "react-use"; | |
| import { defaultHTML } from "../../../utils/consts"; | |
| function ProModal({ | |
| open, | |
| html, | |
| onClose, | |
| }: { | |
| open: boolean; | |
| html: string; | |
| onClose: React.Dispatch<React.SetStateAction<boolean>>; | |
| }) { | |
| const [, setStorage] = useLocalStorage("html_content"); | |
| const handleProClick = () => { | |
| if (html !== defaultHTML) { | |
| setStorage(html); | |
| } | |
| }; | |
| return ( | |
| <> | |
| <div | |
| className={classNames( | |
| "h-screen w-screen bg-black/20 fixed left-0 top-0 z-40", | |
| { | |
| "opacity-0 pointer-events-none": !open, | |
| } | |
| )} | |
| onClick={() => onClose(false)} | |
| ></div> | |
| <div | |
| className={classNames( | |
| "absolute top-0 -translate-y-[calc(100%+16px)] right-0 z-40 w-96 bg-white border border-gray-200 rounded-lg shadow-lg transition-all duration-75 overflow-hidden", | |
| { | |
| "opacity-0 pointer-events-none": !open, | |
| } | |
| )} | |
| > | |
| <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="bg-linear-to-br shadow-green-500/10 dark:shadow-green-500/20 inline-block -skew-x-12 border border-gray-200 from-indigo-300 via-green-200 to-yellow-200 text-xs font-bold text-black shadow-lg dark:from-indigo-500 dark:via-green-500 dark:to-yellow-500 dark:text-black rounded-lg px-2.5 py-0.5 "> | |
| PRO | |
| </span> | |
| Your free inference quota is exhausted | |
| </header> | |
| <main className="px-4 pt-3 pb-4"> | |
| <p className="text-gray-950 text-sm font-semibold flex items-center justify-between"> | |
| Upgrade to a PRO account to activate Inference Providers and | |
| continue using QwenSite. | |
| </p> | |
| <p className="text-sm text-pretty text-gray-500 mt-2"> | |
| It also unlocks thousands of Space apps powered by ZeroGPU for 3d, | |
| audio, music, video and more! | |
| </p> | |
| <a | |
| href="https://huggingface.co/subscribe/pro" | |
| target="_blank" | |
| className="mt-4 bg-black text-white cursor-pointer rounded-full py-2 px-3 text-sm font-medium w-full block text-center hover:bg-gray-800 transition duration-200 ease-in-out" | |
| onClick={handleProClick} | |
| > | |
| Subscribe to PRO ($9/month) | |
| </a> | |
| </main> | |
| </div> | |
| </> | |
| ); | |
| } | |
| export default ProModal; | |