[Website] Full-bleed hero/testimonials, nav restructure, OpenNext deploy config#21794
Conversation
…full-width Add an opt-in `fullBleedBackground` prop to SectionShell that lifts the decorative background layer off the content-width cap so it spans the full section width. The solid section surface and all content stay capped as before, and the default keeps every other section unchanged. Apply it to HomeHero (the bridge halftone field) and both testimonials sections. For the notched card, cap the notch (Plateau) at its width at the content cap: past that — a full-bleed card — the white/dark flats absorb the extra so the surface spans the viewport while the notch stays fixed and centred. The footer and any capped card are unaffected, since their proportional notch never reaches the cap.
…ct, refine Resources dropdown Remove Product from the menu and footer navigation, and lift Why out of the Resources dropdown to the top-level menu in Product's place. (The Product page itself is unchanged and stays in the SEO sitemap.) Polish the Resources dropdown: - Drop the preview frame's min-height (220 -> 160) so the panel no longer overhangs the now-shorter four-item list. - Restore the cleaner, brighter User Guide and Developers preview assets from twenty-website (the redone re-exports were dimmer and busier). - Give User Guide a center + 2x image scale so its narrow halftone field fills the frame like Developers, and raise NextImage sizes to 720px so the fine halftone stays crisp through that magnification instead of dimming. Translation catalogs are intentionally not regenerated here; CI owns that.
Bring the Cloudflare Workers / OpenNext setup over from twenty-website so the same CI/deploy pipeline works against the redone package: - open-next.config.ts: R2 incremental cache wrapped in the regional cache, plus skew protection. - wrangler.jsonc: worker config with the dev/prod environments. Worker names, routes (twenty.com), R2 buckets, and self-reference services are kept identical to twenty-website so deploying the redone replaces the same worker for a seamless cutover. - next.config.ts: initOpenNextCloudflareForDev() so `next dev` mirrors the deployed worker's bindings. - package.json: preview / deploy:dev / deploy:prod / cf-typegen scripts and the @opennextjs/cloudflare + wrangler devDependencies. - .dev.vars.example template; ignore .open-next/, .wrangler/, .dev.vars, and the generated cloudflare-env.d.ts. The redone is Next 16 + Turbopack (the old site is Next 15); the OpenNext build against Turbopack output should be validated with a preview deploy.
…u dropdown
The Resources dropdown lost the active-page treatment the old site had. Mark a
dropdown link active when the unlocalized pathname matches its href or a
sub-page of it (external docs links never qualify), and style the active icon
and label in the highlight blue with the small marker bar before the label —
the same forward-referenced `${DropdownLink}[data-active] &` pattern the old
NavDropdown used.
…hell Remove the inline and CSS comments from MenuDropdown, NotchedCardShape, and SectionShell, leaving the code and directives untouched.
There was a problem hiding this comment.
1 issue found across 17 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="packages/twenty-website-redone/next.config.ts">
<violation number="1" location="packages/twenty-website-redone/next.config.ts:55">
P2: `initOpenNextCloudflareForDev()` called unconditionally will hang `next typegen` and leave open handles in Jest tests. The Cloudflare dev context binds active Node process handles (R2 incremental cache, env wrangler context) that prevent clean process exit in non-dev commands.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
|
|
||
| // Binds the Cloudflare dev context (R2 incremental cache, env vars) into | ||
| // `next dev` so local runs mirror the deployed OpenNext worker. | ||
| initOpenNextCloudflareForDev(); |
There was a problem hiding this comment.
P2: initOpenNextCloudflareForDev() called unconditionally will hang next typegen and leave open handles in Jest tests. The Cloudflare dev context binds active Node process handles (R2 incremental cache, env wrangler context) that prevent clean process exit in non-dev commands.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-website-redone/next.config.ts, line 55:
<comment>`initOpenNextCloudflareForDev()` called unconditionally will hang `next typegen` and leave open handles in Jest tests. The Cloudflare dev context binds active Node process handles (R2 incremental cache, env wrangler context) that prevent clean process exit in non-dev commands.</comment>
<file context>
@@ -48,3 +49,7 @@ const nextConfig: LinariaConfig = {
+
+// Binds the Cloudflare dev context (R2 incremental cache, env vars) into
+// `next dev` so local runs mirror the deployed OpenNext worker.
+initOpenNextCloudflareForDev();
</file context>
| initOpenNextCloudflareForDev(); | |
| if (process.env.NODE_ENV === 'development') initOpenNextCloudflareForDev(); |
There was a problem hiding this comment.
The premise that the call is "unconditional" and therefore binds live handles in every command is incorrect. initOpenNextCloudflareForDev() is written to be called unconditionally (that's the official OpenNext pattern), but it self-guards before doing anything.
There was a problem hiding this comment.
Got it — thanks for the correction.
The lint target chained check-translations.mjs, which fails whenever the committed Lingui catalogs lag the source — but catalogs are intentionally not regenerated in PRs (CI owns them), so this blocked every PR that touched a msg/Trans string. Drop the step from the lint command and remove the now-dead script (it had no other reference). Lint is now check-conventions, oxlint, and oxfmt --check.
Visual Regression Report (twenty-front)
Changed stories
|
🔍 Automated Pre-Review✅ No issues detected - This PR is ready for human review. Automated pre-review — human approval still required. |
Full-bleed backgrounds on wide screens
Decorative section backgrounds were capped at the 1512px content width, leaving large empty gutters on ultra-wide viewports.
fullBleedBackgroundprop toSectionShellthat lifts the background layer off the content-width cap (default unchanged, so every other section is untouched).HomeHero(bridge halftone field) and both testimonials sections.NotchedCardShapenotch at its width at the content cap, so the white/dark card can span the full viewport while the notch stays fixed and centered. The footer and any other capped card are unaffected.Navigation restructure
twenty-website; gave User Guide a center + 2× image scale so its halftone fills the frame like Developers, and raisedNextImagesizesto keep the fine halftone crisp through that magnification.NavDropdown.OpenNext / Cloudflare deployment config
Ported the Cloudflare Workers deployment setup from
twenty-websiteso the same CI/deploy pipeline works against the redone package:open-next.config.ts(R2 incremental cache + regional cache + skew protection),wrangler.jsonc(dev/prod envs — worker names, routes, R2 buckets kept identical for a seamless cutover),initOpenNextCloudflareForDev()innext.config.ts, thepreview/deploy:*/cf-typegenscripts, the@opennextjs/cloudflare+wranglerdevDependencies, a.dev.vars.exampletemplate, and the relevant.gitignoreentries.