From 2e79f8d8b8fc2a08b8332d6a1d94f9e94a775681 Mon Sep 17 00:00:00 2001 From: bashybaranaba Date: Sun, 23 Aug 2026 23:07:12 +0300 Subject: [PATCH] Size the landing page to the studio composer The composer now matches ChatInputBox exactly: same rounded-2xl chrome, same stone-300 border, same h-16 input area and compact icon footer. The box a visitor sees on the way in is the box they get once they are inside. Both the composer and the carousel take the studio's own max-w-[46rem] measure, down from 52rem, and the headline, card and copy all step down a notch with them, so the main view reads a little tighter. The model picker moves to a current flagship per provider: GPT-5.5, Claude Opus 5, Gemini 3 Pro, Mistral Large. The CLI slide advertises gpt-5.5 to match. Note that the backend model registry still lists Claude Opus 4.6 and Gemini 2.5 Pro as its newest Anthropic and Google entries, so it needs the same update for the page to match what an agent can actually be set to. The card's call to action reads "Get started". Co-Authored-By: Claude Opus 5 --- apps/commons-app/app/page.tsx | 6 ++--- .../components/landing/developer-visual.tsx | 4 ++-- .../components/landing/feature-carousel.tsx | 14 +++++------ .../components/landing/hero-composer.tsx | 23 +++++++++++-------- .../components/landing/models-visual.tsx | 19 ++++++++------- 5 files changed, 34 insertions(+), 32 deletions(-) diff --git a/apps/commons-app/app/page.tsx b/apps/commons-app/app/page.tsx index 29116869..5b2be14b 100644 --- a/apps/commons-app/app/page.tsx +++ b/apps/commons-app/app/page.tsx @@ -74,7 +74,7 @@ export default function Home() {
-

+

One home for all your{" "} agents @@ -82,13 +82,13 @@ export default function Home() { .

-
+
{/* The composer closes the page: the last thing a visitor sees is the box they would type into once they are inside. */} -
+
diff --git a/apps/commons-app/components/landing/developer-visual.tsx b/apps/commons-app/components/landing/developer-visual.tsx index fe8aee34..edb88386 100644 --- a/apps/commons-app/components/landing/developer-visual.tsx +++ b/apps/commons-app/components/landing/developer-visual.tsx @@ -20,7 +20,7 @@ export function DeveloperVisual() {

agc agents create --name - Scout --model gpt-5.4 + Scout --model gpt-5.5

@@ -30,7 +30,7 @@ export function DeveloperVisual() { Name Scout Model - gpt-5.4 + gpt-5.5

diff --git a/apps/commons-app/components/landing/feature-carousel.tsx b/apps/commons-app/components/landing/feature-carousel.tsx index cf77d6ac..a19d7c08 100644 --- a/apps/commons-app/components/landing/feature-carousel.tsx +++ b/apps/commons-app/components/landing/feature-carousel.tsx @@ -214,7 +214,7 @@ function StartButton() { return ( @@ -272,13 +272,13 @@ export function FeatureCarousel() { if (event.key === "ArrowLeft") go(index - 1); }} > -

+
{SLIDES.map((slide, i) => (
@@ -293,17 +293,17 @@ export function FeatureCarousel() { )}
-
+
{/* Fixed height, so the button lands on the same line no matter how long the headline and description run. */} -
+

{slide.eyebrow}

-

+

{slide.title}

-

+

{slide.body}

diff --git a/apps/commons-app/components/landing/hero-composer.tsx b/apps/commons-app/components/landing/hero-composer.tsx index 663f64e7..93a37b4b 100644 --- a/apps/commons-app/components/landing/hero-composer.tsx +++ b/apps/commons-app/components/landing/hero-composer.tsx @@ -17,6 +17,9 @@ const PROMPTS = [ * The hero's centerpiece: a replica of the in-app composer that types out * example prompts on a loop. Any interaction routes to sign-in and drops the * visitor straight into the studio. + * + * Sizing and chrome track ChatInputBox exactly, so the box a visitor sees here + * is the box they get once they are inside. */ export function HeroComposer() { const router = useRouter(); @@ -65,26 +68,26 @@ export function HeroComposer() { type="button" onClick={start} aria-label="Start a session on Agent Commons" - className="group block w-full cursor-text rounded-[1.35rem] border border-stone-300 bg-white text-left shadow-composer transition-all hover:-translate-y-0.5 hover:border-stone-400 hover:shadow-floating" + className="group relative block w-full cursor-text rounded-2xl border border-stone-300 bg-white text-left shadow-composer transition-colors hover:border-stone-400" > -
+
{text} - +
-
-
- +
+
+ - + - - + + Auto
- +
diff --git a/apps/commons-app/components/landing/models-visual.tsx b/apps/commons-app/components/landing/models-visual.tsx index 82bcc6fa..cdd1f87c 100644 --- a/apps/commons-app/components/landing/models-visual.tsx +++ b/apps/commons-app/components/landing/models-visual.tsx @@ -2,15 +2,14 @@ import { Check } from "lucide-react"; import { BrandLogo } from "@/components/landing/brand-logo"; /** - * The model picker exactly as an agent's settings present it, the clearest - * way to say "swap the model, keep the agent". Model ids are the platform's - * own provider defaults. + * The model picker exactly as an agent's settings present it, the clearest way + * to say "swap the model, keep the agent". One current flagship per provider. */ const MODELS = [ - { logo: "openai-icon", id: "gpt-5.4-mini", provider: "OpenAI" }, - { logo: "claude-icon", id: "claude-sonnet-4-6", provider: "Anthropic" }, - { logo: "google-gemini", id: "gemini-2.0-flash", provider: "Google" }, - { logo: "mistral-ai-icon", id: "mistral-large-latest", provider: "Mistral" }, + { logo: "openai-icon", name: "GPT-5.5", provider: "OpenAI" }, + { logo: "claude-icon", name: "Claude Opus 5", provider: "Anthropic" }, + { logo: "google-gemini", name: "Gemini 3 Pro", provider: "Google" }, + { logo: "mistral-ai-icon", name: "Mistral Large", provider: "Mistral" }, ]; const SELECTED = 1; @@ -23,7 +22,7 @@ export function ModelsVisual() {
{MODELS.map((model, i) => (
- - {model.id} + + {model.name} {model.provider}