Files
twenty/packages/twenty-website/src/client-brief/wizard/ClientBriefSuccess.tsx
T
Rashad Karanouh ccbd3b6c46 Client brief wizard — /partners/brief (#22291)
## Brief — website (Release ① of the brief + glowup rollout)

Public client-brief wizard at `/partners/brief`, plus the marketplace
entry points (match-me card, brief prompt/link, brief CTAs across
partner surfaces).

**Backend already shipped:** the `submit-client-brief` logic function
merged in #22290 (v1.2.0) and is live in prod, so this PR is
**website-only** and needs no app deploy.

Rebased onto current `main` (was ~341 commits behind); lint + format
pass locally, typecheck/tests via CI.

### Release sequence (do not break)
1. **① Brief website — THIS PR.** Independent; backend already live in
prod. → merge → website deploy.
2. **② Glowup app → prod** (#22470). Rebase onto `main` (SDK 2.21),
apply deterministic-id handling, bump 1.2.10 → 1.3.0, `deploy` +
`install` on `partner-twenty-com`, set new app variables, refresh
partners-doc. **This is the gate for ③.**
3. **③ Glowup website** (#22471) — only **after ② is LIVE on prod** (it
reads the new partner links / services / case-study objects). → merge →
website deploy.
4. Reconcile #22637 (partners-traffic-web) with ③ — both touch
`partners-marketplace/*`.

Draft — do not merge until vetted.
2026-07-17 17:13:16 +00:00

37 lines
750 B
TypeScript

'use client';
import { useLingui } from '@lingui/react';
import { styled } from '@linaria/react';
import { Body, Heading } from '@/ui';
import { spacing } from '@/tokens';
import { CLIENT_BRIEF_COPY } from '../client-brief-copy';
const SuccessView = styled.div`
display: flex;
flex-direction: column;
margin-top: ${spacing(6)};
& > * + * {
margin-top: ${spacing(4)};
}
`;
export function ClientBriefSuccess() {
const { i18n } = useLingui();
return (
<>
<Heading as="h2" size="lg" weight="light">
{i18n._(CLIENT_BRIEF_COPY.successTitle)}
</Heading>
<SuccessView>
<Body muted size="md">
{i18n._(CLIENT_BRIEF_COPY.successBody)}
</Body>
</SuccessView>
</>
);
}