Files
wehub-resource-sync d25d482dc2
CI / Migrate Dev DB (push) Has been skipped
CI / Detect Version (push) Has been cancelled
CI / Migrate DB (push) Has been cancelled
CI / Build Dev ECR (./docker/app.Dockerfile, ECR_APP) (push) Has been cancelled
CI / Build Dev ECR (./docker/db.Dockerfile, ECR_MIGRATIONS) (push) Has been cancelled
CI / Build Dev ECR (./docker/pii.Dockerfile, ECR_PII) (push) Has been cancelled
CI / Build Dev ECR (./docker/realtime.Dockerfile, ECR_REALTIME) (push) Has been cancelled
CI / Deploy Trigger.dev (Dev) (push) Has been cancelled
CI / Build AMD64 (./docker/app.Dockerfile, ECR_APP, ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Build AMD64 (./docker/db.Dockerfile, ECR_MIGRATIONS, ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Build AMD64 (./docker/pii.Dockerfile, ECR_PII, ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Build AMD64 (./docker/realtime.Dockerfile, ECR_REALTIME, ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/app.Dockerfile, ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/db.Dockerfile, ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/pii.Dockerfile, ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/realtime.Dockerfile, ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Check Docs Changes (push) Has been cancelled
CI / Process Docs (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
CI / Test and Build (push) Has been cancelled
Publish CLI Package / publish-npm (push) Has been cancelled
Publish Python SDK / publish-pypi (push) Has been cancelled
Publish TypeScript SDK / publish-npm (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:20:55 +08:00

72 lines
3.9 KiB
TypeScript

import { TrustedBy } from '@/app/(landing)/components/trusted-by'
import { DemoBooking } from '@/app/(landing)/demo/components/demo-booking'
/**
* Book-a-demo page - mirrors the hero's two-column split, but with in-flow
* content (not absolute panels) and a content-height right card.
*
* The section is a two-column CSS grid capped and centered at the shared
* `max-w-[1460px]` with the navbar-aligned `px-20` gutter, so the headline starts
* on the same vertical line as the wordmark. The desktop split is
* `xl:grid-cols-2` with `xl:gap-x-0` - the columns split at the exact horizontal
* center, so the right booking card occupies the same rectangle as the hero's
* right visual panel: its left edge on the center line, its right edge on the
* `px-20` gutter. The card is also inset from the section's top and bottom by 32px
* (`xl:pt-8`/`xl:pb-8`), matching the hero panel's `top-8`/`bottom-8`. The booking
* card spans both rows (`xl:row-span-2`) and its content drives the column
* height - the left column stretches to match, so the logos bottom-anchor to the
* card's lower edge. There is no fixed viewport height, so the card never clips
* and sits at its natural height, level with the hero card.
*
* Three grid children, ordered in the DOM as headline → booking → logos so the
* COLLAPSE below `xl` (single column) yields the best mobile reading order:
* value proposition first, the conversion card immediately after it, then the
* customer logos as reinforcing social proof. On desktop the headline cell adds
* `xl:pt-[80px]` so its text sits on the hero's `pt-[112px]` line (32px section
* inset + 80px), while the booking card top stays on the higher `top-8` line -
* just like the hero, whose visual panel rises above the headline. The customer
* proof reuses the shared {@link TrustedBy} block (the same label + logo grid the
* hero uses), bottom-anchored (`xl:row-start-2 xl:self-end`) so it rests on the
* card's lower edge. Below `xl` it stacks; the gutter follows the navbar
* convention (`px-20 max-lg:px-8 max-sm:px-5`) so the headline stays on the
* wordmark line, and `max-sm` drops to the smallest type scale.
*
* Carries an sr-only product summary for AI citation (landing CLAUDE.md → GEO).
*/
export default function Demo() {
return (
<main id='main-content'>
<section
id='demo'
aria-labelledby='demo-heading'
className='mx-auto grid w-full max-w-[1460px] grid-cols-1 gap-y-10 px-20 pt-20 pb-24 max-sm:gap-y-8 max-sm:px-5 max-sm:pt-16 max-sm:pb-16 max-lg:px-8 xl:grid-cols-2 xl:grid-rows-[auto_1fr] xl:gap-x-0 xl:pt-8 xl:pb-8'
>
<div className='flex flex-col gap-5 xl:col-start-1 xl:row-start-1 xl:self-start xl:pt-[80px]'>
<p className='sr-only'>
Operationalize AI with Sim, the AI agent workspace where teams build, deploy, and manage
AI agents and workflows. A Sim specialist walks your team through building agents that
automate real work across 1,000+ integrations and every major LLM, visually,
conversationally, or with code.
</p>
<h1
id='demo-heading'
className='text-balance text-[48px] text-[var(--text-primary)] leading-[1.1] max-sm:text-[32px] max-xl:text-wrap max-xl:text-[40px] [&>br]:max-xl:hidden'
>
Operationalize AI with Sim, <br />
the AI agent workspace.
</h1>
<p className='max-w-[46ch] text-pretty text-[var(--text-body)] text-lg leading-[1.5] max-sm:text-base'>
Tell us what you're working on and we'll show you how teams use Sim to build, deploy,
and manage AI agents and workflows visually, conversationally, or with code.
</p>
</div>
<DemoBooking className='xl:col-start-2 xl:row-span-2 xl:row-start-1' />
<TrustedBy className='xl:col-start-1 xl:row-start-2 xl:self-end' />
</section>
</main>
)
}