1
0
mirror of https://github.com/kamranahmedse/developer-roadmap.git synced 2025-08-23 09:22:52 +02:00

Update premium page designgst

This commit is contained in:
Kamran Ahmed
2025-07-22 18:19:26 +01:00
parent 21f2c9384d
commit e17bc250ec

View File

@@ -1,27 +1,29 @@
import type { LucideIcon } from 'lucide-react';
import {
Bot,
Book,
Star,
Bot,
CheckCircle2,
Zap,
Clock,
GitPullRequest,
Lock,
Play,
Star,
Users2,
Wand2,
Play,
GitPullRequest,
Zap,
} from 'lucide-react';
import type { LucideIcon } from 'lucide-react';
import { cn } from '../../lib/classname';
import { useState } from 'react';
import { cn } from '../../lib/classname';
import { VideoModal } from '../VideoModal';
interface FeatureCardProps {
title: string;
description: string;
duration?: string;
videoId: string;
thumbnail: string;
onClick: () => void;
videoId?: string;
thumbnail?: string;
onClick?: () => void;
isComingSoon?: boolean;
}
function FeatureCard(props: FeatureCardProps) {
@@ -32,8 +34,27 @@ function FeatureCard(props: FeatureCardProps) {
videoId,
thumbnail,
onClick,
isComingSoon = false,
} = props;
if (isComingSoon) {
return (
<div className="group relative overflow-hidden rounded-lg border border-dashed border-slate-600/50 bg-slate-800/30 p-4 text-left opacity-90">
<div className="relative block aspect-video w-full overflow-hidden rounded-lg bg-gradient-to-br from-indigo-900/20 to-purple-900/20">
<div className="absolute inset-0 flex items-center justify-center">
<div className="flex h-12 w-12 items-center justify-center rounded-full bg-gradient-to-br from-indigo-500/20 to-purple-500/20 backdrop-blur-sm">
<Lock className="h-6 w-6 text-indigo-400/70" strokeWidth={1.5} />
</div>
</div>
</div>
<div className="mt-4">
<h3 className="mb-1 text-sm font-medium text-slate-100">{title}</h3>
<p className="text-xs leading-relaxed text-slate-500">{description}</p>
</div>
</div>
);
}
return (
<button
onClick={onClick}
@@ -205,6 +226,12 @@ export function PremiumPage() {
'https://assets.roadmap.sh/guest/ai-based-roadmap-editor-ochm8.png',
duration: '1:30',
},
{
title: 'Early Access to New Features',
description:
'We have more amazing features coming soon! Be the first to try them out!',
isComingSoon: true,
},
];
const activeVideoStartTime =
@@ -273,15 +300,16 @@ export function PremiumPage() {
Click any card below to watch a quick demo of our AI features
</p>
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-3">
{features.map((feature) => (
{features.map((feature, index) => (
<FeatureCard
key={feature.videoId}
key={feature.videoId || `coming-soon-${index}`}
title={feature.title}
description={feature.description}
videoId={feature.videoId}
thumbnail={feature.thumbnail}
duration={feature.duration}
onClick={() => setActiveVideoId(feature.videoId)}
isComingSoon={feature.isComingSoon}
onClick={feature.videoId ? () => setActiveVideoId(feature.videoId) : undefined}
/>
))}
</div>