feat: implement roadmap alert (#7116)
* feat: implement roadmap alert * fix: floating icon positionfeat/changelog^2
parent
e9fdde087f
commit
3166a02f23
3 changed files with 99 additions and 68 deletions
@ -0,0 +1,70 @@ |
||||
import { |
||||
BadgeCheck, |
||||
HeartHandshake, |
||||
Telescope, |
||||
type LucideIcon, |
||||
} from 'lucide-react'; |
||||
import type { ReactNode } from 'react'; |
||||
import { cn } from '../lib/classname'; |
||||
|
||||
type RoadmapAlertProps = { |
||||
title: string; |
||||
badgeText?: string; |
||||
description: string | ReactNode; |
||||
floatingIcon: LucideIcon; |
||||
className?: string; |
||||
}; |
||||
|
||||
export function RoadmapAlert(props: RoadmapAlertProps) { |
||||
const { |
||||
title, |
||||
badgeText, |
||||
description, |
||||
floatingIcon: FloatingIcon, |
||||
className, |
||||
} = props; |
||||
|
||||
return ( |
||||
<div |
||||
className={cn( |
||||
'relative mb-3 w-full rounded-xl bg-yellow-100 px-4 py-3 text-yellow-800', |
||||
className, |
||||
)} |
||||
> |
||||
<h2 className="flex items-center text-base font-semibold text-yellow-800 sm:text-lg"> |
||||
{title}{' '} |
||||
{badgeText && ( |
||||
<span className="ml-1.5 rounded-md border border-yellow-500 bg-yellow-200 px-1.5 text-xs uppercase tracking-wide text-yellow-800"> |
||||
{badgeText} |
||||
</span> |
||||
)} |
||||
</h2> |
||||
<p className="mb-2 mt-1 text-balance">{description}</p> |
||||
<p className="mb-1.5 mt-2 flex flex-col gap-2 text-sm md:flex-row"> |
||||
<a |
||||
href="/roadmaps" |
||||
className="flex items-center gap-1.5 rounded-md border border-yellow-600 bg-yellow-200 px-2 py-1 text-yellow-800 transition-colors hover:bg-yellow-300" |
||||
> |
||||
<BadgeCheck size={15} /> |
||||
Visit Official Roadmaps |
||||
</a> |
||||
<a |
||||
href="/community" |
||||
className="flex items-center gap-1.5 rounded-md border border-yellow-600 px-2 py-1 text-yellow-700 transition-colors hover:bg-yellow-300 hover:text-yellow-800" |
||||
> |
||||
<HeartHandshake size={15} /> |
||||
Explore Community Roadmaps |
||||
</a> |
||||
<a |
||||
href="/ai/explore" |
||||
className="flex items-center gap-1.5 rounded-md border border-yellow-600 px-2 py-1 text-yellow-700 transition-colors hover:bg-yellow-300 hover:text-yellow-800" |
||||
> |
||||
<Telescope size={15} /> |
||||
Explore other AI Roadmaps |
||||
</a> |
||||
</p> |
||||
|
||||
<FloatingIcon className="pointer-events-none absolute right-2 top-2 hidden h-12 w-12 text-yellow-500 opacity-50 sm:block md:bottom-2 md:top-auto" /> |
||||
</div> |
||||
); |
||||
} |
Loading…
Reference in new issue