Skip to main content

Writing

Centra

Centra storefront patterns: PDP variants, size guides, notify-me, and Instant Nav. What broke, then the fix.

All posts

Centra incomplete address is permanent

Sander Korf3 min read

A paid Centra order with a blank city blocked our warehouse export queue for eighty minutes. Classify bad address data as permanent and ack the event.

centratypescriptmonorepo

Read more

Nested Embla: watchDrag and viewport gutters

Sander Korf4 min read

On a Centra PDP, nested Embla carousels for card media and edge-bleed rails hit two traps. Use watchDrag on the parent; safe-area inset on the viewport.

centraemblanextjs+1

Read more

Centra card video: muted autoplay after mount

Sander Korf3 min read

PLP cards with optional Sanity video stay silent or flash wrong when autoPlay lives in SSR. I start muted loops in a client effect and respect reduced motion.

centrasanitynextjs

Read more

Biome bans vendor imports in shop UI

Sander Korf3 min read

On a Centra fashion storefront, product cards broke when commerce API types leaked into JSX. Map to storefront DTOs and ban vendor imports in shop components.

centrasanitybiome+1

Read more

Centra CanonicalPath fixes Instant Nav shell

Sander Korf3 min read

Collection pages stuck on loading after Instant Nav. Own PLP slugs per locale, 308 the rest, and skip waiting on empty query strings for the shell.

centranextjsseo

Read more

Centra PDP add to cart stays pressable

Sander Korf4 min read

A fashion PDP that greys out add to cart until size is picked looks broken. Validate on submit, show the hint after a miss, then focus the chips.

centranextjstailwind

Read more

Centra colour siblings dedupe by uri

Sander Korf4 min read

Colour swatches showed Black twice on a fashion PDP. Dedupe siblings on the URL you paint, then hide the picker when only one colour exists.

centranextjstailwind

Read more

Centra size guide transposes the chart

Sander Korf3 min read

Fashion size guides store measurements as rows. Shoppers need size rows on the product page. Flip the sheet once so the numbers match the layout.

centranextjstailwind+1

Read more

Centra OOS size swaps the primary CTA

Sander Korf4 min read

An out of stock size on a fashion product page should not grey out checkout. Flip the main button to a notify action and reuse one overlay for every sheet.

centranextjstailwind+1

Read more

Centra to Klaviyo tags need a plugin contract

Sander Korf4 min read

Fashion checkout mail never arrives if you invent the event names. Copy the plugin tags and split the catalog id so receipts and restock emails actually send.

centraklaviyo

Read more