create-flexireact 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export declare const PREMIUM_PAGE_CONTENT = "import React from 'react';\n\nconst coreFeatures = [\n { icon: '\u26A1', title: '2ms Cold Start', desc: 'Edge runtime with instant response times' },\n { icon: '\uD83E\uDDE9', title: '50+ UI Components', desc: 'FlexiUI ready to use out of the box' },\n { icon: '\uD83D\uDEE1\uFE0F', title: 'Middleware Auth', desc: 'FlexiGuard powered authentication' },\n { icon: '\uD83D\uDD25', title: 'Zero-config Dev', desc: 'Start coding immediately, no setup' },\n { icon: '\uD83D\uDCBD', title: 'File-based API', desc: 'Intuitive API routes structure' },\n { icon: '\uD83C\uDFDD\uFE0F', title: 'Islands Architecture', desc: 'Partial hydration for max performance' },\n { icon: '\uD83D\uDCD8', title: 'TypeScript First', desc: 'Full type safety out of the box' },\n { icon: '\uD83C\uDFA8', title: 'Tailwind v4', desc: 'Latest CSS framework integrated' },\n { icon: '\uD83D\uDE80', title: 'SSR + PPR', desc: 'Streaming SSR & Partial Prerendering' },\n];\n\nconst timeline = [\n { step: '1', title: 'File Routing', desc: 'Create pages in app/ directory' },\n { step: '2', title: 'Layouts', desc: 'Shared UI across routes' },\n { step: '3', title: 'Islands', desc: 'Interactive components' },\n { step: '4', title: 'SSR/SSG', desc: 'Server or static rendering' },\n { step: '5', title: 'Deploy', desc: 'Ship to Edge in seconds' },\n];\n\nconst benchmarks = [\n { name: 'FlexiReact', time: 2, color: '#00FF9C' },\n { name: 'Astro', time: 5, color: '#FF5D01' },\n { name: 'Next.js', time: 8, color: '#000000' },\n];\n\nconst ecosystem = [\n { icon: '\u269B\uFE0F', name: 'FlexiUI', desc: '50+ components', link: 'https://www.npmjs.com/package/@flexireact/flexi-ui' },\n { icon: '\uD83D\uDD10', name: 'FlexiGuard', desc: 'Auth & RBAC', link: 'https://www.npmjs.com/package/flexiguard' },\n { icon: '\uD83E\uDDF0', name: 'FlexiCLI', desc: 'Commands & scaffolding', link: 'https://www.npmjs.com/package/create-flexireact' },\n { icon: '\uD83C\uDF10', name: 'FlexiEdge', desc: 'Deploy-ready runtime', link: 'https://github.com/flexireact/flexireact' },\n];\n\nconst whyFlexiReact = [\n { icon: '\uD83D\uDE80', title: 'Ultra-fast dev experience', desc: 'Sub-second builds with esbuild' },\n { icon: '\uD83C\uDFDD\uFE0F', title: 'Islands with zero config', desc: 'Automatic partial hydration' },\n { icon: '\uD83E\uDDE9', title: 'UI components included', desc: 'FlexiUI with 50+ components' },\n { icon: '\uD83D\uDD10', title: 'Authentication included', desc: 'FlexiGuard for auth & RBAC' },\n];\n\nconst backedBy = [\n { name: 'Velcarius', logo: 'V' },\n { name: 'Rayze Sol Energy', logo: 'R' },\n { name: 'FramLink', logo: 'F' },\n];\n\nexport default function HomePage() {\n return (\n <div className=\"min-h-screen bg-[#0a0a0a]\">\n {/* Premium Navbar */}\n <header className=\"fixed top-0 left-0 right-0 z-50 bg-[#0a0a0a]/80 backdrop-blur-xl border-b border-gray-800/50\">\n <nav className=\"max-w-7xl mx-auto px-4 h-16 flex items-center justify-between\">\n <a href=\"/\" className=\"flex items-center gap-3\">\n <div className=\"w-9 h-9 rounded-lg bg-gradient-to-br from-[#00FF9C] to-[#00D68F] flex items-center justify-center shadow-lg shadow-[#00FF9C]/20\">\n <span className=\"text-black font-bold text-lg\">F</span>\n </div>\n <span className=\"font-bold text-lg\">FlexiReact</span>\n <span className=\"px-2 py-0.5 text-xs bg-[#00FF9C]/20 text-[#00FF9C] rounded-full\">v3.0</span>\n </a>\n \n <div className=\"hidden md:flex items-center gap-8\">\n <a href=\"https://github.com/flexireact/flexireact#readme\" className=\"text-sm text-gray-400 hover:text-white transition-colors\">Docs</a>\n <a href=\"https://github.com/flexireact/flexireact\" className=\"text-sm text-gray-400 hover:text-white transition-colors\">GitHub</a>\n <a href=\"https://github.com/flexireact/flexireact/tree/main/examples\" className=\"text-sm text-gray-400 hover:text-white transition-colors\">Examples</a>\n <a href=\"https://discord.gg/rFSZxFtpAA\" className=\"text-sm text-gray-400 hover:text-white transition-colors\">Discord</a>\n </div>\n\n <a \n href=\"https://github.com/flexireact/flexireact\" \n target=\"_blank\"\n className=\"group flex items-center gap-2 px-4 py-2 bg-white/5 hover:bg-white/10 border border-white/10 hover:border-[#00FF9C]/50 rounded-lg transition-all\"\n >\n <svg className=\"w-4 h-4\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"/>\n </svg>\n <span className=\"text-sm font-medium\">Star</span>\n </a>\n </nav>\n </header>\n\n <main className=\"pt-16\">\n {/* Hero Section */}\n <section className=\"relative py-24 lg:py-32 px-4 overflow-hidden animate-fade-in-up\">\n <div className=\"absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-[#00FF9C]/10 via-transparent to-transparent\" />\n <div className=\"absolute top-0 left-1/2 -translate-x-1/2 w-[600px] h-[600px] bg-[#00FF9C]/5 rounded-full blur-[120px]\" />\n \n <div className=\"relative max-w-5xl mx-auto text-center\">\n <div className=\"inline-flex items-center justify-center w-20 h-20 mb-8 rounded-2xl bg-gradient-to-br from-[#00FF9C] to-[#00D68F] shadow-lg shadow-[#00FF9C]/20\">\n <span className=\"text-3xl font-black text-black\">F</span>\n </div>\n \n <div className=\"inline-flex items-center gap-2 px-4 py-2 mb-8 rounded-full bg-white/5 border border-white/10 backdrop-blur-sm\">\n <span className=\"w-2 h-2 rounded-full bg-[#00FF9C] animate-pulse\" />\n <span className=\"text-sm text-gray-300\">v3.0 \u2014 The Future of React</span>\n </div>\n \n <h1 className=\"text-5xl sm:text-6xl lg:text-7xl font-bold mb-6 tracking-tight\">\n Build faster with\n <span className=\"block mt-2 bg-gradient-to-r from-[#00FF9C] via-[#00D68F] to-[#00FF9C] bg-clip-text text-transparent\">\n FlexiReact\n </span>\n </h1>\n \n <p className=\"text-lg sm:text-xl text-gray-400 mb-10 max-w-2xl mx-auto leading-relaxed\">\n The modern React framework with TypeScript, Tailwind, SSR, Islands, \n Edge Runtime, and 50+ UI components. <span className=\"text-white font-medium\">Better than Next.js.</span>\n </p>\n \n <div className=\"flex flex-col sm:flex-row gap-4 justify-center mb-16\">\n <a href=\"https://github.com/flexireact/flexireact\" \n className=\"group inline-flex items-center justify-center gap-2 px-8 py-4 bg-[#00FF9C] text-black font-semibold rounded-xl hover:bg-[#00D68F] transition-all hover:scale-105 hover:shadow-lg hover:shadow-[#00FF9C]/25\">\n Get Started\n <svg className=\"w-5 h-5 transition-transform group-hover:translate-x-1\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M17 8l4 4m0 0l-4 4m4-4H3\" />\n </svg>\n </a>\n <a href=\"https://github.com/flexireact/flexireact#readme\"\n className=\"inline-flex items-center justify-center gap-2 px-8 py-4 bg-white/5 text-white font-semibold rounded-xl border border-white/10 hover:bg-white/10 hover:border-[#00FF9C]/50 transition-all\">\n Documentation\n </a>\n </div>\n\n <div className=\"max-w-lg mx-auto\">\n <div className=\"rounded-xl bg-[#111] border border-gray-800 overflow-hidden shadow-2xl\">\n <div className=\"flex items-center gap-2 px-4 py-3 bg-[#0d0d0d] border-b border-gray-800\">\n <div className=\"flex gap-1.5\">\n <div className=\"w-3 h-3 rounded-full bg-red-500/80\" />\n <div className=\"w-3 h-3 rounded-full bg-yellow-500/80\" />\n <div className=\"w-3 h-3 rounded-full bg-green-500/80\" />\n </div>\n <span className=\"text-xs text-gray-500 ml-2\">Terminal</span>\n </div>\n <div className=\"p-4 font-mono text-sm\">\n <div className=\"flex items-center gap-2\">\n <span className=\"text-[#00FF9C]\">$</span>\n <span className=\"text-gray-300\">npx create-flexireact my-app</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n {/* Core Features Premium */}\n <section className=\"py-24 px-4 animate-fade-in-up animate-delay-100\">\n <div className=\"max-w-7xl mx-auto\">\n <div className=\"text-center mb-16\">\n <h2 className=\"text-3xl sm:text-4xl font-bold mb-4\">Core Features</h2>\n <p className=\"text-gray-400\">Everything you need to build modern web apps</p>\n </div>\n \n <div className=\"grid sm:grid-cols-2 lg:grid-cols-3 gap-4\">\n {coreFeatures.map((f, i) => (\n <div key={i} className=\"group p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5 hover:border-[#00FF9C]/30 transition-all hover:scale-[1.02] hover:shadow-lg hover:shadow-[#00FF9C]/10\">\n <div className=\"w-12 h-12 rounded-xl bg-[#00FF9C]/10 flex items-center justify-center text-2xl mb-4 group-hover:scale-110 transition-transform\">\n {f.icon}\n </div>\n <h3 className=\"font-semibold text-lg mb-2\">{f.title}</h3>\n <p className=\"text-gray-400 text-sm leading-relaxed\">{f.desc}</p>\n </div>\n ))}\n </div>\n </div>\n </section>\n\n {/* How it Works Timeline */}\n <section className=\"py-24 px-4 bg-white/[0.02] animate-fade-in-up animate-delay-200\">\n <div className=\"max-w-6xl mx-auto\">\n <div className=\"text-center mb-16\">\n <h2 className=\"text-3xl sm:text-4xl font-bold mb-4\">How it Works</h2>\n <p className=\"text-gray-400\">From idea to production in 5 simple steps</p>\n </div>\n \n <div className=\"relative\">\n <div className=\"hidden lg:block absolute top-1/2 left-0 right-0 h-0.5 bg-gradient-to-r from-transparent via-[#00FF9C]/20 to-transparent\" />\n \n <div className=\"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8\">\n {timeline.map((item, i) => (\n <div key={i} className=\"relative text-center\">\n <div className=\"inline-flex items-center justify-center w-16 h-16 rounded-full bg-gradient-to-br from-[#00FF9C] to-[#00D68F] text-black font-bold text-xl mb-4 shadow-lg shadow-[#00FF9C]/20\">\n {item.step}\n </div>\n <h3 className=\"font-semibold mb-2\">{item.title}</h3>\n <p className=\"text-sm text-gray-400\">{item.desc}</p>\n </div>\n ))}\n </div>\n </div>\n </div>\n </section>\n\n {/* Code Example */}\n <section className=\"py-24 px-4 animate-fade-in-up animate-delay-300\">\n <div className=\"max-w-4xl mx-auto\">\n <div className=\"text-center mb-12\">\n <h2 className=\"text-3xl sm:text-4xl font-bold mb-4\">Simple & Powerful</h2>\n <p className=\"text-gray-400\">Write clean code that just works</p>\n </div>\n \n <div className=\"rounded-2xl bg-[#111] border border-gray-800 overflow-hidden\">\n <div className=\"flex items-center gap-4 px-6 py-3 bg-[#0d0d0d] border-b border-gray-800\">\n <button className=\"px-3 py-1.5 text-sm bg-[#00FF9C]/20 text-[#00FF9C] rounded-lg\">Pages</button>\n <button className=\"px-3 py-1.5 text-sm text-gray-400 hover:text-white transition\">API Route</button>\n <button className=\"px-3 py-1.5 text-sm text-gray-400 hover:text-white transition\">Component</button>\n </div>\n <pre className=\"p-6 overflow-x-auto\"><code className=\"text-sm text-gray-300\">{`// app/page.tsx\nexport default function Home() {\n return (\n <div className=\"container mx-auto p-8\">\n <h1 className=\"text-4xl font-bold\">\n Hello from FlexiReact \u26A1\n </h1>\n </div>\n );\n}`}</code></pre>\n </div>\n </div>\n </section>\n\n {/* Benchmarks */}\n <section className=\"py-24 px-4 bg-white/[0.02] animate-fade-in-up animate-delay-400\">\n <div className=\"max-w-4xl mx-auto\">\n <div className=\"text-center mb-12\">\n <h2 className=\"text-3xl sm:text-4xl font-bold mb-4\">Blazing Fast Performance</h2>\n <p className=\"text-gray-400\">Cold start comparison (lower is better)</p>\n </div>\n \n <div className=\"space-y-6\">\n {benchmarks.map((bench, i) => (\n <div key={i} className=\"flex items-center gap-4\">\n <div className=\"w-32 text-sm font-medium\">{bench.name}</div>\n <div className=\"flex-1 h-12 bg-white/5 rounded-lg overflow-hidden\">\n <div \n className=\"h-full flex items-center px-4 text-sm font-bold transition-all duration-1000\"\n style={{\n width: `${(bench.time / 10) * 100}%`,\n backgroundColor: bench.name === 'FlexiReact' ? '#00FF9C' : 'rgba(255,255,255,0.1)',\n color: bench.name === 'FlexiReact' ? '#000' : '#fff'\n }}\n >\n {bench.time}ms\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n </section>\n\n {/* Why FlexiReact */}\n <section className=\"py-24 px-4\">\n <div className=\"max-w-6xl mx-auto\">\n <div className=\"text-center mb-16\">\n <h2 className=\"text-3xl sm:text-4xl font-bold mb-4\">Why FlexiReact?</h2>\n <p className=\"text-gray-400\">Built for developers who value speed and simplicity</p>\n </div>\n \n <div className=\"grid md:grid-cols-2 lg:grid-cols-4 gap-6\">\n {whyFlexiReact.map((item, i) => (\n <div key={i} className=\"p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5\">\n <div className=\"text-3xl mb-4\">{item.icon}</div>\n <h3 className=\"font-semibold mb-2\">{item.title}</h3>\n <p className=\"text-sm text-gray-400\">{item.desc}</p>\n </div>\n ))}\n </div>\n </div>\n </section>\n\n {/* Ecosystem */}\n <section className=\"py-24 px-4 bg-white/[0.02]\">\n <div className=\"max-w-6xl mx-auto\">\n <div className=\"text-center mb-16\">\n <h2 className=\"text-3xl sm:text-4xl font-bold mb-4\">Complete Ecosystem</h2>\n <p className=\"text-gray-400\">Everything you need, batteries included</p>\n </div>\n \n <div className=\"grid md:grid-cols-2 lg:grid-cols-4 gap-6\">\n {ecosystem.map((item, i) => (\n <a key={i} href={item.link} target=\"_blank\" className=\"group p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5 hover:border-[#00FF9C]/30 transition-all hover:scale-105\">\n <div className=\"text-4xl mb-4\">{item.icon}</div>\n <h3 className=\"font-semibold mb-1 group-hover:text-[#00FF9C] transition\">{item.name}</h3>\n <p className=\"text-sm text-gray-400\">{item.desc}</p>\n </a>\n ))}\n </div>\n </div>\n </section>\n\n {/* Backed By */}\n <section className=\"py-24 px-4\">\n <div className=\"max-w-6xl mx-auto\">\n <div className=\"text-center mb-12\">\n <h2 className=\"text-2xl font-bold mb-8 text-gray-500\">Trusted By</h2>\n </div>\n \n <div className=\"flex flex-wrap items-center justify-center gap-12\">\n {backedBy.map((company, i) => (\n <div key={i} className=\"group flex items-center gap-3 opacity-40 hover:opacity-100 transition-opacity\">\n <div className=\"w-12 h-12 rounded-lg bg-white/5 flex items-center justify-center font-bold text-xl group-hover:bg-[#00FF9C]/20 group-hover:text-[#00FF9C] transition\">\n {company.logo}\n </div>\n <span className=\"font-semibold\">{company.name}</span>\n </div>\n ))}\n </div>\n </div>\n </section>\n\n {/* Final CTA */}\n <section className=\"py-24 px-4\">\n <div className=\"max-w-3xl mx-auto\">\n <div className=\"relative p-12 rounded-3xl bg-gradient-to-b from-[#111] to-[#0a0a0a] border border-gray-800 overflow-hidden\">\n <div className=\"absolute top-0 right-0 w-64 h-64 bg-[#00FF9C]/10 rounded-full blur-[100px]\" />\n <div className=\"relative text-center\">\n <h2 className=\"text-3xl sm:text-4xl font-bold mb-4\">Ready to build?</h2>\n <p className=\"text-gray-400 mb-8\">Create your first FlexiReact app in seconds</p>\n \n <div className=\"inline-block p-4 rounded-xl bg-black/50 border border-gray-800 font-mono text-sm mb-8\">\n <span className=\"text-[#00FF9C]\">$</span>\n <span className=\"text-gray-300 ml-2\">npx create-flexireact my-app</span>\n </div>\n \n <div className=\"flex flex-col sm:flex-row gap-4 justify-center\">\n <a href=\"https://github.com/flexireact/flexireact\"\n className=\"inline-flex items-center justify-center gap-2 px-8 py-4 bg-[#00FF9C] text-black font-semibold rounded-xl hover:bg-[#00D68F] transition-all hover:scale-105\">\n Start Building \u2192\n </a>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n {/* Premium Footer */}\n <footer className=\"border-t border-gray-800/50 py-16 px-4\">\n <div className=\"max-w-7xl mx-auto\">\n <div className=\"grid grid-cols-2 md:grid-cols-4 gap-8 mb-12\">\n <div>\n <h3 className=\"font-semibold mb-4\">Product</h3>\n <ul className=\"space-y-2\">\n <li><a href=\"https://github.com/flexireact/flexireact#readme\" className=\"text-sm text-gray-400 hover:text-white transition\">Docs</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/tree/main/examples\" className=\"text-sm text-gray-400 hover:text-white transition\">Examples</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/blob/main/CHANGELOG-v3.md\" className=\"text-sm text-gray-400 hover:text-white transition\">Changelog</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/projects\" className=\"text-sm text-gray-400 hover:text-white transition\">Roadmap</a></li>\n </ul>\n </div>\n <div>\n <h3 className=\"font-semibold mb-4\">Community</h3>\n <ul className=\"space-y-2\">\n <li><a href=\"https://github.com/flexireact/flexireact\" className=\"text-sm text-gray-400 hover:text-white transition\">GitHub</a></li>\n <li><a href=\"https://discord.gg/rFSZxFtpAA\" className=\"text-sm text-gray-400 hover:text-white transition\">Discord</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/discussions\" className=\"text-sm text-gray-400 hover:text-white transition\">Discussions</a></li>\n </ul>\n </div>\n <div>\n <h3 className=\"font-semibold mb-4\">Ecosystem</h3>\n <ul className=\"space-y-2\">\n <li><a href=\"https://www.npmjs.com/package/@flexireact/flexi-ui\" className=\"text-sm text-gray-400 hover:text-white transition\">FlexiUI</a></li>\n <li><a href=\"https://www.npmjs.com/package/flexiguard\" className=\"text-sm text-gray-400 hover:text-white transition\">FlexiGuard</a></li>\n <li><a href=\"https://www.npmjs.com/package/create-flexireact\" className=\"text-sm text-gray-400 hover:text-white transition\">CLI</a></li>\n </ul>\n </div>\n <div>\n <h3 className=\"font-semibold mb-4\">Legal</h3>\n <ul className=\"space-y-2\">\n <li><a href=\"https://github.com/flexireact/flexireact/blob/main/LICENSE\" className=\"text-sm text-gray-400 hover:text-white transition\">License</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/blob/main/CONTRIBUTING.md\" className=\"text-sm text-gray-400 hover:text-white transition\">Contributing</a></li>\n </ul>\n </div>\n </div>\n \n <div className=\"pt-8 border-t border-gray-800/50 flex flex-col md:flex-row items-center justify-between gap-4\">\n <div className=\"flex items-center gap-2\">\n <div className=\"w-8 h-8 rounded-lg bg-[#00FF9C] flex items-center justify-center\">\n <span className=\"text-black font-bold\">F</span>\n </div>\n <span className=\"text-sm text-gray-400\">Built with \u2764\uFE0F by Asuno</span>\n </div>\n <p className=\"text-sm text-gray-500\">\u00A9 {new Date().getFullYear()} FlexiReact. MIT License.</p>\n </div>\n </div>\n </footer>\n </main>\n </div>\n );\n}";
2
+ //# sourceMappingURL=app-router-premium.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-router-premium.d.ts","sourceRoot":"","sources":["../../src/templates/app-router-premium.tsx"],"names":[],"mappings":"AACA,eAAO,MAAM,oBAAoB,2rsBAoY/B,CAAC"}
@@ -0,0 +1,391 @@
1
+ // Premium landing page content for app-router template
2
+ export const PREMIUM_PAGE_CONTENT = `import React from 'react';
3
+
4
+ const coreFeatures = [
5
+ { icon: '⚡', title: '2ms Cold Start', desc: 'Edge runtime with instant response times' },
6
+ { icon: '🧩', title: '50+ UI Components', desc: 'FlexiUI ready to use out of the box' },
7
+ { icon: '🛡️', title: 'Middleware Auth', desc: 'FlexiGuard powered authentication' },
8
+ { icon: '🔥', title: 'Zero-config Dev', desc: 'Start coding immediately, no setup' },
9
+ { icon: '💽', title: 'File-based API', desc: 'Intuitive API routes structure' },
10
+ { icon: '🏝️', title: 'Islands Architecture', desc: 'Partial hydration for max performance' },
11
+ { icon: '📘', title: 'TypeScript First', desc: 'Full type safety out of the box' },
12
+ { icon: '🎨', title: 'Tailwind v4', desc: 'Latest CSS framework integrated' },
13
+ { icon: '🚀', title: 'SSR + PPR', desc: 'Streaming SSR & Partial Prerendering' },
14
+ ];
15
+
16
+ const timeline = [
17
+ { step: '1', title: 'File Routing', desc: 'Create pages in app/ directory' },
18
+ { step: '2', title: 'Layouts', desc: 'Shared UI across routes' },
19
+ { step: '3', title: 'Islands', desc: 'Interactive components' },
20
+ { step: '4', title: 'SSR/SSG', desc: 'Server or static rendering' },
21
+ { step: '5', title: 'Deploy', desc: 'Ship to Edge in seconds' },
22
+ ];
23
+
24
+ const benchmarks = [
25
+ { name: 'FlexiReact', time: 2, color: '#00FF9C' },
26
+ { name: 'Astro', time: 5, color: '#FF5D01' },
27
+ { name: 'Next.js', time: 8, color: '#000000' },
28
+ ];
29
+
30
+ const ecosystem = [
31
+ { icon: '⚛️', name: 'FlexiUI', desc: '50+ components', link: 'https://www.npmjs.com/package/@flexireact/flexi-ui' },
32
+ { icon: '🔐', name: 'FlexiGuard', desc: 'Auth & RBAC', link: 'https://www.npmjs.com/package/flexiguard' },
33
+ { icon: '🧰', name: 'FlexiCLI', desc: 'Commands & scaffolding', link: 'https://www.npmjs.com/package/create-flexireact' },
34
+ { icon: '🌐', name: 'FlexiEdge', desc: 'Deploy-ready runtime', link: 'https://github.com/flexireact/flexireact' },
35
+ ];
36
+
37
+ const whyFlexiReact = [
38
+ { icon: '🚀', title: 'Ultra-fast dev experience', desc: 'Sub-second builds with esbuild' },
39
+ { icon: '🏝️', title: 'Islands with zero config', desc: 'Automatic partial hydration' },
40
+ { icon: '🧩', title: 'UI components included', desc: 'FlexiUI with 50+ components' },
41
+ { icon: '🔐', title: 'Authentication included', desc: 'FlexiGuard for auth & RBAC' },
42
+ ];
43
+
44
+ const backedBy = [
45
+ { name: 'Velcarius', logo: 'V' },
46
+ { name: 'Rayze Sol Energy', logo: 'R' },
47
+ { name: 'FramLink', logo: 'F' },
48
+ ];
49
+
50
+ export default function HomePage() {
51
+ return (
52
+ <div className="min-h-screen bg-[#0a0a0a]">
53
+ {/* Premium Navbar */}
54
+ <header className="fixed top-0 left-0 right-0 z-50 bg-[#0a0a0a]/80 backdrop-blur-xl border-b border-gray-800/50">
55
+ <nav className="max-w-7xl mx-auto px-4 h-16 flex items-center justify-between">
56
+ <a href="/" className="flex items-center gap-3">
57
+ <div className="w-9 h-9 rounded-lg bg-gradient-to-br from-[#00FF9C] to-[#00D68F] flex items-center justify-center shadow-lg shadow-[#00FF9C]/20">
58
+ <span className="text-black font-bold text-lg">F</span>
59
+ </div>
60
+ <span className="font-bold text-lg">FlexiReact</span>
61
+ <span className="px-2 py-0.5 text-xs bg-[#00FF9C]/20 text-[#00FF9C] rounded-full">v3.0</span>
62
+ </a>
63
+
64
+ <div className="hidden md:flex items-center gap-8">
65
+ <a href="https://github.com/flexireact/flexireact#readme" className="text-sm text-gray-400 hover:text-white transition-colors">Docs</a>
66
+ <a href="https://github.com/flexireact/flexireact" className="text-sm text-gray-400 hover:text-white transition-colors">GitHub</a>
67
+ <a href="https://github.com/flexireact/flexireact/tree/main/examples" className="text-sm text-gray-400 hover:text-white transition-colors">Examples</a>
68
+ <a href="https://discord.gg/rFSZxFtpAA" className="text-sm text-gray-400 hover:text-white transition-colors">Discord</a>
69
+ </div>
70
+
71
+ <a
72
+ href="https://github.com/flexireact/flexireact"
73
+ target="_blank"
74
+ className="group flex items-center gap-2 px-4 py-2 bg-white/5 hover:bg-white/10 border border-white/10 hover:border-[#00FF9C]/50 rounded-lg transition-all"
75
+ >
76
+ <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 24 24">
77
+ <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/>
78
+ </svg>
79
+ <span className="text-sm font-medium">Star</span>
80
+ </a>
81
+ </nav>
82
+ </header>
83
+
84
+ <main className="pt-16">
85
+ {/* Hero Section */}
86
+ <section className="relative py-24 lg:py-32 px-4 overflow-hidden animate-fade-in-up">
87
+ <div className="absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-[#00FF9C]/10 via-transparent to-transparent" />
88
+ <div className="absolute top-0 left-1/2 -translate-x-1/2 w-[600px] h-[600px] bg-[#00FF9C]/5 rounded-full blur-[120px]" />
89
+
90
+ <div className="relative max-w-5xl mx-auto text-center">
91
+ <div className="inline-flex items-center justify-center w-20 h-20 mb-8 rounded-2xl bg-gradient-to-br from-[#00FF9C] to-[#00D68F] shadow-lg shadow-[#00FF9C]/20">
92
+ <span className="text-3xl font-black text-black">F</span>
93
+ </div>
94
+
95
+ <div className="inline-flex items-center gap-2 px-4 py-2 mb-8 rounded-full bg-white/5 border border-white/10 backdrop-blur-sm">
96
+ <span className="w-2 h-2 rounded-full bg-[#00FF9C] animate-pulse" />
97
+ <span className="text-sm text-gray-300">v3.0 — The Future of React</span>
98
+ </div>
99
+
100
+ <h1 className="text-5xl sm:text-6xl lg:text-7xl font-bold mb-6 tracking-tight">
101
+ Build faster with
102
+ <span className="block mt-2 bg-gradient-to-r from-[#00FF9C] via-[#00D68F] to-[#00FF9C] bg-clip-text text-transparent">
103
+ FlexiReact
104
+ </span>
105
+ </h1>
106
+
107
+ <p className="text-lg sm:text-xl text-gray-400 mb-10 max-w-2xl mx-auto leading-relaxed">
108
+ The modern React framework with TypeScript, Tailwind, SSR, Islands,
109
+ Edge Runtime, and 50+ UI components. <span className="text-white font-medium">Better than Next.js.</span>
110
+ </p>
111
+
112
+ <div className="flex flex-col sm:flex-row gap-4 justify-center mb-16">
113
+ <a href="https://github.com/flexireact/flexireact"
114
+ className="group inline-flex items-center justify-center gap-2 px-8 py-4 bg-[#00FF9C] text-black font-semibold rounded-xl hover:bg-[#00D68F] transition-all hover:scale-105 hover:shadow-lg hover:shadow-[#00FF9C]/25">
115
+ Get Started
116
+ <svg className="w-5 h-5 transition-transform group-hover:translate-x-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
117
+ <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17 8l4 4m0 0l-4 4m4-4H3" />
118
+ </svg>
119
+ </a>
120
+ <a href="https://github.com/flexireact/flexireact#readme"
121
+ className="inline-flex items-center justify-center gap-2 px-8 py-4 bg-white/5 text-white font-semibold rounded-xl border border-white/10 hover:bg-white/10 hover:border-[#00FF9C]/50 transition-all">
122
+ Documentation
123
+ </a>
124
+ </div>
125
+
126
+ <div className="max-w-lg mx-auto">
127
+ <div className="rounded-xl bg-[#111] border border-gray-800 overflow-hidden shadow-2xl">
128
+ <div className="flex items-center gap-2 px-4 py-3 bg-[#0d0d0d] border-b border-gray-800">
129
+ <div className="flex gap-1.5">
130
+ <div className="w-3 h-3 rounded-full bg-red-500/80" />
131
+ <div className="w-3 h-3 rounded-full bg-yellow-500/80" />
132
+ <div className="w-3 h-3 rounded-full bg-green-500/80" />
133
+ </div>
134
+ <span className="text-xs text-gray-500 ml-2">Terminal</span>
135
+ </div>
136
+ <div className="p-4 font-mono text-sm">
137
+ <div className="flex items-center gap-2">
138
+ <span className="text-[#00FF9C]">$</span>
139
+ <span className="text-gray-300">npx create-flexireact my-app</span>
140
+ </div>
141
+ </div>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ </section>
146
+
147
+ {/* Core Features Premium */}
148
+ <section className="py-24 px-4 animate-fade-in-up animate-delay-100">
149
+ <div className="max-w-7xl mx-auto">
150
+ <div className="text-center mb-16">
151
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Core Features</h2>
152
+ <p className="text-gray-400">Everything you need to build modern web apps</p>
153
+ </div>
154
+
155
+ <div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
156
+ {coreFeatures.map((f, i) => (
157
+ <div key={i} className="group p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5 hover:border-[#00FF9C]/30 transition-all hover:scale-[1.02] hover:shadow-lg hover:shadow-[#00FF9C]/10">
158
+ <div className="w-12 h-12 rounded-xl bg-[#00FF9C]/10 flex items-center justify-center text-2xl mb-4 group-hover:scale-110 transition-transform">
159
+ {f.icon}
160
+ </div>
161
+ <h3 className="font-semibold text-lg mb-2">{f.title}</h3>
162
+ <p className="text-gray-400 text-sm leading-relaxed">{f.desc}</p>
163
+ </div>
164
+ ))}
165
+ </div>
166
+ </div>
167
+ </section>
168
+
169
+ {/* How it Works Timeline */}
170
+ <section className="py-24 px-4 bg-white/[0.02] animate-fade-in-up animate-delay-200">
171
+ <div className="max-w-6xl mx-auto">
172
+ <div className="text-center mb-16">
173
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">How it Works</h2>
174
+ <p className="text-gray-400">From idea to production in 5 simple steps</p>
175
+ </div>
176
+
177
+ <div className="relative">
178
+ <div className="hidden lg:block absolute top-1/2 left-0 right-0 h-0.5 bg-gradient-to-r from-transparent via-[#00FF9C]/20 to-transparent" />
179
+
180
+ <div className="grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8">
181
+ {timeline.map((item, i) => (
182
+ <div key={i} className="relative text-center">
183
+ <div className="inline-flex items-center justify-center w-16 h-16 rounded-full bg-gradient-to-br from-[#00FF9C] to-[#00D68F] text-black font-bold text-xl mb-4 shadow-lg shadow-[#00FF9C]/20">
184
+ {item.step}
185
+ </div>
186
+ <h3 className="font-semibold mb-2">{item.title}</h3>
187
+ <p className="text-sm text-gray-400">{item.desc}</p>
188
+ </div>
189
+ ))}
190
+ </div>
191
+ </div>
192
+ </div>
193
+ </section>
194
+
195
+ {/* Code Example */}
196
+ <section className="py-24 px-4 animate-fade-in-up animate-delay-300">
197
+ <div className="max-w-4xl mx-auto">
198
+ <div className="text-center mb-12">
199
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Simple & Powerful</h2>
200
+ <p className="text-gray-400">Write clean code that just works</p>
201
+ </div>
202
+
203
+ <div className="rounded-2xl bg-[#111] border border-gray-800 overflow-hidden">
204
+ <div className="flex items-center gap-4 px-6 py-3 bg-[#0d0d0d] border-b border-gray-800">
205
+ <button className="px-3 py-1.5 text-sm bg-[#00FF9C]/20 text-[#00FF9C] rounded-lg">Pages</button>
206
+ <button className="px-3 py-1.5 text-sm text-gray-400 hover:text-white transition">API Route</button>
207
+ <button className="px-3 py-1.5 text-sm text-gray-400 hover:text-white transition">Component</button>
208
+ </div>
209
+ <pre className="p-6 overflow-x-auto"><code className="text-sm text-gray-300">{\`// app/page.tsx
210
+ export default function Home() {
211
+ return (
212
+ <div className="container mx-auto p-8">
213
+ <h1 className="text-4xl font-bold">
214
+ Hello from FlexiReact ⚡
215
+ </h1>
216
+ </div>
217
+ );
218
+ }\`}</code></pre>
219
+ </div>
220
+ </div>
221
+ </section>
222
+
223
+ {/* Benchmarks */}
224
+ <section className="py-24 px-4 bg-white/[0.02] animate-fade-in-up animate-delay-400">
225
+ <div className="max-w-4xl mx-auto">
226
+ <div className="text-center mb-12">
227
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Blazing Fast Performance</h2>
228
+ <p className="text-gray-400">Cold start comparison (lower is better)</p>
229
+ </div>
230
+
231
+ <div className="space-y-6">
232
+ {benchmarks.map((bench, i) => (
233
+ <div key={i} className="flex items-center gap-4">
234
+ <div className="w-32 text-sm font-medium">{bench.name}</div>
235
+ <div className="flex-1 h-12 bg-white/5 rounded-lg overflow-hidden">
236
+ <div
237
+ className="h-full flex items-center px-4 text-sm font-bold transition-all duration-1000"
238
+ style={{
239
+ width: \`\${(bench.time / 10) * 100}%\`,
240
+ backgroundColor: bench.name === 'FlexiReact' ? '#00FF9C' : 'rgba(255,255,255,0.1)',
241
+ color: bench.name === 'FlexiReact' ? '#000' : '#fff'
242
+ }}
243
+ >
244
+ {bench.time}ms
245
+ </div>
246
+ </div>
247
+ </div>
248
+ ))}
249
+ </div>
250
+ </div>
251
+ </section>
252
+
253
+ {/* Why FlexiReact */}
254
+ <section className="py-24 px-4">
255
+ <div className="max-w-6xl mx-auto">
256
+ <div className="text-center mb-16">
257
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Why FlexiReact?</h2>
258
+ <p className="text-gray-400">Built for developers who value speed and simplicity</p>
259
+ </div>
260
+
261
+ <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
262
+ {whyFlexiReact.map((item, i) => (
263
+ <div key={i} className="p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5">
264
+ <div className="text-3xl mb-4">{item.icon}</div>
265
+ <h3 className="font-semibold mb-2">{item.title}</h3>
266
+ <p className="text-sm text-gray-400">{item.desc}</p>
267
+ </div>
268
+ ))}
269
+ </div>
270
+ </div>
271
+ </section>
272
+
273
+ {/* Ecosystem */}
274
+ <section className="py-24 px-4 bg-white/[0.02]">
275
+ <div className="max-w-6xl mx-auto">
276
+ <div className="text-center mb-16">
277
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Complete Ecosystem</h2>
278
+ <p className="text-gray-400">Everything you need, batteries included</p>
279
+ </div>
280
+
281
+ <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
282
+ {ecosystem.map((item, i) => (
283
+ <a key={i} href={item.link} target="_blank" className="group p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5 hover:border-[#00FF9C]/30 transition-all hover:scale-105">
284
+ <div className="text-4xl mb-4">{item.icon}</div>
285
+ <h3 className="font-semibold mb-1 group-hover:text-[#00FF9C] transition">{item.name}</h3>
286
+ <p className="text-sm text-gray-400">{item.desc}</p>
287
+ </a>
288
+ ))}
289
+ </div>
290
+ </div>
291
+ </section>
292
+
293
+ {/* Backed By */}
294
+ <section className="py-24 px-4">
295
+ <div className="max-w-6xl mx-auto">
296
+ <div className="text-center mb-12">
297
+ <h2 className="text-2xl font-bold mb-8 text-gray-500">Trusted By</h2>
298
+ </div>
299
+
300
+ <div className="flex flex-wrap items-center justify-center gap-12">
301
+ {backedBy.map((company, i) => (
302
+ <div key={i} className="group flex items-center gap-3 opacity-40 hover:opacity-100 transition-opacity">
303
+ <div className="w-12 h-12 rounded-lg bg-white/5 flex items-center justify-center font-bold text-xl group-hover:bg-[#00FF9C]/20 group-hover:text-[#00FF9C] transition">
304
+ {company.logo}
305
+ </div>
306
+ <span className="font-semibold">{company.name}</span>
307
+ </div>
308
+ ))}
309
+ </div>
310
+ </div>
311
+ </section>
312
+
313
+ {/* Final CTA */}
314
+ <section className="py-24 px-4">
315
+ <div className="max-w-3xl mx-auto">
316
+ <div className="relative p-12 rounded-3xl bg-gradient-to-b from-[#111] to-[#0a0a0a] border border-gray-800 overflow-hidden">
317
+ <div className="absolute top-0 right-0 w-64 h-64 bg-[#00FF9C]/10 rounded-full blur-[100px]" />
318
+ <div className="relative text-center">
319
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Ready to build?</h2>
320
+ <p className="text-gray-400 mb-8">Create your first FlexiReact app in seconds</p>
321
+
322
+ <div className="inline-block p-4 rounded-xl bg-black/50 border border-gray-800 font-mono text-sm mb-8">
323
+ <span className="text-[#00FF9C]">$</span>
324
+ <span className="text-gray-300 ml-2">npx create-flexireact my-app</span>
325
+ </div>
326
+
327
+ <div className="flex flex-col sm:flex-row gap-4 justify-center">
328
+ <a href="https://github.com/flexireact/flexireact"
329
+ className="inline-flex items-center justify-center gap-2 px-8 py-4 bg-[#00FF9C] text-black font-semibold rounded-xl hover:bg-[#00D68F] transition-all hover:scale-105">
330
+ Start Building →
331
+ </a>
332
+ </div>
333
+ </div>
334
+ </div>
335
+ </div>
336
+ </section>
337
+
338
+ {/* Premium Footer */}
339
+ <footer className="border-t border-gray-800/50 py-16 px-4">
340
+ <div className="max-w-7xl mx-auto">
341
+ <div className="grid grid-cols-2 md:grid-cols-4 gap-8 mb-12">
342
+ <div>
343
+ <h3 className="font-semibold mb-4">Product</h3>
344
+ <ul className="space-y-2">
345
+ <li><a href="https://github.com/flexireact/flexireact#readme" className="text-sm text-gray-400 hover:text-white transition">Docs</a></li>
346
+ <li><a href="https://github.com/flexireact/flexireact/tree/main/examples" className="text-sm text-gray-400 hover:text-white transition">Examples</a></li>
347
+ <li><a href="https://github.com/flexireact/flexireact/blob/main/CHANGELOG-v3.md" className="text-sm text-gray-400 hover:text-white transition">Changelog</a></li>
348
+ <li><a href="https://github.com/flexireact/flexireact/projects" className="text-sm text-gray-400 hover:text-white transition">Roadmap</a></li>
349
+ </ul>
350
+ </div>
351
+ <div>
352
+ <h3 className="font-semibold mb-4">Community</h3>
353
+ <ul className="space-y-2">
354
+ <li><a href="https://github.com/flexireact/flexireact" className="text-sm text-gray-400 hover:text-white transition">GitHub</a></li>
355
+ <li><a href="https://discord.gg/rFSZxFtpAA" className="text-sm text-gray-400 hover:text-white transition">Discord</a></li>
356
+ <li><a href="https://github.com/flexireact/flexireact/discussions" className="text-sm text-gray-400 hover:text-white transition">Discussions</a></li>
357
+ </ul>
358
+ </div>
359
+ <div>
360
+ <h3 className="font-semibold mb-4">Ecosystem</h3>
361
+ <ul className="space-y-2">
362
+ <li><a href="https://www.npmjs.com/package/@flexireact/flexi-ui" className="text-sm text-gray-400 hover:text-white transition">FlexiUI</a></li>
363
+ <li><a href="https://www.npmjs.com/package/flexiguard" className="text-sm text-gray-400 hover:text-white transition">FlexiGuard</a></li>
364
+ <li><a href="https://www.npmjs.com/package/create-flexireact" className="text-sm text-gray-400 hover:text-white transition">CLI</a></li>
365
+ </ul>
366
+ </div>
367
+ <div>
368
+ <h3 className="font-semibold mb-4">Legal</h3>
369
+ <ul className="space-y-2">
370
+ <li><a href="https://github.com/flexireact/flexireact/blob/main/LICENSE" className="text-sm text-gray-400 hover:text-white transition">License</a></li>
371
+ <li><a href="https://github.com/flexireact/flexireact/blob/main/CONTRIBUTING.md" className="text-sm text-gray-400 hover:text-white transition">Contributing</a></li>
372
+ </ul>
373
+ </div>
374
+ </div>
375
+
376
+ <div className="pt-8 border-t border-gray-800/50 flex flex-col md:flex-row items-center justify-between gap-4">
377
+ <div className="flex items-center gap-2">
378
+ <div className="w-8 h-8 rounded-lg bg-[#00FF9C] flex items-center justify-center">
379
+ <span className="text-black font-bold">F</span>
380
+ </div>
381
+ <span className="text-sm text-gray-400">Built with ❤️ by Asuno</span>
382
+ </div>
383
+ <p className="text-sm text-gray-500">© {new Date().getFullYear()} FlexiReact. MIT License.</p>
384
+ </div>
385
+ </div>
386
+ </footer>
387
+ </main>
388
+ </div>
389
+ );
390
+ }`;
391
+ //# sourceMappingURL=app-router-premium.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-router-premium.js","sourceRoot":"","sources":["../../src/templates/app-router-premium.tsx"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoYlC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-router.d.ts","sourceRoot":"","sources":["../../src/templates/app-router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CA+WpE"}
1
+ {"version":3,"file":"app-router.d.ts","sourceRoot":"","sources":["../../src/templates/app-router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAkoBpE"}
@@ -85,27 +85,89 @@ export default function RootLayout({ children }: { children: React.ReactNode })
85
85
  `,
86
86
  'app/page.tsx': `import React from 'react';
87
87
 
88
- const features = [
89
- { icon: '⚡', title: 'Lightning Fast', desc: 'Powered by esbuild for instant builds and HMR' },
90
- { icon: '🎨', title: 'FlexiUI', desc: '50+ beautiful, accessible components' },
91
- { icon: '📘', title: 'TypeScript', desc: 'Full type safety out of the box' },
92
- { icon: '🏝️', title: 'Islands', desc: 'Partial hydration for max performance' },
93
- { icon: '🌐', title: 'Edge Ready', desc: 'Deploy anywhere: Node, Bun, Deno, CF' },
88
+ const coreFeatures = [
89
+ { icon: '⚡', title: '2ms Cold Start', desc: 'Edge runtime with instant response times' },
90
+ { icon: '🧩', title: '50+ UI Components', desc: 'FlexiUI ready to use out of the box' },
91
+ { icon: '🛡️', title: 'Middleware Auth', desc: 'FlexiGuard powered authentication' },
92
+ { icon: '🔥', title: 'Zero-config Dev', desc: 'Start coding immediately, no setup' },
93
+ { icon: '💽', title: 'File-based API', desc: 'Intuitive API routes structure' },
94
+ { icon: '🏝️', title: 'Islands Architecture', desc: 'Partial hydration for max performance' },
95
+ { icon: '📘', title: 'TypeScript First', desc: 'Full type safety out of the box' },
96
+ { icon: '🎨', title: 'Tailwind v4', desc: 'Latest CSS framework integrated' },
94
97
  { icon: '🚀', title: 'SSR + PPR', desc: 'Streaming SSR & Partial Prerendering' },
95
98
  ];
96
99
 
97
- const stats = [
98
- { label: 'Components', value: '50+' },
99
- { label: 'Bundle Size', value: '~90kb' },
100
- { label: 'Build Time', value: '<1s' },
101
- { label: 'Lighthouse', value: '100' },
100
+ const timeline = [
101
+ { step: '1', title: 'File Routing', desc: 'Create pages in app/ directory' },
102
+ { step: '2', title: 'Layouts', desc: 'Shared UI across routes' },
103
+ { step: '3', title: 'Islands', desc: 'Interactive components' },
104
+ { step: '4', title: 'SSR/SSG', desc: 'Server or static rendering' },
105
+ { step: '5', title: 'Deploy', desc: 'Ship to Edge in seconds' },
106
+ ];
107
+
108
+ const benchmarks = [
109
+ { name: 'FlexiReact', time: 2, color: '#00FF9C' },
110
+ { name: 'Astro', time: 5, color: '#FF5D01' },
111
+ { name: 'Next.js', time: 8, color: '#000000' },
112
+ ];
113
+
114
+ const ecosystem = [
115
+ { icon: '⚛️', name: 'FlexiUI', desc: '50+ components', link: 'https://www.npmjs.com/package/@flexireact/flexi-ui' },
116
+ { icon: '🔐', name: 'FlexiGuard', desc: 'Auth & RBAC', link: 'https://www.npmjs.com/package/flexiguard' },
117
+ { icon: '🧰', name: 'FlexiCLI', desc: 'Commands & scaffolding', link: 'https://www.npmjs.com/package/create-flexireact' },
118
+ { icon: '🌐', name: 'FlexiEdge', desc: 'Deploy-ready runtime', link: 'https://github.com/flexireact/flexireact' },
119
+ ];
120
+
121
+ const whyFlexiReact = [
122
+ { icon: '🚀', title: 'Ultra-fast dev experience', desc: 'Sub-second builds with esbuild' },
123
+ { icon: '🏝️', title: 'Islands with zero config', desc: 'Automatic partial hydration' },
124
+ { icon: '🧩', title: 'UI components included', desc: 'FlexiUI with 50+ components' },
125
+ { icon: '🔐', title: 'Authentication included', desc: 'FlexiGuard for auth & RBAC' },
126
+ ];
127
+
128
+ const backedBy = [
129
+ { name: 'Velcarius', logo: 'V' },
130
+ { name: 'Rayze Sol Energy', logo: 'R' },
131
+ { name: 'FramLink', logo: 'F' },
102
132
  ];
103
133
 
104
134
  export default function HomePage() {
105
135
  return (
106
- <main className="min-h-screen bg-[#0a0a0a]">
107
- {/* Hero */}
108
- <section className="relative py-24 lg:py-32 px-4 overflow-hidden">
136
+ <div className="min-h-screen bg-[#0a0a0a]">
137
+ {/* Premium Navbar */}
138
+ <header className="fixed top-0 left-0 right-0 z-50 bg-[#0a0a0a]/80 backdrop-blur-xl border-b border-gray-800/50">
139
+ <nav className="max-w-7xl mx-auto px-4 h-16 flex items-center justify-between">
140
+ <a href="/" className="flex items-center gap-3">
141
+ <div className="w-9 h-9 rounded-lg bg-gradient-to-br from-[#00FF9C] to-[#00D68F] flex items-center justify-center shadow-lg shadow-[#00FF9C]/20">
142
+ <span className="text-black font-bold text-lg">F</span>
143
+ </div>
144
+ <span className="font-bold text-lg">FlexiReact</span>
145
+ <span className="px-2 py-0.5 text-xs bg-[#00FF9C]/20 text-[#00FF9C] rounded-full">v3.0</span>
146
+ </a>
147
+
148
+ <div className="hidden md:flex items-center gap-8">
149
+ <a href="https://github.com/flexireact/flexireact#readme" className="text-sm text-gray-400 hover:text-white transition-colors">Docs</a>
150
+ <a href="https://github.com/flexireact/flexireact" className="text-sm text-gray-400 hover:text-white transition-colors">GitHub</a>
151
+ <a href="https://github.com/flexireact/flexireact/tree/main/examples" className="text-sm text-gray-400 hover:text-white transition-colors">Examples</a>
152
+ <a href="https://discord.gg/rFSZxFtpAA" className="text-sm text-gray-400 hover:text-white transition-colors">Discord</a>
153
+ </div>
154
+
155
+ <a
156
+ href="https://github.com/flexireact/flexireact"
157
+ target="_blank"
158
+ className="group flex items-center gap-2 px-4 py-2 bg-white/5 hover:bg-white/10 border border-white/10 hover:border-[#00FF9C]/50 rounded-lg transition-all"
159
+ >
160
+ <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 24 24">
161
+ <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/>
162
+ </svg>
163
+ <span className="text-sm font-medium">Star</span>
164
+ </a>
165
+ </nav>
166
+ </header>
167
+
168
+ <main className="pt-16">
169
+ {/* Hero Section */}
170
+ <section className="relative py-24 lg:py-32 px-4 overflow-hidden animate-fade-in-up">
109
171
  {/* Gradient background */}
110
172
  <div className="absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-[#00FF9C]/10 via-transparent to-transparent" />
111
173
  <div className="absolute top-0 left-1/2 -translate-x-1/2 w-[600px] h-[600px] bg-[#00FF9C]/5 rounded-full blur-[120px]" />
@@ -185,17 +247,17 @@ export default function HomePage() {
185
247
  </div>
186
248
  </section>
187
249
 
188
- {/* Features */}
189
- <section className="py-24 px-4">
190
- <div className="max-w-5xl mx-auto">
250
+ {/* Core Features Premium */}
251
+ <section className="py-24 px-4 animate-fade-in-up animate-delay-100">
252
+ <div className="max-w-7xl mx-auto">
191
253
  <div className="text-center mb-16">
192
- <h2 className="text-3xl sm:text-4xl font-bold mb-4">Everything you need</h2>
193
- <p className="text-gray-400">A complete toolkit for building modern React apps</p>
254
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Core Features</h2>
255
+ <p className="text-gray-400">Everything you need to build modern web apps</p>
194
256
  </div>
195
257
 
196
258
  <div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
197
- {features.map((f, i) => (
198
- <div key={i} className="group p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5 hover:border-[#00FF9C]/30 transition-all hover:-translate-y-1">
259
+ {coreFeatures.map((f, i) => (
260
+ <div key={i} className="group p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5 hover:border-[#00FF9C]/30 transition-all hover:scale-[1.02] hover:shadow-lg hover:shadow-[#00FF9C]/10">
199
261
  <div className="w-12 h-12 rounded-xl bg-[#00FF9C]/10 flex items-center justify-center text-2xl mb-4 group-hover:scale-110 transition-transform">
200
262
  {f.icon}
201
263
  </div>
@@ -207,7 +269,151 @@ export default function HomePage() {
207
269
  </div>
208
270
  </section>
209
271
 
210
- {/* CTA */}
272
+ {/* How it Works Timeline */}
273
+ <section className="py-24 px-4 bg-white/[0.02] animate-fade-in-up animate-delay-200">
274
+ <div className="max-w-6xl mx-auto">
275
+ <div className="text-center mb-16">
276
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">How it Works</h2>
277
+ <p className="text-gray-400">From idea to production in 5 simple steps</p>
278
+ </div>
279
+
280
+ <div className="relative">
281
+ <div className="hidden lg:block absolute top-1/2 left-0 right-0 h-0.5 bg-gradient-to-r from-transparent via-[#00FF9C]/20 to-transparent" />
282
+
283
+ <div className="grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8">
284
+ {timeline.map((item, i) => (
285
+ <div key={i} className="relative text-center">
286
+ <div className="inline-flex items-center justify-center w-16 h-16 rounded-full bg-gradient-to-br from-[#00FF9C] to-[#00D68F] text-black font-bold text-xl mb-4 shadow-lg shadow-[#00FF9C]/20">
287
+ {item.step}
288
+ </div>
289
+ <h3 className="font-semibold mb-2">{item.title}</h3>
290
+ <p className="text-sm text-gray-400">{item.desc}</p>
291
+ </div>
292
+ ))}
293
+ </div>
294
+ </div>
295
+ </div>
296
+ </section>
297
+
298
+ {/* Code Example */}
299
+ <section className="py-24 px-4 animate-fade-in-up animate-delay-300">
300
+ <div className="max-w-4xl mx-auto">
301
+ <div className="text-center mb-12">
302
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Simple & Powerful</h2>
303
+ <p className="text-gray-400">Write clean code that just works</p>
304
+ </div>
305
+
306
+ <div className="rounded-2xl bg-[#111] border border-gray-800 overflow-hidden">
307
+ <div className="flex items-center gap-4 px-6 py-3 bg-[#0d0d0d] border-b border-gray-800">
308
+ <button className="px-3 py-1.5 text-sm bg-[#00FF9C]/20 text-[#00FF9C] rounded-lg">Pages</button>
309
+ <button className="px-3 py-1.5 text-sm text-gray-400 hover:text-white transition">API Route</button>
310
+ <button className="px-3 py-1.5 text-sm text-gray-400 hover:text-white transition">Component</button>
311
+ </div>
312
+ <pre className="p-6 overflow-x-auto"><code className="text-sm text-gray-300">{\`// app/page.tsx
313
+ export default function Home() {
314
+ return (
315
+ <div className="container mx-auto p-8">
316
+ <h1 className="text-4xl font-bold">
317
+ Hello from FlexiReact ⚡
318
+ </h1>
319
+ </div>
320
+ );
321
+ }\`}</code></pre>
322
+ </div>
323
+ </div>
324
+ </section>
325
+
326
+ {/* Benchmarks */}
327
+ <section className="py-24 px-4 bg-white/[0.02] animate-fade-in-up animate-delay-400">
328
+ <div className="max-w-4xl mx-auto">
329
+ <div className="text-center mb-12">
330
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Blazing Fast Performance</h2>
331
+ <p className="text-gray-400">Cold start comparison (lower is better)</p>
332
+ </div>
333
+
334
+ <div className="space-y-6">
335
+ {benchmarks.map((bench, i) => (
336
+ <div key={i} className="flex items-center gap-4">
337
+ <div className="w-32 text-sm font-medium">{bench.name}</div>
338
+ <div className="flex-1 h-12 bg-white/5 rounded-lg overflow-hidden">
339
+ <div
340
+ className="h-full flex items-center px-4 text-sm font-bold transition-all duration-1000"
341
+ style={{
342
+ width: \`\${(bench.time / 10) * 100}%\`,
343
+ backgroundColor: bench.name === 'FlexiReact' ? '#00FF9C' : 'rgba(255,255,255,0.1)',
344
+ color: bench.name === 'FlexiReact' ? '#000' : '#fff'
345
+ }}
346
+ >
347
+ {bench.time}ms
348
+ </div>
349
+ </div>
350
+ </div>
351
+ ))}
352
+ </div>
353
+ </div>
354
+ </section>
355
+
356
+ {/* Why FlexiReact */}
357
+ <section className="py-24 px-4">
358
+ <div className="max-w-6xl mx-auto">
359
+ <div className="text-center mb-16">
360
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Why FlexiReact?</h2>
361
+ <p className="text-gray-400">Built for developers who value speed and simplicity</p>
362
+ </div>
363
+
364
+ <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
365
+ {whyFlexiReact.map((item, i) => (
366
+ <div key={i} className="p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5">
367
+ <div className="text-3xl mb-4">{item.icon}</div>
368
+ <h3 className="font-semibold mb-2">{item.title}</h3>
369
+ <p className="text-sm text-gray-400">{item.desc}</p>
370
+ </div>
371
+ ))}
372
+ </div>
373
+ </div>
374
+ </section>
375
+
376
+ {/* Ecosystem */}
377
+ <section className="py-24 px-4 bg-white/[0.02]">
378
+ <div className="max-w-6xl mx-auto">
379
+ <div className="text-center mb-16">
380
+ <h2 className="text-3xl sm:text-4xl font-bold mb-4">Complete Ecosystem</h2>
381
+ <p className="text-gray-400">Everything you need, batteries included</p>
382
+ </div>
383
+
384
+ <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
385
+ {ecosystem.map((item, i) => (
386
+ <a key={i} href={item.link} target="_blank" className="group p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5 hover:border-[#00FF9C]/30 transition-all hover:scale-105">
387
+ <div className="text-4xl mb-4">{item.icon}</div>
388
+ <h3 className="font-semibold mb-1 group-hover:text-[#00FF9C] transition">{item.name}</h3>
389
+ <p className="text-sm text-gray-400">{item.desc}</p>
390
+ </a>
391
+ ))}
392
+ </div>
393
+ </div>
394
+ </section>
395
+
396
+ {/* Backed By */}
397
+ <section className="py-24 px-4">
398
+ <div className="max-w-6xl mx-auto">
399
+ <div className="text-center mb-12">
400
+ <h2 className="text-2xl font-bold mb-8 text-gray-500">Trusted By</h2>
401
+ </div>
402
+
403
+ <div className="flex flex-wrap items-center justify-center gap-12">
404
+ {backedBy.map((company, i) => (
405
+ <div key={i} className="group flex items-center gap-3 opacity-40 hover:opacity-100 transition-opacity">
406
+ <div className="w-12 h-12 rounded-lg bg-white/5 flex items-center justify-center font-bold text-xl group-hover:bg-[#00FF9C]/20 group-hover:text-[#00FF9C] transition">
407
+ {company.logo}
408
+ </div>
409
+ <span className="font-semibold">{company.name}</span>
410
+ </div>
411
+ ))}
412
+ </div>
413
+ </div>
414
+ </section>
415
+
416
+ {/* Final CTA */}
211
417
  <section className="py-24 px-4">
212
418
  <div className="max-w-3xl mx-auto">
213
419
  <div className="relative p-8 sm:p-12 rounded-3xl bg-gradient-to-b from-[#111] to-[#0a0a0a] border border-gray-800 overflow-hidden">
@@ -232,24 +438,57 @@ export default function HomePage() {
232
438
  </div>
233
439
  </section>
234
440
 
235
- {/* Footer */}
236
- <footer className="py-12 px-4 border-t border-gray-800/50">
237
- <div className="max-w-5xl mx-auto flex flex-col sm:flex-row items-center justify-between gap-4">
238
- <div className="flex items-center gap-2">
239
- <div className="w-8 h-8 rounded-lg bg-[#00FF9C] flex items-center justify-center">
240
- <span className="text-sm font-bold text-black">F</span>
441
+ {/* Premium Footer */}
442
+ <footer className="border-t border-gray-800/50 py-16 px-4">
443
+ <div className="max-w-7xl mx-auto">
444
+ <div className="grid grid-cols-2 md:grid-cols-4 gap-8 mb-12">
445
+ <div>
446
+ <h3 className="font-semibold mb-4">Product</h3>
447
+ <ul className="space-y-2">
448
+ <li><a href="https://github.com/flexireact/flexireact#readme" className="text-sm text-gray-400 hover:text-white transition">Docs</a></li>
449
+ <li><a href="https://github.com/flexireact/flexireact/tree/main/examples" className="text-sm text-gray-400 hover:text-white transition">Examples</a></li>
450
+ <li><a href="https://github.com/flexireact/flexireact/blob/main/CHANGELOG-v3.md" className="text-sm text-gray-400 hover:text-white transition">Changelog</a></li>
451
+ <li><a href="https://github.com/flexireact/flexireact/projects" className="text-sm text-gray-400 hover:text-white transition">Roadmap</a></li>
452
+ </ul>
453
+ </div>
454
+ <div>
455
+ <h3 className="font-semibold mb-4">Community</h3>
456
+ <ul className="space-y-2">
457
+ <li><a href="https://github.com/flexireact/flexireact" className="text-sm text-gray-400 hover:text-white transition">GitHub</a></li>
458
+ <li><a href="https://discord.gg/rFSZxFtpAA" className="text-sm text-gray-400 hover:text-white transition">Discord</a></li>
459
+ <li><a href="https://github.com/flexireact/flexireact/discussions" className="text-sm text-gray-400 hover:text-white transition">Discussions</a></li>
460
+ </ul>
461
+ </div>
462
+ <div>
463
+ <h3 className="font-semibold mb-4">Ecosystem</h3>
464
+ <ul className="space-y-2">
465
+ <li><a href="https://www.npmjs.com/package/@flexireact/flexi-ui" className="text-sm text-gray-400 hover:text-white transition">FlexiUI</a></li>
466
+ <li><a href="https://www.npmjs.com/package/flexiguard" className="text-sm text-gray-400 hover:text-white transition">FlexiGuard</a></li>
467
+ <li><a href="https://www.npmjs.com/package/create-flexireact" className="text-sm text-gray-400 hover:text-white transition">CLI</a></li>
468
+ </ul>
469
+ </div>
470
+ <div>
471
+ <h3 className="font-semibold mb-4">Legal</h3>
472
+ <ul className="space-y-2">
473
+ <li><a href="https://github.com/flexireact/flexireact/blob/main/LICENSE" className="text-sm text-gray-400 hover:text-white transition">License</a></li>
474
+ <li><a href="https://github.com/flexireact/flexireact/blob/main/CONTRIBUTING.md" className="text-sm text-gray-400 hover:text-white transition">Contributing</a></li>
475
+ </ul>
241
476
  </div>
242
- <span className="font-semibold">FlexiReact</span>
243
477
  </div>
244
- <p className="text-sm text-gray-500">Built with ❤️ by FlexiReact Team</p>
245
- <div className="flex items-center gap-6">
246
- <a href="https://github.com/flexireact/flexireact" className="text-gray-400 hover:text-white transition-colors">GitHub</a>
247
- <a href="https://discord.gg/rFSZxFtpAA" className="text-gray-400 hover:text-white transition-colors">Discord 💬</a>
248
- <a href="https://npmjs.com/package/@flexireact/core" className="text-gray-400 hover:text-white transition-colors">npm</a>
478
+
479
+ <div className="pt-8 border-t border-gray-800/50 flex flex-col md:flex-row items-center justify-between gap-4">
480
+ <div className="flex items-center gap-2">
481
+ <div className="w-8 h-8 rounded-lg bg-[#00FF9C] flex items-center justify-center">
482
+ <span className="text-black font-bold">F</span>
483
+ </div>
484
+ <span className="text-sm text-gray-400">Built with ❤️ by Asuno</span>
485
+ </div>
486
+ <p className="text-sm text-gray-500">© {new Date().getFullYear()} FlexiReact. MIT License.</p>
249
487
  </div>
250
488
  </div>
251
489
  </footer>
252
- </main>
490
+ </main>
491
+ </div>
253
492
  );
254
493
  }
255
494
  `,
@@ -325,6 +564,42 @@ export default function NotFound() {
325
564
  body {
326
565
  font-family: var(--font-sans);
327
566
  }
567
+
568
+ /* Fade-in and slide-up animations */
569
+ @keyframes fadeInUp {
570
+ from {
571
+ opacity: 0;
572
+ transform: translateY(30px);
573
+ }
574
+ to {
575
+ opacity: 1;
576
+ transform: translateY(0);
577
+ }
578
+ }
579
+
580
+ .animate-fade-in-up {
581
+ animation: fadeInUp 0.6s ease-out forwards;
582
+ }
583
+
584
+ .animate-delay-100 {
585
+ animation-delay: 0.1s;
586
+ opacity: 0;
587
+ }
588
+
589
+ .animate-delay-200 {
590
+ animation-delay: 0.2s;
591
+ opacity: 0;
592
+ }
593
+
594
+ .animate-delay-300 {
595
+ animation-delay: 0.3s;
596
+ opacity: 0;
597
+ }
598
+
599
+ .animate-delay-400 {
600
+ animation-delay: 0.4s;
601
+ opacity: 0;
602
+ }
328
603
  `,
329
604
  // Lib
330
605
  'lib/utils.ts': `import { clsx, type ClassValue } from 'clsx';
@@ -1 +1 @@
1
- {"version":3,"file":"app-router.js","sourceRoot":"","sources":["../../src/templates/app-router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,GAAG,EAAE,+BAA+B;gBACpC,KAAK,EAAE,iCAAiC;gBACxC,KAAK,EAAE,kBAAkB;gBACzB,GAAG,EAAE,kEAAkE;aACxE;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,SAAS;gBACtB,kBAAkB,EAAE,QAAQ;gBAC5B,sBAAsB,EAAE,QAAQ;gBAChC,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,QAAQ;aAC3B;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,SAAS;gBACzB,kBAAkB,EAAE,SAAS;gBAC7B,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,QAAQ;gBACrB,kBAAkB,EAAE,QAAQ;gBAC5B,sBAAsB,EAAE,QAAQ;aACjC;SACF,EAAE,IAAI,EAAE,CAAC,CAAC;QAEX,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC;YAC9B,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG;gBACZ,KAAK,EAAE;oBACL,KAAK,EAAE,CAAC,KAAK,CAAC;iBACf;aACF;YACD,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;YAChC,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC9C,EAAE,IAAI,EAAE,CAAC,CAAC;QAEX,mBAAmB,EAAE;;;;;CAKxB;QAEG,sBAAsB,EAAE;;;;CAI3B;QAEG,gBAAgB;QAChB,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;CAkBrB;QAEG,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyKnB;QAEG,iBAAiB,EAAE;;;;;;;;;;;;CAYtB;QAEG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBpB;QAEG,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;CAoBxB;QAEG,iBAAiB,EAAE;;;;;;;;;;;;CAYtB;QAEG,MAAM;QACN,cAAc,EAAE;;;;;;CAMnB;QAEG,SAAS;QACT,oBAAoB,EAAE;;;;;;;;;OASnB;QAEH,iBAAiB,EAAE,EAAE;QAErB,YAAY,EAAE;;;;;;;CAOjB;KACE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"app-router.js","sourceRoot":"","sources":["../../src/templates/app-router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/templates/default.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAmkBlE"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/templates/default.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAumBlE"}
@@ -320,6 +320,42 @@ body {
320
320
  color: var(--color-foreground);
321
321
  -webkit-font-smoothing: antialiased;
322
322
  }
323
+
324
+ /* Fade-in and slide-up animations */
325
+ @keyframes fadeInUp {
326
+ from {
327
+ opacity: 0;
328
+ transform: translateY(30px);
329
+ }
330
+ to {
331
+ opacity: 1;
332
+ transform: translateY(0);
333
+ }
334
+ }
335
+
336
+ .animate-fade-in-up {
337
+ animation: fadeInUp 0.6s ease-out forwards;
338
+ }
339
+
340
+ .animate-delay-100 {
341
+ animation-delay: 0.1s;
342
+ opacity: 0;
343
+ }
344
+
345
+ .animate-delay-200 {
346
+ animation-delay: 0.2s;
347
+ opacity: 0;
348
+ }
349
+
350
+ .animate-delay-300 {
351
+ animation-delay: 0.3s;
352
+ opacity: 0;
353
+ }
354
+
355
+ .animate-delay-400 {
356
+ animation-delay: 0.4s;
357
+ opacity: 0;
358
+ }
323
359
  `,
324
360
  // ========================================================================
325
361
  // Routes Directory - FlexiReact v3 Routing
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/templates/default.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/templates/default.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Premium sections for FlexiReact templates
3
+ * Reusable components for landing pages
4
+ */
5
+ export declare const PREMIUM_NAVBAR = "import React from 'react';\n\nexport function PremiumNavbar() {\n return (\n <header className=\"fixed top-0 left-0 right-0 z-50 bg-[#0a0a0a]/80 backdrop-blur-xl border-b border-gray-800/50\">\n <nav className=\"max-w-7xl mx-auto px-4 h-16 flex items-center justify-between\">\n <a href=\"/\" className=\"flex items-center gap-3\">\n <div className=\"w-9 h-9 rounded-lg bg-gradient-to-br from-[#00FF9C] to-[#00D68F] flex items-center justify-center shadow-lg shadow-[#00FF9C]/20\">\n <span className=\"text-black font-bold text-lg\">F</span>\n </div>\n <span className=\"font-bold text-lg\">FlexiReact</span>\n <span className=\"px-2 py-0.5 text-xs bg-[#00FF9C]/20 text-[#00FF9C] rounded-full\">v3.0</span>\n </a>\n \n <div className=\"hidden md:flex items-center gap-8\">\n <a href=\"https://github.com/flexireact/flexireact#readme\" className=\"text-sm text-gray-400 hover:text-white transition-colors\">Docs</a>\n <a href=\"https://github.com/flexireact/flexireact\" className=\"text-sm text-gray-400 hover:text-white transition-colors\">GitHub</a>\n <a href=\"https://github.com/flexireact/flexireact/tree/main/examples\" className=\"text-sm text-gray-400 hover:text-white transition-colors\">Examples</a>\n <a href=\"https://discord.gg/rFSZxFtpAA\" className=\"text-sm text-gray-400 hover:text-white transition-colors\">Discord</a>\n </div>\n\n <a \n href=\"https://github.com/flexireact/flexireact\" \n target=\"_blank\"\n className=\"group flex items-center gap-2 px-4 py-2 bg-white/5 hover:bg-white/10 border border-white/10 hover:border-[#00FF9C]/50 rounded-lg transition-all\"\n >\n <svg className=\"w-4 h-4\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"/>\n </svg>\n <span className=\"text-sm font-medium\">Star</span>\n </a>\n </nav>\n </header>\n );\n}";
6
+ export declare const PREMIUM_FOOTER = "import React from 'react';\n\nexport function PremiumFooter() {\n return (\n <footer className=\"border-t border-gray-800/50 py-16 px-4\">\n <div className=\"max-w-7xl mx-auto\">\n <div className=\"grid grid-cols-2 md:grid-cols-4 gap-8 mb-12\">\n <div>\n <h3 className=\"font-semibold mb-4\">Product</h3>\n <ul className=\"space-y-2\">\n <li><a href=\"https://github.com/flexireact/flexireact#readme\" className=\"text-sm text-gray-400 hover:text-white transition\">Docs</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/tree/main/examples\" className=\"text-sm text-gray-400 hover:text-white transition\">Examples</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/blob/main/CHANGELOG-v3.md\" className=\"text-sm text-gray-400 hover:text-white transition\">Changelog</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/projects\" className=\"text-sm text-gray-400 hover:text-white transition\">Roadmap</a></li>\n </ul>\n </div>\n <div>\n <h3 className=\"font-semibold mb-4\">Community</h3>\n <ul className=\"space-y-2\">\n <li><a href=\"https://github.com/flexireact/flexireact\" className=\"text-sm text-gray-400 hover:text-white transition\">GitHub</a></li>\n <li><a href=\"https://discord.gg/rFSZxFtpAA\" className=\"text-sm text-gray-400 hover:text-white transition\">Discord</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/discussions\" className=\"text-sm text-gray-400 hover:text-white transition\">Discussions</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/issues\" className=\"text-sm text-gray-400 hover:text-white transition\">Issues</a></li>\n </ul>\n </div>\n <div>\n <h3 className=\"font-semibold mb-4\">Ecosystem</h3>\n <ul className=\"space-y-2\">\n <li><a href=\"https://www.npmjs.com/package/@flexireact/flexi-ui\" className=\"text-sm text-gray-400 hover:text-white transition\">FlexiUI</a></li>\n <li><a href=\"https://www.npmjs.com/package/flexiguard\" className=\"text-sm text-gray-400 hover:text-white transition\">FlexiGuard</a></li>\n <li><a href=\"https://www.npmjs.com/package/create-flexireact\" className=\"text-sm text-gray-400 hover:text-white transition\">CLI</a></li>\n </ul>\n </div>\n <div>\n <h3 className=\"font-semibold mb-4\">Legal</h3>\n <ul className=\"space-y-2\">\n <li><a href=\"https://github.com/flexireact/flexireact/blob/main/LICENSE\" className=\"text-sm text-gray-400 hover:text-white transition\">License</a></li>\n <li><a href=\"https://github.com/flexireact/flexireact/blob/main/CONTRIBUTING.md\" className=\"text-sm text-gray-400 hover:text-white transition\">Contributing</a></li>\n </ul>\n </div>\n </div>\n \n <div className=\"pt-8 border-t border-gray-800/50 flex flex-col md:flex-row items-center justify-between gap-4\">\n <div className=\"flex items-center gap-2\">\n <div className=\"w-8 h-8 rounded-lg bg-[#00FF9C] flex items-center justify-center\">\n <span className=\"text-black font-bold\">F</span>\n </div>\n <span className=\"text-sm text-gray-400\">Built with \u2764\uFE0F by Asuno</span>\n </div>\n <p className=\"text-sm text-gray-500\">\u00A9 {new Date().getFullYear()} FlexiReact. MIT License.</p>\n </div>\n </div>\n </footer>\n );\n}";
7
+ export declare const ANIMATIONS_CSS = "\n/* Fade-in and slide-up animations */\n@keyframes fadeInUp {\n from {\n opacity: 0;\n transform: translateY(30px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.animate-fade-in-up {\n animation: fadeInUp 0.6s ease-out forwards;\n}\n\n.animate-delay-100 {\n animation-delay: 0.1s;\n opacity: 0;\n}\n\n.animate-delay-200 {\n animation-delay: 0.2s;\n opacity: 0;\n}\n\n.animate-delay-300 {\n animation-delay: 0.3s;\n opacity: 0;\n}\n\n.animate-delay-400 {\n animation-delay: 0.4s;\n opacity: 0;\n}\n\n/* Glow effects */\n.glow-green {\n box-shadow: 0 0 20px rgba(0, 255, 156, 0.3);\n}\n\n.hover-glow:hover {\n box-shadow: 0 0 30px rgba(0, 255, 156, 0.4);\n transform: scale(1.02);\n transition: all 0.3s ease;\n}\n\n/* Gradient text */\n.gradient-text {\n background: linear-gradient(135deg, #00FF9C 0%, #00D68F 100%);\n -webkit-background-clip: text;\n background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n";
8
+ //# sourceMappingURL=premium-sections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"premium-sections.d.ts","sourceRoot":"","sources":["../../src/templates/premium-sections.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,cAAc,mjEAkCzB,CAAC;AAEH,eAAO,MAAM,cAAc,+mHAsDzB,CAAC;AAEH,eAAO,MAAM,cAAc,g9BAuD1B,CAAC"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Premium sections for FlexiReact templates
3
+ * Reusable components for landing pages
4
+ */
5
+ export const PREMIUM_NAVBAR = `import React from 'react';
6
+
7
+ export function PremiumNavbar() {
8
+ return (
9
+ <header className="fixed top-0 left-0 right-0 z-50 bg-[#0a0a0a]/80 backdrop-blur-xl border-b border-gray-800/50">
10
+ <nav className="max-w-7xl mx-auto px-4 h-16 flex items-center justify-between">
11
+ <a href="/" className="flex items-center gap-3">
12
+ <div className="w-9 h-9 rounded-lg bg-gradient-to-br from-[#00FF9C] to-[#00D68F] flex items-center justify-center shadow-lg shadow-[#00FF9C]/20">
13
+ <span className="text-black font-bold text-lg">F</span>
14
+ </div>
15
+ <span className="font-bold text-lg">FlexiReact</span>
16
+ <span className="px-2 py-0.5 text-xs bg-[#00FF9C]/20 text-[#00FF9C] rounded-full">v3.0</span>
17
+ </a>
18
+
19
+ <div className="hidden md:flex items-center gap-8">
20
+ <a href="https://github.com/flexireact/flexireact#readme" className="text-sm text-gray-400 hover:text-white transition-colors">Docs</a>
21
+ <a href="https://github.com/flexireact/flexireact" className="text-sm text-gray-400 hover:text-white transition-colors">GitHub</a>
22
+ <a href="https://github.com/flexireact/flexireact/tree/main/examples" className="text-sm text-gray-400 hover:text-white transition-colors">Examples</a>
23
+ <a href="https://discord.gg/rFSZxFtpAA" className="text-sm text-gray-400 hover:text-white transition-colors">Discord</a>
24
+ </div>
25
+
26
+ <a
27
+ href="https://github.com/flexireact/flexireact"
28
+ target="_blank"
29
+ className="group flex items-center gap-2 px-4 py-2 bg-white/5 hover:bg-white/10 border border-white/10 hover:border-[#00FF9C]/50 rounded-lg transition-all"
30
+ >
31
+ <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 24 24">
32
+ <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/>
33
+ </svg>
34
+ <span className="text-sm font-medium">Star</span>
35
+ </a>
36
+ </nav>
37
+ </header>
38
+ );
39
+ }`;
40
+ export const PREMIUM_FOOTER = `import React from 'react';
41
+
42
+ export function PremiumFooter() {
43
+ return (
44
+ <footer className="border-t border-gray-800/50 py-16 px-4">
45
+ <div className="max-w-7xl mx-auto">
46
+ <div className="grid grid-cols-2 md:grid-cols-4 gap-8 mb-12">
47
+ <div>
48
+ <h3 className="font-semibold mb-4">Product</h3>
49
+ <ul className="space-y-2">
50
+ <li><a href="https://github.com/flexireact/flexireact#readme" className="text-sm text-gray-400 hover:text-white transition">Docs</a></li>
51
+ <li><a href="https://github.com/flexireact/flexireact/tree/main/examples" className="text-sm text-gray-400 hover:text-white transition">Examples</a></li>
52
+ <li><a href="https://github.com/flexireact/flexireact/blob/main/CHANGELOG-v3.md" className="text-sm text-gray-400 hover:text-white transition">Changelog</a></li>
53
+ <li><a href="https://github.com/flexireact/flexireact/projects" className="text-sm text-gray-400 hover:text-white transition">Roadmap</a></li>
54
+ </ul>
55
+ </div>
56
+ <div>
57
+ <h3 className="font-semibold mb-4">Community</h3>
58
+ <ul className="space-y-2">
59
+ <li><a href="https://github.com/flexireact/flexireact" className="text-sm text-gray-400 hover:text-white transition">GitHub</a></li>
60
+ <li><a href="https://discord.gg/rFSZxFtpAA" className="text-sm text-gray-400 hover:text-white transition">Discord</a></li>
61
+ <li><a href="https://github.com/flexireact/flexireact/discussions" className="text-sm text-gray-400 hover:text-white transition">Discussions</a></li>
62
+ <li><a href="https://github.com/flexireact/flexireact/issues" className="text-sm text-gray-400 hover:text-white transition">Issues</a></li>
63
+ </ul>
64
+ </div>
65
+ <div>
66
+ <h3 className="font-semibold mb-4">Ecosystem</h3>
67
+ <ul className="space-y-2">
68
+ <li><a href="https://www.npmjs.com/package/@flexireact/flexi-ui" className="text-sm text-gray-400 hover:text-white transition">FlexiUI</a></li>
69
+ <li><a href="https://www.npmjs.com/package/flexiguard" className="text-sm text-gray-400 hover:text-white transition">FlexiGuard</a></li>
70
+ <li><a href="https://www.npmjs.com/package/create-flexireact" className="text-sm text-gray-400 hover:text-white transition">CLI</a></li>
71
+ </ul>
72
+ </div>
73
+ <div>
74
+ <h3 className="font-semibold mb-4">Legal</h3>
75
+ <ul className="space-y-2">
76
+ <li><a href="https://github.com/flexireact/flexireact/blob/main/LICENSE" className="text-sm text-gray-400 hover:text-white transition">License</a></li>
77
+ <li><a href="https://github.com/flexireact/flexireact/blob/main/CONTRIBUTING.md" className="text-sm text-gray-400 hover:text-white transition">Contributing</a></li>
78
+ </ul>
79
+ </div>
80
+ </div>
81
+
82
+ <div className="pt-8 border-t border-gray-800/50 flex flex-col md:flex-row items-center justify-between gap-4">
83
+ <div className="flex items-center gap-2">
84
+ <div className="w-8 h-8 rounded-lg bg-[#00FF9C] flex items-center justify-center">
85
+ <span className="text-black font-bold">F</span>
86
+ </div>
87
+ <span className="text-sm text-gray-400">Built with ❤️ by Asuno</span>
88
+ </div>
89
+ <p className="text-sm text-gray-500">© {new Date().getFullYear()} FlexiReact. MIT License.</p>
90
+ </div>
91
+ </div>
92
+ </footer>
93
+ );
94
+ }`;
95
+ export const ANIMATIONS_CSS = `
96
+ /* Fade-in and slide-up animations */
97
+ @keyframes fadeInUp {
98
+ from {
99
+ opacity: 0;
100
+ transform: translateY(30px);
101
+ }
102
+ to {
103
+ opacity: 1;
104
+ transform: translateY(0);
105
+ }
106
+ }
107
+
108
+ .animate-fade-in-up {
109
+ animation: fadeInUp 0.6s ease-out forwards;
110
+ }
111
+
112
+ .animate-delay-100 {
113
+ animation-delay: 0.1s;
114
+ opacity: 0;
115
+ }
116
+
117
+ .animate-delay-200 {
118
+ animation-delay: 0.2s;
119
+ opacity: 0;
120
+ }
121
+
122
+ .animate-delay-300 {
123
+ animation-delay: 0.3s;
124
+ opacity: 0;
125
+ }
126
+
127
+ .animate-delay-400 {
128
+ animation-delay: 0.4s;
129
+ opacity: 0;
130
+ }
131
+
132
+ /* Glow effects */
133
+ .glow-green {
134
+ box-shadow: 0 0 20px rgba(0, 255, 156, 0.3);
135
+ }
136
+
137
+ .hover-glow:hover {
138
+ box-shadow: 0 0 30px rgba(0, 255, 156, 0.4);
139
+ transform: scale(1.02);
140
+ transition: all 0.3s ease;
141
+ }
142
+
143
+ /* Gradient text */
144
+ .gradient-text {
145
+ background: linear-gradient(135deg, #00FF9C 0%, #00D68F 100%);
146
+ -webkit-background-clip: text;
147
+ background-clip: text;
148
+ -webkit-text-fill-color: transparent;
149
+ }
150
+ `;
151
+ //# sourceMappingURL=premium-sections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"premium-sections.js","sourceRoot":"","sources":["../../src/templates/premium-sections.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC5B,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsD5B,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuD7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-flexireact",
3
- "version": "3.0.3",
3
+ "version": "3.0.5",
4
4
  "description": "Create FlexiReact v3 apps with one command - The Modern React Framework",
5
5
  "author": "FlexiReact Team",
6
6
  "license": "MIT",