import { Head, usePage } from '@inertiajs/react';
import { ArrowRight, Download } from 'lucide-react';
import { SiteLayout } from '@/components/layout/site-layout';
import { SectionHeading } from '@/components/ui/section-heading';
import { CtaSection } from '@/components/sections/cta-section';

const primaryButton =
    'inline-flex items-center gap-2 rounded-button bg-primary px-6 py-3 text-sm font-semibold text-white shadow-button-glow transition hover:bg-primary-hover';
const secondaryButton =
    'inline-flex items-center gap-2 rounded-button border border-border bg-transparent px-5 py-2.5 text-sm font-semibold text-heading transition hover:border-primary hover:bg-light-purple';

export default function About({ seo, about }) {
    const { props } = usePage();
    const { routes } = props;

    return (
        <SiteLayout>
            <Head>
                <title>{seo?.title}</title>
                {seo?.description && <meta name="description" content={seo.description} />}
            </Head>

            {/* --- Hero: intro on the left, portrait on the right --- */}
            <section className="bg-white px-4 pt-12 pb-16 sm:pt-16 sm:pb-20">
                <div className="mx-auto grid max-w-(--container-max-width) items-center gap-12 lg:grid-cols-[1.15fr_0.85fr] lg:gap-16">
                    <div>
                        <h1 className="text-3xl font-semibold leading-[1.05] tracking-tight text-heading sm:text-5xl lg:text-6xl">
                            {about.heading}
                        </h1>
                        <p className="mt-5 max-w-xl text-lg leading-relaxed text-paragraph">{about.description}</p>

                        <div className="mt-8 flex flex-wrap items-center gap-3">
                            <a href={routes?.contact ?? '#'} className={primaryButton}>
                                Let&apos;s Talk
                                <ArrowRight className="size-4" />
                            </a>
                            <a href={routes?.portfolio ?? '#'} className={secondaryButton}>
                                View My Work
                            </a>
                            {about.resume?.enabled && (
                                <a href={about.resume.downloadUrl ?? '/about/resume'} className={secondaryButton}>
                                    <Download className="size-4" />
                                    Resume
                                </a>
                            )}
                        </div>

                        {about.statistics?.length > 0 && (
                            <dl className="mt-10 grid max-w-md grid-cols-3 gap-6 border-t border-border pt-8">
                                {about.statistics.map((stat) => (
                                    <div key={stat.label} className="flex flex-col-reverse items-start gap-1">
                                        <dt className="text-sm leading-snug text-paragraph">{stat.label}</dt>
                                        <dd className="m-0 text-3xl font-semibold tracking-tight text-heading">{stat.number}</dd>
                                    </div>
                                ))}
                            </dl>
                        )}
                    </div>

                    {about.profileImageUrl && (
                        <div className="relative mx-auto w-full max-w-md">
                            <div className="relative aspect-[4/5] overflow-hidden rounded-section bg-light-purple">
                                <div
                                    className="pointer-events-none absolute inset-x-0 top-0 h-2/3 bg-[radial-gradient(circle_at_50%_30%,rgba(124,58,237,0.18),transparent_65%)]"
                                    aria-hidden="true"
                                />
                                <img
                                    src={about.profileImageUrl}
                                    alt="Tanvir Ahmed"
                                    className="absolute bottom-0 left-1/2 h-[94%] w-auto max-w-none -translate-x-1/2"
                                />
                            </div>
                        </div>
                    )}
                </div>
            </section>

            {/* --- Tools --- */}
            {about.technologies?.length > 0 && (
                <section className="bg-soft-background px-4 py-16 sm:py-20">
                    <div className="mx-auto max-w-(--container-max-width)">
                        <SectionHeading kicker="Tech Stack" title="Tools I Work With" />
                        <div className="grid grid-cols-2 gap-4 sm:grid-cols-4">
                            {about.technologies.map((tech) => (
                                <div
                                    key={tech.name}
                                    className="flex items-center gap-3 rounded-card border border-border bg-white px-5 py-4"
                                >
                                    <img src={tech.logoUrl} alt="" className="size-9 shrink-0 object-contain" />
                                    <span className="text-sm font-semibold text-heading">{tech.name}</span>
                                </div>
                            ))}
                        </div>
                    </div>
                </section>
            )}

            {/* --- CTA (same block as the Home page) --- */}
            <CtaSection
                cta={{ heading: about.ctaHeading, description: about.ctaDescription, buttonText: about.ctaButtonText }}
                contactUrl={routes?.contact}
            />
        </SiteLayout>
    );
}
