Consulting Page for React (A|B Testing) #4777
Open
joshbermanssw wants to merge 50 commits into
Open
Conversation
Adds a `background.gridOverlay` toggle to the shared background schema and renders a subtle dotted grid layer in V2ComponentWrapper, sitting above the background but beneath all content. Available to every V2 block. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Displays each swatch's hex code beside its name in the Tina colour picker (solids as a single code, gradients as a start→end range), and adds a new "SSW Dark Gray" background option backed by a new sswDarkGray Tailwind token. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Introduces three new blocks under components/blocks/v3: - v3Hero: split layout with brow, title, rich-text description, up to two buttons, and an image - v3LogoCarousel: marquee logo carousel - v3FeatureSteps: full-width intro with numbered 01/02/03 step columns Registers their schemas in pageBlocks and the components in the block renderer's componentMap. Regenerates the Tina lockfile for the new schema. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replaces the old React consulting MDX page with a consultingv2 JSON page built from the new v3Hero block, so the route now resolves to the v2 renderer. Clears the old page reference in the consulting index and adds a null-safety guard in page.tsx for the now-absent old page. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The hero RHS was a hardcoded image. Add a string-keyed media registry so a v3Hero instance can opt into a built-in animated composition via the new `mediaType` schema field, falling back to the Tina image as before. First composition is the React Consulting atom: static orbital rings with electrons that follow the real ring paths and a pulsing nucleus, all owned by ReactConsultingHeroMedia and honoring prefers-reduced-motion. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Each step's number was auto-generated; expose it as an editable `brow` field instead, matching the hero's mono styling. Step descriptions are rich-text nested in a list, which Tina doesn't coerce from a string, so the schema default must be an AST object (same as accordionSchema). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Set the hero mediaType to the animated React atom, add a "why React projects hit a wall" feature-steps block, and drop the per-logo scale overrides from the logo carousel. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A numbered process-step section matching the v3 hero/feature-steps look: mono brow, h2 heading, and circled step numbers (01, 02…) with a fading sswRed connector line and a soft radial glow behind each number. Register it in the schema list and component map so pages can use v3Process. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds an "Our Process" section (Initial Call, Project Scope, Build & Deliver, Aftercare) to the React consulting page. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was
linked to
issues
Jun 19, 2026
Adds the shadcn ui/ primitives (Field, Input, Label, Separator, Textarea) and the SSWAdaptiveField that composes them to implement SSW's adaptive placeholder rule. Wires in the SSW design-system CSS variables (styles.css) and the Tailwind tokens/utilities (background, foreground, ring, destructive, aria-invalid, ring-3) those components rely on, plus the radix-label, radix-separator and class-variance-authority deps. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replaces the CMS-driven quiz with a fixed three-screen form (your details → location → how can we help) built on SSWAdaptiveField and submitting to a single JotForm. The CMS template now only controls the intro copy and background. The "How can we help you?" message is required before the form can be submitted. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds an optional caseStudyUrl field to each testimonial. When set, a "SEE CASE STUDY" link renders below the quote. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sets the logo carousel heading, swaps in the Hearing Australia testimonial with its case study link and logo, and regenerates the tina lock for the new testimonial/lead-capture schema fields. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4777.azurewebsites.net |
Contributor
The lead capture rebuild dropped the id the in-page CTA buttons scroll to. Restore id="lead-capture-heading" on the heading and add scroll-mt so it clears the sticky nav. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4777.azurewebsites.net |
Contributor
🚀 Lighthouse score comparison for PR slot and production
|
…ia.png The Hearing Australia testimonial referenced /images/logos/Capture-2026-06-19-114350.png which 404s on the Tina asset CDN, failing the 'Images load successfully on consulting page' Playwright test. Point it at the existing hearing-australia.png. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add an optional `thumbnail` prop so a CMS-supplied poster wins over the auto-derived YouTube/Vimeo poster. Used by the new v3 video blocks. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New v3-styled blocks copying the structure of their v2 counterparts: - Video Highlights: video + brow/heading/description + icon highlights - Card Carousel: stacked/carousel video cards with a single category pill Register both in the block schema list and the renderer component map. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add the Video Highlights and Card Carousel blocks to the React consulting page content, plus their image assets, and refresh the Tina lock. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Give each card a solid #212121 surface (no border), make the video flush to the card edges with a fixed aspect-video height so badges/titles align, pad the text block to 32px, and widen the gap between cards. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Set the section heading/body copy and drop the placeholder buttons. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The highlights Icon field uses IconPickerInput, whose props type no longer matches Tina 3.8.x's Field type, breaking `next build`. Add the same @ts-expect-error used by other custom-component fields. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4777.azurewebsites.net |
Contributor
🚀 Lighthouse score comparison for PR slot and production
|
JotForm's location field expects country and state as two separate options rather than one combined string. Encode array field values as submission[qid][index] and map AU state codes to full names. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The testimonial referenced a stray screenshot (Capture-*.png) that was never uploaded to Tina, returning 404 and failing the Playwright image check. Point companyLogo at the existing logos/hearing-australia.png. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Deployed changes to https://app-sswwebsite-9eb3-pr-4777.azurewebsites.net |
Contributor
🚀 Lighthouse score comparison for PR slot and production
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A/B rebuild of the React consulting page as a TinaCMS v2 page, built from a new set of
v3blocks. The route only resolves to the new design onceconsultingv2/react.jsonexists, so the old page stays live until cutover. Related: #4775.New
v3blocksShared: new background options on every v3 block — dotted grid overlay and red glow — plus hex codes in the Tina colour picker.
Links