()
| 3 | import Image from 'next/image' |
| 4 | |
| 5 | const SyntaxUIProBanner = () => { |
| 6 | const { setShowProBanner } = useProBannerStore() |
| 7 | return ( |
| 8 | <div className="group fixed bottom-2 right-2 z-50 h-auto w-[calc(100vw-16px)] max-w-[350px] overflow-hidden rounded-lg border border-gray-200 bg-white p-4 text-gray-900 transition-all animate-in slide-in-from-bottom-full dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100"> |
| 9 | <a |
| 10 | href="https://pro.syntaxui.com/" |
| 11 | target="_blank" |
| 12 | rel="noopener noreferrer" |
| 13 | className="flex flex-row" |
| 14 | > |
| 15 | <div className="relative mr-6 md:block"> |
| 16 | <Image |
| 17 | src="/images/syntaxUI.svg" |
| 18 | alt="SyntaxUI" |
| 19 | className="h-16 w-16 rounded-xl" |
| 20 | width={120} |
| 21 | height={120} |
| 22 | /> |
| 23 | <div className="absolute -right-3 bottom-2 rotate-[-18deg] rounded-full bg-black px-1 text-[10px] text-white"> |
| 24 | PRO |
| 25 | </div> |
| 26 | </div> |
| 27 | <div className="flex flex-col items-start gap-0.5"> |
| 28 | <h1 className="text-md font-medium tracking-tight md:block"> |
| 29 | Build Faster, Launch Sooner! |
| 30 | </h1> |
| 31 | <div className="font-regular flex items-start justify-start font-mono text-xs leading-[17px] tracking-tighter text-gray-900/80 dark:text-gray-100/80"> |
| 32 | {`Get Premium Blocks and Templates for your next project on SyntaxUI Pro ↗`} |
| 33 | </div> |
| 34 | </div> |
| 35 | </a> |
| 36 | <button |
| 37 | className="p-1s absolute right-2 top-2 transition-all duration-300 ease-in-out group-hover:block md:hidden" |
| 38 | onClick={() => setShowProBanner(false)} |
| 39 | > |
| 40 | <X className="h-4 w-4" /> |
| 41 | </button> |
| 42 | </div> |
| 43 | ) |
| 44 | } |
| 45 | |
| 46 | export default SyntaxUIProBanner |
nothing calls this directly
no outgoing calls
no test coverage detected