Spaces:
Running
Project summary
Browse filesBuild a production-grade corporate website for SuperNova — an elite software studio delivering full-stack, mobile, AI/ML and DevOps solutions. The website’s primary goals are to convert visitors into qualified leads and to showcase measurable, high-impact case studies. Default locale: fa-IR (Persian) with English /en/ as an additional language. Timezone: Asia/Baku.
Brand & tone
Voice: confident, concise, expert, result-focused. Brand values: Scalability, Reliability, Elegance, Innovation. All messaging should be tightly focused on outcomes, trust, and technical credibility.
Visual design (palette left to builder)
Theme direction: Classic-Modern Luxury — dark-leaning base and subtle accent options are acceptable, but exact colors are NOT prescribed here.
Instruction to designer/builder: Choose a refined, cohesive color palette that fits the Classic-Modern Luxury brief. Ensure all text and UI foregrounds meet WCAG contrast requirements (body text ≥ 4.5:1). Use accent color(s) sparingly for CTAs and micro-accents. Provide the final palette as design tokens and include accessible variants.
Provide a responsive design system (Figma + tokens). Typography: headings use a serif for elegance; body use a modern sans for readability. font-display: swap. Type scale: H1 desktop 56 / mobile 32, H2 desktop 40 / mobile 24, body 16px base, line-height 1.6. Spacing scale and radii should be included in tokens.
Imagery: hero background option = particle/starfield (SVG/canvas/WebGL). Provide images in AVIF/WebP/JPEG; responsive widths: [320,480,768,1024,1280,1600,1920]. OG image size: 1200×630.
Layout & responsiveness
Mobile-first approach. 12-column grid on desktop. Breakpoints: xs 320, sm 640, md 768, lg 1024, xl 1280, 2xl 1536. All elements must be customizable per breakpoint (font size, spacing, grid span, animation overrides). Provide a visual responsive editor in the builder with device previews for xs/sm/md/lg/xl/2xl and per-element property editors.
Pages & components
Deliver pages: Home, About, Services (Full-Stack, Mobile, AI/ML, DevOps), Projects / Case Studies (filterable), Blog, Careers, Contact, Docs (optional), Privacy, Terms, Accessibility. Components/patterns: sticky header (shrink-on-scroll), compact footer (newsletter), hero (headline, subheadline, 2 CTAs), services grid, project cards, case study template (Problem → Approach → Architecture → Tech Stack → Metrics → Screenshots → Testimonial → CTA), blog list & article template, forms (contact & job apply), Storybook UI kit.
Hero microcopy (example)
Headline: We engineer digital products that scale — SuperNova
Subheadline: From strategy to production: full-stack, mobile, AI-driven products, and rock-solid DevOps.
CTAs: Primary = Request a free consultation → /contact/ ; Secondary = See our work → /projects/
Animations & advanced graphics (FULL REQUIREMENT)
Provide a comprehensive animation system with per-element controls and presets. Multi-tech approach: Framer Motion (primary), GSAP (optional advanced sequences), Lottie / Rive (vector animations), Three.js / WebGL (hero/interactive visualizations). Key points:
Global settings: animations enabled on mobile by default, but respect prefers-reduced-motion; include a site control and cookie toggle (supernova_animations) allowing users to enable/disable animations. Provide a reduced-motion fallback (fade-only) and lightweight fallbacks for low-power devices.
Performance goal: target 60fps for interactions. If average FPS < 45 for 3s, automatically switch to low mode (opacity-only). Max concurrently animated elements on mobile: 3 (configurable). Hero WebGL only enabled if device passes hardware & FPS checks; otherwise use Lottie or static image fallback.
Animation types: entrance (fade/slide/scale on inView/onLoad), scroll-driven parallax/timeline, hover/focus microinteractions, looping decorative animations (subtle), SVG path draw/morph, Lottie interactive (seekable by scroll/input), optional WebGL shaders for hero only.
Presets library (include examples): fade-up, swipe-left, micro-bounce, parallax-slow, glow-pulse. Document exact easing/duration defaults and allow override.
Component animation schema: for each component allow fields: preset, trigger (onLoad, inView, scroll, hover, focus, manual), duration_ms, delay_ms, easing, intensity (0..1), loop, mobile_enabled, responsive_overrides (breakpoint map), performance_mode (auto/high/low), fallback_strategy.
Expose per-component/per-element animation controls in the builder UI and document presets in an Animation Guide.
Microinteraction default: hover scale ~1.02 with ~180ms duration and accessible touch equivalents (touch ripple). Provide reduced-motion toggle in settings and cookie panel.
Responsive customization
Every element must support per-breakpoint overrides for font_size, line_height, margin, padding, width, height, grid_span, and animation_override. Use CSS clamp/fluid spacing and responsive type scale tokens. Provide a UI that allows tuning duration, delay, easing, intensity, and enable/disable per breakpoint.
Tech stack & architecture
Frontend: Next.js (React) + TypeScript + TailwindCSS + Framer Motion (GSAP/Three.js optional). CMS: Sanity or Strapi or MDX for blog. Hosting: Vercel preferred (Netlify alternative). Image CDN: Cloudflare Images or Imgix. Search: Algolia or Elasticsearch. Email: SendGrid or Mailgun. Captcha: reCAPTCHA v3 or hCaptcha. Analytics: GA4 (server-side optional) and Plausible as privacy-friendly alternative.
SEO, metadata & structured data
Title template: {pageTitle} — SuperNova. Unique meta descriptions (≤160 chars) per page. OG + Twitter card (summary_large_image). Dynamic OG images generated for blog/projects (overlay title+slug).
JSON-LD: include Organization, WebSite (SearchAction), BreadcrumbList, Article/BlogPosting, and Project structured data (include measurable metrics).
URL slug pattern: /{type}/{slug}/. Enable canonical tags, hreflang for multilingual. Auto-generate sitemap.xml (weekly changefreq) and robots.txt (allow /, disallow /admin & /private).
Performance & acceptance metrics
Lighthouse targets (desktop & mobile): Performance ≥ 90, Accessibility ≥ 90, Best Practices ≥ 90, SEO ≥ 90. Budgets: initial JS ≤ 200 KB gzipped, total CSS ≤ 100 KB, font load ≤ 50 KB. Metrics targets: LCP < 2500 ms (mobile), FCP < 1500 ms, TBT < 200 ms, CLS < 0.1. Critical CSS for hero must be inlined. Use responsive images, AVIF/WebP, lazy loading, http2/QUIC, preconnect for fonts/CDN. Implement ISR for projects/blog and dynamic rendering for heavy interactive pages.
Accessibility (WCAG 2.1 AA)
lang attribute, skip-to-content link, visible focus styles, semantic HTML5 landmarks, ARIA only where necessary.
Color contrast: ensure body text meets ≥ 4.5:1. Touch targets ≥ 44px. Forms with labels and clear error messages. Keyboard navigation for all interactive elements. Default respects reduced-motion; allow user opt-in for richer animations.
Security & privacy
Security headers: HSTS (max-age=63072000; includeSubDomains; preload), initial CSP report-only then tighten, X-Frame-Options DENY, X-Content-Type-Options nosniff. GDPR cookie consent with granular analytics opt-out and animation consent toggle. Provide clear privacy & cookie policies and data retention info in admin.
DevOps, testing & observability
CI/CD: GitHub Actions (lint, test, build, preview, deploy). Preview deploys for PRs.
Tests: Unit (Jest + React Testing Library), E2E (Playwright) covering critical flows and animation toggles. Coverage target ≥ 80%. Include animation-specific tests: verify mobile_enabled flags, fallback triggers, FPS sampling behavior.
Monitoring: Sentry for errors; session replay opt-in (LogRocket or similar); external uptime checks.
Content & CMS models
Provide content schemas for Project, Blog, Team Member and deliver a sample set of entries. Project model must include metrics (label, value, unit) to enable structured data.
Deliverables
Figma design system with tokens and responsive components.
Production-ready Next.js repo in TypeScript with Tailwind, Storybook, tests, and README.
Animation Guide + presets doc.
SEO checklist, deployment runbook, and editor how-to.
Dynamic OG generator for blog/projects.
Acceptance criteria
Lighthouse targets met.
WCAG AA checks for key pages pass.
Animations active on mobile by default but user can opt-out; reduced-motion respected unless user explicitly opts-in.
System adaptively falls back to low-cost animations on low-performance devices.
Per-element responsive overrides available and functional in builder preview.
Hero WebGL only enabled after hardware checks; otherwise use Lottie/image fallback.
Animation presets documented and available in CMS/UI editor.
Notes for the builder
Provide reduced-motion toggle in the site settings and cookie panel.
Implement FPS sampling and adaptive animation complexity (auto mode).
Expose per-component animation controls in visual editor for fine-grain tuning per breakpoint.
Generate dynamic OG images with title+slug overlay for blog/projects.
Use ISR for projects/blog and dynamic rendering for heavy interactive pages.
Add A/B testing hooks for hero headline and CTA variations to measure conversion uplift.
- index.html +260 -17
|
@@ -1,19 +1,262 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
<
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
</div>
|
| 18 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
</html>
|
|
|
|
| 1 |
+
|
| 2 |
+
<!DOCTYPE html>
|
| 3 |
+
<html lang="fa-IR" dir="rtl">
|
| 4 |
+
<head>
|
| 5 |
+
<meta charset="utf-8">
|
| 6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 7 |
+
<title>صفحه اصلی — SuperNova</title>
|
| 8 |
+
<meta name="description" content="محصولات دیجیتالی مقیاسپذیر با فناوریهای نوین، استودیو نرمافزاری سوپرنوا">
|
| 9 |
+
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
| 10 |
+
<link rel="canonical" href="https://supernova.com/">
|
| 11 |
+
<link rel="alternate" hreflang="fa-IR" href="https://supernova.com/">
|
| 12 |
+
<link rel="alternate" hreflang="en" href="https://supernova.com/en/">
|
| 13 |
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 14 |
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| 15 |
+
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
|
| 16 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 17 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 18 |
+
<script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.iife.min.js"></script>
|
| 19 |
+
<script>
|
| 20 |
+
tailwind.config = {
|
| 21 |
+
theme: {
|
| 22 |
+
extend: {
|
| 23 |
+
colors: {
|
| 24 |
+
'deep-space': '#0B1020',
|
| 25 |
+
'surface': '#0F1724',
|
| 26 |
+
'muted': '#1F2937',
|
| 27 |
+
'text-primary': '#F8FAFC',
|
| 28 |
+
'text-secondary': '#CBD5E1',
|
| 29 |
+
'accent': '#FFD166',
|
| 30 |
+
'accent-secondary': '#7C5CFF',
|
| 31 |
+
'neural-blue': '#1e3a8a',
|
| 32 |
+
'cosmic-purple': '#7c3aed',
|
| 33 |
+
},
|
| 34 |
+
fontFamily: {
|
| 35 |
+
'serif': ['Playfair Display', 'serif'],
|
| 36 |
+
'sans': ['Inter', 'system-ui', 'sans-serif'],
|
| 37 |
+
},
|
| 38 |
+
spacing: {
|
| 39 |
+
'4': '4px',
|
| 40 |
+
'8': '8px',
|
| 41 |
+
'12': '12px',
|
| 42 |
+
'16': '16px',
|
| 43 |
+
'24': '24px',
|
| 44 |
+
'32': '32px',
|
| 45 |
+
'48': '48px',
|
| 46 |
+
'64': '64px',
|
| 47 |
+
},
|
| 48 |
+
}
|
| 49 |
+
}
|
| 50 |
+
}
|
| 51 |
+
</script>
|
| 52 |
+
<style>
|
| 53 |
+
html { scroll-behavior: smooth; }
|
| 54 |
+
body { font-family: Inter, system-ui, sans-serif; }
|
| 55 |
+
@supports (font-variation-settings: normal) {
|
| 56 |
+
body { font-family: InterVariable, system-ui, sans-serif; }
|
| 57 |
+
}
|
| 58 |
+
.hero-parallax-bg {
|
| 59 |
+
background: radial-gradient(ellipse at center, rgba(124, 92, 255, 0.1) 0%, transparent 50%),
|
| 60 |
+
radial-gradient(ellipse at 80% 20%, rgba(255, 209, 102, 0.08) 0%, transparent 30%);
|
| 61 |
+
}
|
| 62 |
+
.text-gradient { background: linear-gradient(135deg, #FFD166, #7C5CFF); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
|
| 63 |
+
</style>
|
| 64 |
+
</head>
|
| 65 |
+
<body class="bg-deep-space text-text-primary overflow-x-hidden">
|
| 66 |
+
<a href="#main" class="sr-only focus:not-sr-only">رفتن به محتوا</a>
|
| 67 |
+
|
| 68 |
+
<header class="fixed top-0 w-full z-50 bg-surface/80 backdrop-blur-md border-b border-muted/30 transition-all duration-300">
|
| 69 |
+
<nav class="container mx-auto px-4 md:px-6 py-4 flex items-center justify-between">
|
| 70 |
+
<a href="/" class="font-serif text-2xl font-bold text-accent">SuperNova</a>
|
| 71 |
+
<ul class="hidden md:flex items-center space-x-8" style="flex-direction: row-reverse;">
|
| 72 |
+
<li><a href="/#services" class="text-text-secondary hover:text-accent transition">خدمات</a></li>
|
| 73 |
+
<li><a href="/projects/" class="text-text-secondary hover:text-accent transition">پروژهها</a></li>
|
| 74 |
+
<li><a href="/blog/" class="text-text-secondary hover:text-accent transition">بلاگ</a></li>
|
| 75 |
+
<li><a href="/careers/" class="text-text-secondary hover:text-accent transition">همکاری</a></li>
|
| 76 |
+
<li><a href="/contact/" class="bg-accent text-deep-space px-4 py-2 rounded-lg hover:bg-opacity-90 transition">مشاوره</a></li>
|
| 77 |
+
</ul>
|
| 78 |
+
</nav>
|
| 79 |
+
</header>
|
| 80 |
+
|
| 81 |
+
<main id="main">
|
| 82 |
+
<section class="relative min-h-screen flex items-center justify-center overflow-hidden hero-parallax-bg">
|
| 83 |
+
<div class="absolute inset-0 z-0">
|
| 84 |
+
<canvas id="starfield" class="w-full h-full"></canvas>
|
| 85 |
+
</div>
|
| 86 |
+
|
| 87 |
+
<div class="container mx-auto px-4 text-center z-10">
|
| 88 |
+
<h1 class="font-serif text-5xl md:text-7xl font-bold mb-6 leading-tight">
|
| 89 |
+
ما محصولات دیجیتال مقیاسپذیر مهندسی میکنیم
|
| 90 |
+
<br><span class="text-gradient">— SuperNova</span>
|
| 91 |
+
</h1>
|
| 92 |
+
<p class="text-xl md:text-2xl text-text-secondary mb-10 max-w-3xl mx-auto">
|
| 93 |
+
از استراتژی تا تولید: محصولات فولاستک، موبایل، زیرساختی با هوش مصنوعی و DevOps باثبات
|
| 94 |
+
</p>
|
| 95 |
+
<div class="flex flex-col sm:flex-row gap-4 justify-center">
|
| 96 |
+
<a href="/contact/" class="bg-accent text-deep-space px-8 py-4 rounded-xl text-lg font-semibold hover:bg-opacity-90 transition transform hover:scale-105">
|
| 97 |
+
درخواست مشاوره رایگان
|
| 98 |
+
</a>
|
| 99 |
+
<a href="/projects/" class="border border-accent text-accent px-8 py-4 rounded-xl text-lg hover:bg-accent hover:text-deep-space transition">
|
| 100 |
+
مشاهده نمونه کارها
|
| 101 |
+
</a>
|
| 102 |
+
</div>
|
| 103 |
+
</div>
|
| 104 |
+
</section>
|
| 105 |
+
|
| 106 |
+
<section id="services" class="py-20 md:py-32 bg-surface">
|
| 107 |
+
<div class="container mx-auto px-4">
|
| 108 |
+
<h2 class="font-serif text-4xl md:text-5xl font-bold text-center mb-16">خدمات ما برای مقیاس جهانی</h2>
|
| 109 |
+
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-8">
|
| 110 |
+
<div class="glow-card bg-surface border border-muted rounded-2xl p-8 hover:border-accent transition">
|
| 111 |
+
<div class="w-16 h-16 bg-gradient-to-br from-accent to-accent-secondary rounded-xl mb-6"></div>
|
| 112 |
+
<h3 class="text-xl font-semibold mb-3">فولاستک وب</h3>
|
| 113 |
+
<p class="text-text-secondary">معماری میکروسرویس، API طراحی و توسعه پایدار</p>
|
| 114 |
+
</div>
|
| 115 |
+
<div class="glow-card bg-surface border border-muted rounded-2xl p-8 hover:border-accent transition">
|
| 116 |
+
<div class="w-16 h-16 bg-gradient-to-br from-cosmic-purple to-blue-500 rounded-xl mb-6"></div>
|
| 117 |
+
<h3 class="text-xl font-semibold mb-3">موبایل</h3>
|
| 118 |
+
<p class="text-text-secondary">React Native and Flutter for cross-platform products</p>
|
| 119 |
+
</div>
|
| 120 |
+
<div class="glow-card bg-surface border border-muted rounded-2xl p-8 hover:border-accent transition">
|
| 121 |
+
<div class="w-16 h-16 bg-gradient-to-br from-neural-blue to-purple-500 rounded-xl mb-6"></div>
|
| 122 |
+
<h3 class="text-xl font-semibold mb-3">هوش مصنوعی</h3>
|
| 123 |
+
<p class="text-text-secondary">پردازش تصویر، NLP مدلسازی و deployment MLOps</p>
|
| 124 |
+
</div>
|
| 125 |
+
<div class="glow-card bg-surface border border-muted rounded-2xl p-8 hover:border-accent transition">
|
| 126 |
+
<div class="w-16 h-16 bg-gradient-to-br from-green-500 to-teal-500 rounded-xl mb-6"></div>
|
| 127 |
+
<h3 class="text-xl font-semibold mb-3">DevOps</h3>
|
| 128 |
+
<p class="text-text-secondary">Kubernetes، CI/CD، monitoring و automated backup</p>
|
| 129 |
+
</div>
|
| 130 |
+
</div>
|
| 131 |
+
</div>
|
| 132 |
+
</section>
|
| 133 |
+
|
| 134 |
+
<section class="py-20 md:py-32">
|
| 135 |
+
<div class="container mx-auto px-4">
|
| 136 |
+
<div class="text-center mb-16">
|
| 137 |
+
<h2 class="font-serif text-4xl md:text-5xl font-bold mb-6">موفقیتهای قابلاندازهگیری</h2>
|
| 138 |
+
<p class="text-xl text-text-secondary max-w-2xl mx-auto">نتایج واقعی برای شرکتهای پیشرو</p>
|
| 139 |
+
</div>
|
| 140 |
+
<div class="grid md:grid-cols-3 gap-8">
|
| 141 |
+
<div class="text-center">
|
| 142 |
+
<div class="text-5xl font-bold text-accent mb-2" data-animate="counter">×۳۰</div>
|
| 143 |
+
<p class="text-text-secondary">بازده عملکرد برای finTech</p>
|
| 144 |
+
</div>
|
| 145 |
+
<div class="text-center">
|
| 146 |
+
<div class="text-5xl font-bold text-accent mb-2" data-animate="counter">۹۹.۹%</div>
|
| 147 |
+
<p class="text-text-secondary">uptime DevOps پلتفرم</p>
|
| 148 |
+
</div>
|
| 149 |
+
<div class="text-center">
|
| 150 |
+
<div class="text-5xl font-bold text-accent mb-2" data-animate="counter">۵۰۰K+</div>
|
| 151 |
+
<p class="text-text-secondary">کاربر موبایل برای e-commerce</p>
|
| 152 |
+
</div>
|
| 153 |
+
</div>
|
| 154 |
+
</div>
|
| 155 |
+
</section>
|
| 156 |
+
</main>
|
| 157 |
+
|
| 158 |
+
<footer class="bg-surface border-t border-muted/30 py-16">
|
| 159 |
+
<div class="container mx-auto px-4">
|
| 160 |
+
<div class="text-center">
|
| 161 |
+
<h3 class="font-serif text-2xl mb-8">آماده برای ساختن چیزی بینظیر؟</h3>
|
| 162 |
+
<div class="max-w-md mx-auto">
|
| 163 |
+
<form class="flex gap-4">
|
| 164 |
+
<input type="email" placeholder="your@email.com" class="flex-1 bg-muted rounded-lg px-4 py-3 text-text-secondary focus:outline-none focus:ring-2 focus:ring-accent">
|
| 165 |
+
<button type="submit" class="bg-accent text-deep-space px-6 py-3 rounded-lg hover:bg-opacity-90 transition">عضویت</button>
|
| 166 |
+
</form>
|
| 167 |
+
</div>
|
| 168 |
+
<div class="mt-8 pt-8 border-t border-muted/50 text-text-secondary">
|
| 169 |
+
<p>© 2024 SuperNova Studio - همه حقوق محفوظ است</p>
|
| 170 |
+
<div class="mt-4 space-x-4" style="flex-direction: row-reverse;">
|
| 171 |
+
<a href="/privacy/" class="hover:text-accent transition">حریمخصوصی</a>
|
| 172 |
+
<a href="/terms/" class="hover:text-accent transition">شرایط استفاده</a>
|
| 173 |
+
</div>
|
| 174 |
+
</div>
|
| 175 |
+
</div>
|
| 176 |
</div>
|
| 177 |
+
</footer>
|
| 178 |
+
|
| 179 |
+
<script>
|
| 180 |
+
// Starfield animation
|
| 181 |
+
const canvas = document.getElementById('starfield');
|
| 182 |
+
const ctx = canvas.getContext('2d');
|
| 183 |
+
let stars = [];
|
| 184 |
+
|
| 185 |
+
function resizeCanvas() {
|
| 186 |
+
canvas.width = window.innerWidth;
|
| 187 |
+
canvas.height = window.innerHeight;
|
| 188 |
+
initStars();
|
| 189 |
+
}
|
| 190 |
+
|
| 191 |
+
function initStars() {
|
| 192 |
+
stars = [];
|
| 193 |
+
for (let i = 0; i < 150; i++) {
|
| 194 |
+
stars.push({
|
| 195 |
+
x: Math.random() * canvas.width,
|
| 196 |
+
y: Math.random() * canvas.height,
|
| 197 |
+
size: Math.random() * 1.5 + 0.5,
|
| 198 |
+
speed: Math.random() * 0.5 + 0.1
|
| 199 |
+
});
|
| 200 |
+
}
|
| 201 |
+
}
|
| 202 |
+
|
| 203 |
+
function animateStars() {
|
| 204 |
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
| 205 |
+
ctx.fillStyle = 'rgba(255, 255, 255, 0.8)';
|
| 206 |
+
|
| 207 |
+
stars.forEach(star => {
|
| 208 |
+
ctx.beginPath();
|
| 209 |
+
ctx.arc(star.x, star.y, star.size, 0, Math.PI * 2);
|
| 210 |
+
ctx.fill();
|
| 211 |
+
|
| 212 |
+
star.y += star.speed;
|
| 213 |
+
if (star.y > canvas.height) {
|
| 214 |
+
star.y = 0;
|
| 215 |
+
star.x = Math.random() * canvas.width;
|
| 216 |
+
}
|
| 217 |
+
});
|
| 218 |
+
|
| 219 |
+
requestAnimationFrame(animateStars);
|
| 220 |
+
}
|
| 221 |
+
|
| 222 |
+
resizeCanvas();
|
| 223 |
+
animateStars();
|
| 224 |
+
window.addEventListener('resize', resizeCanvas);
|
| 225 |
+
|
| 226 |
+
// Counter animation
|
| 227 |
+
const counters = document.querySelectorAll('[data-animate="counter"]');
|
| 228 |
+
const observer = new IntersectionObserver((entries) => {
|
| 229 |
+
entries.forEach(entry => {
|
| 230 |
+
if (entry.isIntersecting) {
|
| 231 |
+
anime({
|
| 232 |
+
targets: entry.target,
|
| 233 |
+
innerHTML: [0, entry.target.innerHTML],
|
| 234 |
+
easing: 'easeOutExpo',
|
| 235 |
+
duration: 2000,
|
| 236 |
+
round: 1
|
| 237 |
+
});
|
| 238 |
+
observer.unobserve(entry.target);
|
| 239 |
+
}
|
| 240 |
+
});
|
| 241 |
+
});
|
| 242 |
+
counters.forEach(counter => observer.observe(counter));
|
| 243 |
+
|
| 244 |
+
// Header scroll effect
|
| 245 |
+
window.addEventListener('scroll', () => {
|
| 246 |
+
const header = document.querySelector('header');
|
| 247 |
+
if (window.scrollY > 100) {
|
| 248 |
+
header.classList.add('py-2');
|
| 249 |
+
} else {
|
| 250 |
+
header.classList.remove('py-2');
|
| 251 |
+
}
|
| 252 |
+
});
|
| 253 |
+
|
| 254 |
+
// Animation toggle
|
| 255 |
+
if (localStorage.getItem('supernova_animations') === 'false') {
|
| 256 |
+
document.body.classList.add('reduce-motion');
|
| 257 |
+
}
|
| 258 |
+
</script>
|
| 259 |
+
|
| 260 |
+
<script>feather.replace()</script>
|
| 261 |
+
</body>
|
| 262 |
</html>
|