Skip to content

feat(website): landing page redesign — CSS, components, animations - #171

Merged
ajianaz merged 6 commits into
developfrom
feat/landing-page-redesign
Jun 6, 2026
Merged

ajianaz merged 6 commits into
developfrom
feat/landing-page-redesign

Conversation

@ajianaz

@ajianaz ajianaz commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Complete landing page overhaul addressing 3 issues:

Closes #168 — Missing CSS

  • Added 25+ CSS classes for all landing page component classes
  • Section layouts, glass cards, terminal blocks, syntax highlighting
  • Buttons, badges, timeline steps, comparison table, animations
  • All using oklch design system variables

Closes #169 — Component Extraction

  • Extracted monolithic 558-line +page.svelte into 11 Svelte 5 components
  • 4 reusable building blocks: TerminalBlock, FeatureCard, StepCard, TimelineStep
  • 7 section components: Hero, KPI, LiveDemo, HowItWorks, FeatureGrid, ComparisonTable, QuickStart
  • +page.svelte reduced to 55 lines
  • Added @lucide/svelte for icon system (GitHub logo kept as inline SVG)

Closes #170 — Animations & Micro-interactions

  • Scroll reveal: fade-in-up on intersection via IntersectionObserver
  • Hero cascade: badge → headline → subtitle → terminal → CTAs (100ms stagger)
  • Terminal typing: line-by-line with color coding
  • Feature cards: staggered entrance via transition-delay
  • Comparison table: row-by-row stagger (60ms per row)
  • Timeline numbers: pulse glow animation
  • prefers-reduced-motion: all animations disabled
  • Smooth scrolling via scroll-behavior: smooth
  • Pure CSS + IO, no animation library

Test Plan

  • npm run build passes ✅
  • Visual QA on preview deployment
  • Verify animations on Chrome, Firefox, Safari
  • Verify prefers-reduced-motion disables animations
  • Lighthouse Performance ≥ 90

@github-actions

github-actions Bot commented Jun 5, 2026 •

Copy link
Copy Markdown

🔍 Cora AI Code Review

⚠️ Review could not complete. Cora produced an empty result. Check the workflow logs for errors.


Review powered by cora-cli · BYOK · MIT

Zeko (Hermes) added 6 commits June 6, 2026 00:17
…tor)

- Install bits-ui, tailwind-variants, tailwind-merge, clsx, lucide-svelte
- Generate shadcn components: Button, Badge, Card, Separator
- Add cn() utility in $lib/utils.ts
- Style: vega (dark theme compatible)

Refs: #168, #169, #170
Adds 25+ CSS classes used by +page.svelte landing page template:
- Section layouts: .section, .section-hero, .section-compact, .section-tall
- Glass card with backdrop blur and hover glow
- Feature icon, connect line, timeline steps
- Landing buttons: .btn-primary (glow hover), .btn-ghost (border hover)
- Badges: .accent-badge, .badge-dot
- Terminal internals: .terminal, .terminal-header, .terminal-body, .terminal-title
- Terminal dots: .terminal-dot, .terminal-dot-red/yellow/green
- Syntax highlighting: .syntax-cmd, .syntax-flag, .syntax-highlight, .syntax-string
- UI helpers: .typing-cursor, .copy-btn (reveal on hover)
- Comparison table: .cora-col, .symbol-check, .symbol-cross
- Animations: .animate-fade-in-up, .delay-*, .scroll-reveal with .revealed state

All classes use oklch design system variables. Docs CSS untouched.
Respects prefers-reduced-motion.

Closes #168
Extract monolithic 558-line +page.svelte into 11 reusable components:

Reusable:
- TerminalBlock: shared terminal chrome (header + dots + body + copy)
- FeatureCard: glass card with icon, title, accent, description
- StepCard: numbered step card for How It Works
- TimelineStep: numbered timeline item with optional terminal snippet

Sections:
- HeroSection: badge, gradient headline, install terminal, CTAs
- KpiStats: 3 glass metric cards
- LiveDemo: terminal with typing animation (self-contained state)
- HowItWorks: 3 steps with connectors
- FeatureGrid: 9 feature cards in responsive grid
- ComparisonTable: vs CodeRabbit/Copilot/SonarQube
- QuickStart: 4 timeline steps + CTA + footer

- +page.svelte reduced to 47 lines (imports + composition)
- Replaced inline SVGs with @lucide/svelte icons (ArrowRight, Star, etc.)
- GitHub logo kept as inline SVG (trademark)
- All components use Svelte 5 runes ($state, $props, $effect)
- Animation logic preserved (IntersectionObserver for scroll-reveal)

Also adds @lucide/svelte dependency.

Closes #169
Adds animation enhancements for all landing page sections:

- Scroll reveal: fade-in-up on intersection (already existed, refined)
- Hero cascade: badge → headline → subtitle → terminal → CTAs (100ms steps)
- Terminal typing: line-by-line fade-in with color coding
- Feature cards: staggered entrance via [transition-delay] on grid items
- Comparison table: row-by-row stagger animation (60ms per row)
- Timeline numbers: pulse glow animation on reveal
- Smooth scrolling: html { scroll-behavior: smooth }
- prefers-reduced-motion: all animations disabled, scroll-behavior: auto

Pure CSS transitions + IntersectionObserver. No JS animation library.

Closes #170
- diff_parser.rs: use caps.get(N) for optional capture groups (fixes #159)
- schema.rs: default max_diff_size 50KB → 5MB
- init.rs: update template to 5MB default
- closes #149 (max diff limit)
…sue links

- Fix WithElementRef missing from utils.ts (shadcn-svelte vega compat)
- Fix lucide-svelte to @lucide/svelte type imports (Icon not default)
- Fix HTMLElement vs HTMLDivElement type mismatch in LiveDemo
- Rewrite roadmap page: linked to GitHub issues (like uteke pattern)
- Rebased on develop to resolve merge conflicts
@ajianaz
ajianaz force-pushed the feat/landing-page-redesign branch from e9ce3ac to 411266a Compare June 6, 2026 00:24
@ajianaz
ajianaz merged commit c7d9e11 into develop Jun 6, 2026
10 of 11 checks passed
@ajianaz
ajianaz deleted the feat/landing-page-redesign branch June 6, 2026 00:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant