design: decisions blocking storefront implementation #40
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The approved storefront mockups live at
/home/yuris/.od/projects/garage/(OpenDesign projectgarage):beranda.html,produk.html,produk-shockbreaker-avanza.html,checkout-whatsapp.html,layanan.html,kontak.html, plusassets/tokens.cssandassets/app.js. #39 already shipped the overhaul (#33–#38), so the remaining work is the delta between those mockups and the code — but four items in the mockups cannot be implemented as drawn. They are decisions, not tasks.1. Public stock counts
The mockup's product detail renders
Ready · 8 pcs.docs/store-prd.mdlists exact stock counts as a non-goal, andpackages/catalog/index.tspinsinStockwith the comment "Boolean, never a count… renders Ready/Habis only". A count also goes stale between deploys, since the catalog is a build-time snapshot.Recommendation: drop the count, keep
Ready. Answer needed before #47.2. Accent colour — rust or green?
assets/tokens.csssets--accent: #2d543c(green).apps/store/app/globals.csssets--accent: #b4471f(rust), and its--ok: #2d543cis exactly the design's accent — so adopting the mockup as drawn repaints every button, eyebrow, active filter and cart badge, and collides with the in-stock colour.Options: (a) keep rust, treat the mockup green as illustrative; (b) adopt green and pick a new
--ok; (c) keep rust for actions, green for the service/install story.Recommendation: (a) — the rebrand is not what the design was reviewed for. Answer needed before #45.
3. Typography
Mockups load Archivo (display) + IBM Plex Sans (body) from Google Fonts; the store ships Inter via
--font-sansinapp/layout.tsx. Two families is two font payloads on a static site.Recommendation: adopt Archivo for headings/prices only, keep Inter for body, or stay on Inter entirely. Answer needed before #45.
4. Invented product facts
The mockup spec table shows
Posisi: Depan, kanan / kiri,Tipe: Excel-G, gas oil,Garansi: 6 bulan, klaim lewat toko, andBerat kirim: 2,4 kg (volumetrik 3 kg). None of these exist in the data model, andapps/store/lib/services.tscarries an explicit note that warranty terms are not claimed until the shop confirms them.docs/store-overhaul-spec.mdalso still has open questions 4 and 5 (payment/shipping/retur terms, couriers).Needed from the shop: does a warranty policy exist and in what words; is
Posisi/Tipeper-item data worth entering, or does it belong in the description; is volumetric weight ever quoted. Nothing here becomes a schema column on a mockup's authority — #41 deliberately excludes them.Acceptance
Each of the four answered in a comment. #45 and #47 stay blocked until 1–3 are settled; #41 is unblocked by 4 only in the negative sense that it must not grow fields.
Decisions
All four answered; #45 and #47 are unblocked.
1. Public stock counts — drop the count, keep
ReadyThe mockup's
Ready · 8 pcsloses the number.docs/store-prd.md's non-goal stands, andpackages/catalog's "boolean, never a count" comment stays true in spirit under the tri-state:availabilitycarries state, never quantity. The rawstockinteger remains internal —getPublicCatalogkeeps stripping it.2. Accent — adopt the design green
#2d543capps/store/app/globals.cssmoves--accentfrom rust#b4471fto#2d543c. This is a real repaint: every.button,.eyebrow,.product-filter[aria-pressed="true"],.cart-button,.cart-count,.category-tile:hover,.product-type,.gallery-thumb.is-active, the checked.fulfilment-choice, and.product-card:has(a:hover).--accent-hoverand--accent-softmust be re-derived from the new hue, not carried over from rust.The
--okcollision resolves itself.--okis already#2d543c— the exact colour the accent is becoming — so it needs no new value. The design's own answer (assets/tokens.css) is that availability chips separate by tinted background and border, not by hue against a shared field:So: keep
--ok, add--warnand--off, and let the three chips from #47 carry the distinction.One trap for #45:
.stock-badge.is-outcurrently reuses--accentas its out-of-stock colour. Once the accent is green that reads as available — it must move to--off. A green "Habis" must not ship.3. Typography — adopt both Archivo and IBM Plex Sans
Archivo for display (
h1–h4,.price,.brand-name, buttons), IBM Plex Sans for body, replacing Inter. Two families, so in #45 load them throughnext/fontand self-host rather than copying the mockups'<link>tofonts.googleapis.com— this is a static export and a render-blocking third-party stylesheet on every page is the avoidable cost. Subset to latin; keepfont-variant-numeric: tabular-numson prices.4. Invented product facts — none are real, drop all four
Posisi,Tipe,Garansiand volumetric weight are mockup fiction and get no schema fields. #41 stays exactly as scoped:fitment,oemNumbers,priceUpdatedAt,availability. #47 rendersweightGramsplainly with no volumetric figure, and no warranty row appears anywhere until the shop states a policy.docs/store-overhaul-spec.mdopen questions 4 and 5 stay open and block nothing in this batch.