import type { Icon } from "@phosphor-icons/react"; import { t } from "@lingui/core/macro"; import { Trans } from "@lingui/react/macro"; import { CloudArrowUpIcon, CodeSimpleIcon, CurrencyDollarIcon, DatabaseIcon, DotsThreeIcon, FilePdfIcon, FilesIcon, GithubLogoIcon, GlobeIcon, KeyIcon, LayoutIcon, LockSimpleIcon, PaletteIcon, ProhibitIcon, ShieldCheckIcon, TranslateIcon, } from "@phosphor-icons/react"; import { m } from "motion/react"; import { cn } from "@reactive-resume/utils/style"; type Feature = { id: string; icon: Icon; title: string; description: string; }; type FeatureCardProps = Feature; const getFeatures = (): Feature[] => [ { id: "free", icon: CurrencyDollarIcon, title: t`Free`, description: t`Completely free, forever, no hidden costs.`, }, { id: "open-source", icon: GithubLogoIcon, title: t`Open Source`, description: t`By the community, for the community.`, }, { id: "no-ads", icon: ProhibitIcon, title: t`No Advertising, No Tracking`, description: t`For a secure and distraction-free experience.`, }, { id: "instant-generation", icon: FilePdfIcon, title: t`Instant Generation`, description: t`Export your resume to PDF instantly, without any waiting or delays.`, }, { id: "data-security", icon: DatabaseIcon, title: t`Data Security`, description: t`Your data is secure, and never shared or sold to anyone.`, }, { id: "self-host", icon: CloudArrowUpIcon, title: t`Self-Host with Docker`, description: t`You also have the option to deploy on your own servers using the Docker image.`, }, { id: "languages", icon: TranslateIcon, title: t`Multilingual`, description: t`Available in multiple languages. If you would like to contribute, check out Crowdin.`, }, { id: "auth", icon: KeyIcon, title: t`One-Click Sign-In`, description: t`Sign in with GitHub, Google or a custom OAuth provider.`, }, { id: "2fa", icon: ShieldCheckIcon, title: t`Passkeys & 2FA`, description: t`Enhance the security of your account with additional layers of protection.`, }, { id: "unlimited-resumes", icon: FilesIcon, title: t`Unlimited Resumes`, description: t`Create as many resumes as you want, without limits.`, }, { id: "design", icon: PaletteIcon, title: t`Flexibility`, description: t`Personalize your resume with any colors, fonts or designs, and make it your own.`, }, { id: "templates", icon: LayoutIcon, title: t`12+ Templates`, description: t`Beautiful templates to choose from, with more on the way.`, }, { id: "public", icon: GlobeIcon, title: t`Shareable Links`, description: t`Share your resume with a public URL, and let others view it.`, }, { id: "password-protection", icon: LockSimpleIcon, title: t`Password Protection`, description: t`Protect your resume with a password, and let only people with the password view it.`, }, { id: "api-access", icon: CodeSimpleIcon, title: t`API Access`, description: t`Access your resumes and data programmatically using the API.`, }, { id: "more", icon: DotsThreeIcon, title: t`And many more...`, description: t`New features are constantly being added and improved, so be sure to check back often.`, }, ]; function FeatureCard({ icon: Icon, title, description }: FeatureCardProps) { return ( {/* Hover gradient overlay */}