Files
pragma-stack/frontend/src/app/[locale]/page.tsx
Felipe Cardoso ebd307cab4 feat: complete Syndarix rebranding from PragmaStack
- Update PROJECT_NAME to Syndarix in backend config
- Update all frontend components with Syndarix branding
- Replace all GitHub URLs with Gitea Syndarix repo URLs
- Update metadata, headers, footers with new branding
- Update tests to match new URLs
- Update E2E tests for new repo references
- Preserve "Built on PragmaStack" attribution in docs

Closes #13

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 13:30:45 +01:00

101 lines
3.4 KiB
TypeScript
Executable File

/* istanbul ignore file -- @preserve Landing page with complex interactions tested via E2E */
/**
* Homepage / Landing Page
* Main landing page for the Syndarix project
* Showcases features, tech stack, and provides demos for developers
*/
'use client';
import { useState } from 'react';
import { Link } from '@/lib/i18n/routing';
import { Header } from '@/components/home/Header';
import { HeroSection } from '@/components/home/HeroSection';
import { ContextSection } from '@/components/home/ContextSection';
import { AnimatedTerminal } from '@/components/home/AnimatedTerminal';
import { FeatureGrid } from '@/components/home/FeatureGrid';
import { DemoSection } from '@/components/home/DemoSection';
import { StatsSection } from '@/components/home/StatsSection';
import { TechStackSection } from '@/components/home/TechStackSection';
import { PhilosophySection } from '@/components/home/PhilosophySection';
import { QuickStartCode } from '@/components/home/QuickStartCode';
import { CTASection } from '@/components/home/CTASection';
import { DemoCredentialsModal } from '@/components/home/DemoCredentialsModal';
export default function Home() {
const [demoModalOpen, setDemoModalOpen] = useState(false);
return (
<div className="min-h-screen">
{/* Header Navigation */}
<Header onOpenDemoModal={() => setDemoModalOpen(true)} />
{/* Main Content */}
<main>
{/* Hero Section with CTAs */}
<HeroSection onOpenDemoModal={() => setDemoModalOpen(true)} />
{/* What is this template? */}
<ContextSection />
{/* Animated Terminal with Quick Start */}
<AnimatedTerminal />
{/* 6 Feature Cards Grid */}
<FeatureGrid />
{/* Interactive Demo Cards */}
<DemoSection />
{/* Statistics with Animated Counters */}
<StatsSection />
{/* Tech Stack Grid */}
<TechStackSection />
{/* For Developers, By Developers */}
<PhilosophySection />
{/* Quick Start Code Block */}
<QuickStartCode />
{/* Final CTA Section */}
<CTASection onOpenDemoModal={() => setDemoModalOpen(true)} />
</main>
{/* Footer */}
<footer className="border-t bg-muted/30">
<div className="container mx-auto px-6 py-8">
<div className="flex flex-col md:flex-row items-center justify-between gap-4">
<div className="text-sm text-muted-foreground">
© {new Date().getFullYear()} Syndarix. MIT Licensed.
</div>
<div className="flex items-center gap-6 text-sm text-muted-foreground">
<Link href="/demos" className="hover:text-foreground transition-colors">
Demo Tour
</Link>
<Link href="/dev" className="hover:text-foreground transition-colors">
Design System
</Link>
<a
href="https://github.com"
target="_blank"
rel="noopener noreferrer"
className="hover:text-foreground transition-colors"
>
GitHub
</a>
<Link href="/dev/docs" className="hover:text-foreground transition-colors">
Documentation
</Link>
</div>
</div>
</div>
</footer>
{/* Shared Demo Credentials Modal */}
<DemoCredentialsModal open={demoModalOpen} onClose={() => setDemoModalOpen(false)} />
</div>
);
}