|
| 1 | +'use client'; |
| 2 | + |
| 3 | +import { useTranslations } from 'next-intl'; |
| 4 | +import Link from 'next/link'; |
| 5 | +import * as React from 'react'; |
| 6 | +import { BrainCircuit, MessageCircleQuestion, TrendingUp } from 'lucide-react'; |
| 7 | + |
| 8 | +import { DynamicGridBackground } from '@/components/shared/DynamicGridBackground'; |
| 9 | + |
| 10 | +import { FlipCardQA } from './FlipCardQA'; |
| 11 | +import { FloatingCode } from './FloatingCode'; |
| 12 | + |
| 13 | +export default function FeaturesHeroSection() { |
| 14 | + const t = useTranslations('homepage'); |
| 15 | + |
| 16 | + return ( |
| 17 | + <DynamicGridBackground |
| 18 | + showStaticGrid |
| 19 | + className="relative flex min-h-screen items-center justify-center overflow-hidden bg-gray-50 transition-colors duration-300 dark:bg-black" |
| 20 | + > |
| 21 | + <FloatingCode /> |
| 22 | + |
| 23 | + <div className="relative z-10 flex w-full max-w-6xl flex-col items-center px-6 py-8 text-center sm:py-12"> |
| 24 | + |
| 25 | + <h1 className="mb-4 text-2xl font-black tracking-tight text-gray-900 sm:text-4xl md:text-5xl dark:text-white"> |
| 26 | + {t('featuresHeading.aceYourNext')}{' '}<br className="sm:hidden" /> |
| 27 | + <span className="bg-gradient-to-r from-[var(--accent-primary)] via-[color-mix(in_srgb,var(--accent-primary)_70%,white)] to-[var(--accent-hover)] bg-clip-text text-transparent"> |
| 28 | + {t('featuresHeading.technicalInterview')} |
| 29 | + </span> |
| 30 | + </h1> |
| 31 | + |
| 32 | + <p className="mb-6 max-w-xl text-xs text-gray-600 sm:text-base dark:text-gray-400"> |
| 33 | + {t('description')} |
| 34 | + </p> |
| 35 | + |
| 36 | + <div className="mb-8 flex flex-row flex-wrap items-center justify-center gap-3 sm:gap-4"> |
| 37 | + <div className="group relative overflow-hidden rounded-full border border-blue-200/60 bg-gradient-to-r from-blue-50 to-indigo-50 px-4 py-2 shadow-sm transition-all duration-300 hover:scale-105 hover:shadow-md dark:border-blue-800/30 dark:from-blue-950/30 dark:to-indigo-950/30"> |
| 38 | + <div className="absolute inset-0 bg-gradient-to-r from-blue-100/0 via-blue-100/50 to-blue-100/0 opacity-0 transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-800/0 dark:via-blue-800/30 dark:to-blue-800/0" /> |
| 39 | + <span className="relative flex items-center gap-2 text-xs font-semibold text-blue-700 sm:text-sm dark:text-blue-300"> |
| 40 | + <MessageCircleQuestion className="h-4 w-4" /> |
| 41 | + <span className="whitespace-nowrap">{t('featureBadges.smartQA')}</span> |
| 42 | + </span> |
| 43 | + </div> |
| 44 | + |
| 45 | + <div className="group relative overflow-hidden rounded-full border border-purple-200/60 bg-gradient-to-r from-purple-50 to-pink-50 px-4 py-2 shadow-sm transition-all duration-300 hover:scale-105 hover:shadow-md dark:border-purple-800/30 dark:from-purple-950/30 dark:to-pink-950/30"> |
| 46 | + <div className="absolute inset-0 bg-gradient-to-r from-purple-100/0 via-purple-100/50 to-purple-100/0 opacity-0 transition-opacity duration-300 group-hover:opacity-100 dark:from-purple-800/0 dark:via-purple-800/30 dark:to-purple-800/0" /> |
| 47 | + <span className="relative flex items-center gap-2 text-xs font-semibold text-purple-700 sm:text-sm dark:text-purple-300"> |
| 48 | + <BrainCircuit className="h-4 w-4" /> |
| 49 | + <span className="whitespace-nowrap">{t('featureBadges.adaptiveQuizzes')}</span> |
| 50 | + </span> |
| 51 | + </div> |
| 52 | + |
| 53 | + <div className="group relative overflow-hidden rounded-full border border-emerald-200/60 bg-gradient-to-r from-emerald-50 to-teal-50 px-4 py-2 shadow-sm transition-all duration-300 hover:scale-105 hover:shadow-md dark:border-emerald-800/30 dark:from-emerald-950/30 dark:to-teal-950/30"> |
| 54 | + <div className="absolute inset-0 bg-gradient-to-r from-emerald-100/0 via-emerald-100/50 to-emerald-100/0 opacity-0 transition-opacity duration-300 group-hover:opacity-100 dark:from-emerald-800/0 dark:via-emerald-800/30 dark:to-emerald-800/0" /> |
| 55 | + <span className="relative flex items-center gap-2 text-xs font-semibold text-emerald-700 sm:text-sm dark:text-emerald-300"> |
| 56 | + <TrendingUp className="h-4 w-4" /> |
| 57 | + <span className="whitespace-nowrap">{t('featureBadges.performance')}</span> |
| 58 | + </span> |
| 59 | + </div> |
| 60 | + </div> |
| 61 | + |
| 62 | + <FlipCardQA /> |
| 63 | + |
| 64 | + <div className="mt-8 flex flex-col gap-3 sm:flex-row sm:gap-4"> |
| 65 | + <Link |
| 66 | + href="/q&a" |
| 67 | + className="group relative overflow-hidden rounded-full bg-gradient-to-r from-[var(--accent-primary)] to-[var(--accent-hover)] px-6 py-2.5 text-sm font-bold text-white shadow-lg shadow-[var(--accent-primary)]/20 transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-[var(--accent-primary)]/30 focus:outline-none focus:ring-2 focus:ring-[var(--accent-primary)] focus:ring-offset-2 dark:shadow-[var(--accent-primary)]/10 dark:hover:shadow-[var(--accent-primary)]/20" |
| 68 | + > |
| 69 | + <span className="relative z-10 flex items-center justify-center gap-2"> |
| 70 | + {t('featuresCta.browseQuestions')} |
| 71 | + <svg className="h-3.5 w-3.5 transition-transform group-hover:translate-x-1" fill="none" viewBox="0 0 24 24" stroke="currentColor"> |
| 72 | + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2.5} d="M13 7l5 5m0 0l-5 5m5-5H6" /> |
| 73 | + </svg> |
| 74 | + </span> |
| 75 | + </Link> |
| 76 | + |
| 77 | + <Link |
| 78 | + href="/quizzes" |
| 79 | + className="group relative overflow-hidden rounded-full border border-gray-300/60 bg-white/80 px-6 py-2.5 text-sm font-bold text-gray-900 shadow-sm transition-all duration-300 hover:bg-white hover:border-gray-400 hover:scale-[1.02] hover:shadow-md focus:outline-none focus:ring-2 focus:ring-gray-300 focus:ring-offset-2 dark:border-white/10 dark:bg-[#121212] dark:text-gray-200 dark:hover:bg-neutral-900 dark:hover:border-white/20 dark:shadow-none" |
| 80 | + > |
| 81 | + <span className="flex items-center justify-center gap-2"> |
| 82 | + {t('featuresCta.takeQuiz')} |
| 83 | + <svg className="h-3.5 w-3.5 text-gray-400 transition-transform group-hover:rotate-12 dark:text-gray-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"> |
| 84 | + <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2.5} d="M13 10V3L4 14h7v7l9-11h-7z" /> |
| 85 | + </svg> |
| 86 | + </span> |
| 87 | + </Link> |
| 88 | + </div> |
| 89 | + </div> |
| 90 | + </DynamicGridBackground> |
| 91 | + ); |
| 92 | +} |
0 commit comments