From 48bdfc06b385bed7d53db95918a404fd7ab2a5db Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 30 Jun 2026 20:36:37 +0000 Subject: [PATCH] chore: format with prettier [skip ci] --- .../landing/components/LandingFeatures.tsx | 82 ++++++++++--------- .../src/landing/components/LandingHero.tsx | 62 ++++++++------ .../src/landing/components/LandingNav.tsx | 19 ++--- .../landing/components/LandingSocialProof.tsx | 53 ++++++------ frontend/src/landing/styles/globals.css | 7 +- 5 files changed, 120 insertions(+), 103 deletions(-) diff --git a/frontend/src/landing/components/LandingFeatures.tsx b/frontend/src/landing/components/LandingFeatures.tsx index 10ca032b8..790e294d2 100644 --- a/frontend/src/landing/components/LandingFeatures.tsx +++ b/frontend/src/landing/components/LandingFeatures.tsx @@ -210,43 +210,46 @@ export function LandingFeatures() { [feedbackId], ); - useGSAP(() => { - // Desktop: pin the section so the viewport locks onto it, then advance - // through the four features (text + mockup crossfade) as you scroll, with a - // snap to each one. The pin owns a defined scroll region, so the layout and - // every trigger below stays stable. Mobile renders the features stacked. - const mm = gsap.matchMedia(); + useGSAP( + () => { + // Desktop: pin the section so the viewport locks onto it, then advance + // through the four features (text + mockup crossfade) as you scroll, with a + // snap to each one. The pin owns a defined scroll region, so the layout and + // every trigger below stays stable. Mobile renders the features stacked. + const mm = gsap.matchMedia(); - mm.add("(min-width: 1024px)", () => { - const st = ScrollTrigger.create({ - trigger: pinRef.current, - pin: true, - start: "top top", - // Short, snappy travel between features (~0.6 viewport each) instead - // of a full screen of scrolling per switch. - end: () => "+=" + window.innerHeight * 1.8, - anticipatePin: 1, - invalidateOnRefresh: true, - snap: { - snapTo: [0, 1 / 3, 2 / 3, 1], - duration: { min: 0.25, max: 0.5 }, - delay: 0.05, - ease: "power2.inOut", - }, - onUpdate: (self) => { - const idx = Math.min(3, Math.round(self.progress * 3)); - if (idx !== activeRef.current) { - activeRef.current = idx; - setActive(idx); - } - }, + mm.add("(min-width: 1024px)", () => { + const st = ScrollTrigger.create({ + trigger: pinRef.current, + pin: true, + start: "top top", + // Short, snappy travel between features (~0.6 viewport each) instead + // of a full screen of scrolling per switch. + end: () => "+=" + window.innerHeight * 1.8, + anticipatePin: 1, + invalidateOnRefresh: true, + snap: { + snapTo: [0, 1 / 3, 2 / 3, 1], + duration: { min: 0.25, max: 0.5 }, + delay: 0.05, + ease: "power2.inOut", + }, + onUpdate: (self) => { + const idx = Math.min(3, Math.round(self.progress * 3)); + if (idx !== activeRef.current) { + activeRef.current = idx; + setActive(idx); + } + }, + }); + + return () => st.kill(); }); - return () => st.kill(); - }); - - return () => mm.revert(); - }, { scope: containerRef }); + return () => mm.revert(); + }, + { scope: containerRef }, + ); // Fluid swap between features: outgoing fades out while the incoming text // rises line-by-line and the mockup settles in with a soft scale. Runs on @@ -337,8 +340,8 @@ export function LandingFeatures() {

- Your agents stay native terminal tools. AO standardizes launch, restore, hooks, and PR ownership through one - adapter contract. + Your agents stay native terminal tools. AO standardizes launch, restore, hooks, and PR ownership through + one adapter contract.

@@ -418,9 +421,10 @@ function FeatureNarrative({ worker, orchestrator }: { worker: AgentHarness; orch meta="23 harnesses" >

- Run {worker.name}, {orchestrator.name}, Cursor, - or Aider unchanged. AO standardizes the workflow around them — restore, prompts, hooks, and - ownership — so you can pick one agent to write and another to supervise. + Run {worker.name}, {orchestrator.name}, Cursor, or + Aider unchanged. AO standardizes the workflow around them —{" "} + restore, prompts, hooks, and ownership — so you can pick one agent to write and + another to supervise.

); diff --git a/frontend/src/landing/components/LandingHero.tsx b/frontend/src/landing/components/LandingHero.tsx index 936a005a0..d52b01bd6 100644 --- a/frontend/src/landing/components/LandingHero.tsx +++ b/frontend/src/landing/components/LandingHero.tsx @@ -555,30 +555,36 @@ function SessionDot({ zone }: { zone: string }) { export function LandingHero() { const containerRef = useRef(null); - useGSAP(() => { - const ctx = gsap.context(() => { - const tl = gsap.timeline({ defaults: { ease: "power4.out" } }); - - // Initial state - gsap.set(".gsap-reveal", { y: 40, opacity: 0 }); - gsap.set(".gsap-scale", { scale: 0.95, opacity: 0 }); + useGSAP( + () => { + const ctx = gsap.context(() => { + const tl = gsap.timeline({ defaults: { ease: "power4.out" } }); - tl.to(".gsap-reveal", { - y: 0, - opacity: 1, - duration: 1.2, - stagger: 0.15, - }) - .to(".gsap-scale", { - scale: 1, - opacity: 1, - duration: 1.2, - ease: "elastic.out(1, 0.75)" - }, "-=0.8"); - }, containerRef); + // Initial state + gsap.set(".gsap-reveal", { y: 40, opacity: 0 }); + gsap.set(".gsap-scale", { scale: 0.95, opacity: 0 }); - return () => ctx.revert(); - }, { scope: containerRef }); + tl.to(".gsap-reveal", { + y: 0, + opacity: 1, + duration: 1.2, + stagger: 0.15, + }).to( + ".gsap-scale", + { + scale: 1, + opacity: 1, + duration: 1.2, + ease: "elastic.out(1, 0.75)", + }, + "-=0.8", + ); + }, containerRef); + + return () => ctx.revert(); + }, + { scope: containerRef }, + ); return (
Star on GitHub - - + + 7.7k @@ -646,7 +658,7 @@ export function LandingHero() {
- +
diff --git a/frontend/src/landing/components/LandingNav.tsx b/frontend/src/landing/components/LandingNav.tsx index 7448f4de6..2c6add3d6 100644 --- a/frontend/src/landing/components/LandingNav.tsx +++ b/frontend/src/landing/components/LandingNav.tsx @@ -132,16 +132,16 @@ export function LandingNav() { }, []); return ( -
-
+
- + Agent Orchestrator -
@{post.handle}
diff --git a/frontend/src/landing/styles/globals.css b/frontend/src/landing/styles/globals.css index b86460bcd..60bf6cb2a 100644 --- a/frontend/src/landing/styles/globals.css +++ b/frontend/src/landing/styles/globals.css @@ -130,7 +130,11 @@ body::-webkit-scrollbar, min-height: 100vh; background: var(--bg); color: var(--fg); - font-family: var(--font-inter), -apple-system, system-ui, sans-serif; + font-family: + var(--font-inter), + -apple-system, + system-ui, + sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @@ -979,4 +983,3 @@ body::-webkit-scrollbar, transform-box: fill-box; animation: landing-graph-pulse 1.5s ease-out infinite; } -