Tokens, templates,
prototypy.
Bez buildu.
Design system pre NaMaximum / Greenmedical eshop. Vanilla HTML, CSS, JSON.
Reálne PDP a cart layouty s reálnymi DB dátami z produkcie.
Konzument: Venalio Greenmedical (Nette + Latte) cez git subtree.
z prod DB
v paneli
v
tokens.css(vanilla)
V repe
Štyri funkčné HTML referencie. Každá samostatne otvoriteľná v prehliadači, bez build kroku. JSX prototypy v prototypes/ obsahujú stav a logiku.
Použiť v projekte
Tri kroky. Žiadny npm install, žiadny config, žiadny bundler.
-
1
Načítaj tokens
Pridaj do hlavičky projektu. Tokens sú jediný zdroj pravdy pre farby, fonty, spacing.
<link rel="stylesheet" href="vendor/greenmedical-ds/tokens.css"> -
2
Skopíruj fonty
Montserrat (heading) + Satoshi (body) ako
woff2.@font-facedeklarácie sú vtokens.css.cp -r vendor/greenmedical-ds/assets/fonts/ public/assets/fonts/ -
3
Vyber HTML blok
Otvor relevantný template v
templates/, skopíruj sekciu, adaptuj na cieľový framework (Latte / JSX / Vue). Zachovaj všetkyvar(--...)referencie.greenmedical-ds/templates/pdp-desktop.html → app/templates/Product/detail.latte
Prečo bez komponentového frameworku
Konzument je Nette + Latte
Backend produkčného eshopu beží na PHP/Latte. React komponenty by nikto nepoužil. Vanilla HTML kopíruje 1:1 do .latte templátov.
Reálne dáta, nie mocky
Prototyp WPC 80 ťahá 50 reálnych variantov, 23 príchutí a 25 Q&A z produkčnej DB blueweb_venaliogreenmedical. Layout overený na reálnom obsahu.
Tweak panel, žiadny Storybook
Floating panel v PDP samotnom (klávesa t) zapína 28 stavov: AI summary, gift block, množstevné zľavy, sale state, jazyk, atď. Žiadny izolovaný preview.
Subtree workflow
DS žije v Greenmedical eshope ako vendor/greenmedical-ds/. Bumpni verziu, real projekt spraví git subtree pull. Bidirectional sync.
Pre AI agentov
Použitie z Cursor / Claude Code / Codex
Skopíruj prompt do svojho IDE rules / project context. Agent dostane stručný workflow čo robiť keď ho user prosí o UI.
Quick start prompt
Príklad: „Vyrob mi sale badge"
Distribúcia
Tri spôsoby ako tento DS dostať do projektu:
git subtree add --prefix=vendor/greenmedical-ds <git-url> main --squash
# update neskôr:
git subtree pull --prefix=vendor/greenmedical-ds <git-url> main --squash
Skopíruj tokens.css + assets/fonts/ + relevantné templates/. Žiadne deps, žiadne CI.
Fork repa, uprav tokens.css pre iný brand, ostatné súbory podla potreby.
Foundations · Colors
Paleta farieb
Klikni na swatch a skopíruj var(--name) do schránky.
Brand · Primary
Brand · Secondary
Semantic
Neutrals
Foundations · Typography
Typografia
Montserrat (display + UI chrome) + Satoshi (body + tabular numerics).
Type scale
--fs-display
Display 48
--fs-h1
Heading 32
--fs-h2
Heading 22
--fs-h3
Heading 18
--fs-body
Body 15 — Lorem ipsum dolor sit amet consectetur adipisicing elit.
--fs-body-sm
Body small 14 — secondary text and captions.
--fs-caption
Caption 13 — meta information
--fs-label
Label 13
--fs-micro
Micro 11 — fine print
Weights
--fw-regMontserrat Regular 400--fw-medMontserrat Medium 500--fw-semiMontserrat SemiBold 600--fw-boldMontserrat Bold 700--fw-blackMontserrat Black 900Foundations · Spacing
8pt grid
Konzistentný spacing scale založený na 8-bodovej mriežke.
--s-14 px--s-28 px--s-312 px--s-416 px--s-520 px--s-624 px--s-832 px--s-1248 px--s-1664 px--s-2496 pxFoundations · Shape
Radii a tiene
Zaoblenia a elevácia — tri stupne pre rozumné použitie.
Radii
Elevation
Templates · Prototypes
Prototypy z UNIT
UX/CRO designeri tu vytvárajú prototypy. Blueweb developeri ich potom realizujú v Latte. Source of truth pre eshop UI.
Načítavam prototypy z manifest.json…
Žiadne prototypy nezodpovedajú zvolenému filtru.
Roadmap
Plán
Real-eshop coverage najprv (PDP → cart → PLP), potom extrakcia primitív do components/.
Aktuálne
v0.8.6
PDP desktop
100%
PDP mobile
100%
Cart
refresh
Tokens, fonts, 4 templates (PDP × 2, Cart × 2), prototypy (JSX), AGENTS.md, showcase shell. Počiatočná i18n SK + HU, tweak panel mechanizmus.
Real WPC 80 catalog import + content integration.
- 50 variantov, 23 príchutí, 3 veľkosti, 25 Q&A z prod DB
blueweb_venaliogreenmedical - Build-time data shim
scripts/build-wpc80-data.mjs→window.WPC80 - Long description (Froala HTML) v 2/3 + 1/3 layoute
- Recommend % tile, hero meta Q&A count, gap analysis docs
Real-eshop coverage gap closure + tweak panel UI.
- P1: video tab (YouTube embeds), featured bestRating, variant matrix, naposledy prezerané
- P2: per-review odporúčam pill, customer-type badges, NaMaximum reply, lang filter (4 vlajky), add-rating form
- P3: share button (link/mail/FB/WA), gift ribbon, gift picks strip, honeypot, soldout overlay
- D2 + D3: 16 nových tweak keys + floating panel UI (28 toggles, 6 kategórií, localStorage,
tshortcut) - v0.6.1 fix: variant table layout, group rows by size, oranžový CTA
Mobile PDP doviezol na paritu s desktopom (M0 - M5, ~30 atomic commits, 5 sequential agent waves).
- M0: wire mobile PDP to
window.WPC80real data (50 variants, 23 flavors, cascade matrix verified) - M1: long description (Froala HTML), Q&A full module, sticky tab anchor nav, variant matrix card list, video tab, files tab, recently viewed, footer accordion
- M2: per-variant stock detail (in/low/restock/out chip), gift indicator on pills, restock notification bottom-sheet, qty tier discount block, gift bonus block, shipping options expander
- M3: hero polish (multi-brand row, product flags, Q&A count, alt names, EAN row, savings line, MCountdown ticker, expiration warning, 2x2 trust strip, gallery overlay flags) + i18n en-dash sweep 30 -> 0
- M4: promo bar, top categories nav, value-props strip, share button bottom-sheet, MTweakPanel slide-up sheet (28 toggles, 6 categories, cross-tab desktop sync via shared
pdp-tweaks-v1)
Default tweak state matchne real namaximum.sk WPC 80 PDP. Všetky extras = tweaky v 4 user-facing kategóriách. Mobile section order zladený s desktopom. Live na Cloudflare Pages.
- v0.8.0 (F1): tweak panel reorg 6 -> 4 user-facing kategórie (demo / Nové vylepšenia / Špecifické stavy / UX a real eshop), bulk toggle, per-cat description
- v0.8.1 (F2): 17+3 default flips na real-style state, render guards na all hidden bloky, localStorage
pdp-tweaks-v1->v2migration - v0.8.2 (F3): cross-sell karty polished na real
combinations.latte- heading "Tieto produkty sa skvele dopĺňajú", Detail btn, "od" price prefix, sale-flag overlay - v0.8.3: revert linklist variant (cards-only po user feedbacku)
- v0.8.4: mobile section order zarovnaný s desktopom - cross-sell + bundle hore po sticky ATC, recent presunutý za QA
- v0.8.5: mobile hero / thumb 0 / lightbox slide 0 používajú brand packshot (rovnaký ako desktop), nie chocolate flavor
- v0.8.6: 3 mobile annotations - drop subtitles z 5 h2 headings, unstick tabs head (overlap so sticky ATC), drop Detail btn z mobile cross-sell cards
- F5: Cloudflare Pages deploy na greenmedical.unit618.com
Apply real-eshop coverage gap analysis na cart-desktop + cart-mobile. Bonus selector, gift block, free-shipping progress, qty tiers, recommended add-ons, real cart math.
Po dokončení PDP + cart pokrytia, extrahovať najpoužívanejšie primitívy do components/: variant pill, button, badge, stepper, modal, toast, chip. Čistá BEM, samostatne preview-ovatelne, dokumentované v showcase.
PLP, search, kategórie, account, checkout. Patterns: variant-selector (cascading), qty-tiers, restock-flow ako Web Components. CHANGELOG, semver discipline, multi-brand swap surface (Greenmedical NaMaximum HU vs SK).
Pivot
Pôvodný v0.2 plán "re-author primitív prvé" bol otočený: namiesto budovania komponentov bez kontextu sme najprv dotiahli reálne PDP/cart layouty na 100% pokrytia ostrého eshopu (s reálnymi DB dátami z blueweb_venaliogreenmedical). Primitívy sa extrahujú až keď ich shape je overený v skutočnom užívaní.