Spaces:
Sleeping
Sleeping
import { useState, useEffect } from "react"; | |
interface RedirectModalProps { | |
onDismiss: () => void; | |
} | |
const RedirectModal = ({ onDismiss }: RedirectModalProps) => { | |
const [isVisible, setIsVisible] = useState(false); | |
useEffect(() => { | |
setIsVisible(true); | |
}, []); | |
return ( | |
<div | |
className={`fixed inset-0 z-50 flex items-center justify-center transition-opacity duration-300 ${ | |
isVisible ? "opacity-100" : "opacity-0" | |
}`} | |
> | |
<div | |
className="absolute inset-0 bg-black bg-opacity-75" | |
onClick={onDismiss} | |
/> | |
<div className="relative bg-gray-900 rounded-lg shadow-2xl p-8 max-w-md w-full mx-4 transform transition-transform duration-300"> | |
<h2 className="text-2xl font-bold text-white mb-4"> | |
New Version Available! | |
</h2> | |
<p className="text-gray-300 mb-6"> | |
A new and improved version of DeepSite is now available. We recommend | |
using the latest version for the best experience and newest features. | |
</p> | |
<div className="flex gap-4"> | |
<a | |
href="https://deepsite.hf.co/" | |
target="_blank" | |
rel="noopener noreferrer" | |
className="flex-1 bg-blue-600 hover:bg-blue-700 text-white font-semibold py-3 px-6 rounded-lg transition-colors duration-200 text-center" | |
> | |
Go to Latest Version | |
</a> | |
<button | |
onClick={onDismiss} | |
className="flex-1 bg-gray-700 hover:bg-gray-600 text-white font-semibold py-3 px-6 rounded-lg transition-colors duration-200" | |
> | |
Continue Here | |
</button> | |
</div> | |
</div> | |
</div> | |
); | |
}; | |
export default RedirectModal; |