Files
Coop-NL/scripts/badges
Jakub_HostacnyandClaude Opus 5.5 af35334688 feat: vsetky sablony cenoviek z novych SVG (zakladne, appkaci, vernostna karta)
- 22 sablon: Super cena / Super vyhodne / Zakladna v 3 farbach so SK aj bez,
  Appkaci (SK / bez), Vernostna karta (so zlavou / bez); orezane na viditelny
  obsah, rovnaka mierka (sirka = viewBox x 130 / 80,1)
- nove premenne {zlava_app}, {jednotkova_cena_app}, {cena_bez_karty},
  {zlava_bez_karty}, {jednotkova_cena_s_kartou}, {jednotkova_cena_bez_karty};
  zvisle natiahnutie textu (scaleY), viac nazvov pisma, napis zlava len pri zlave
- Vernostna karta je predvolena cenovka sekcie Vernostne zlavy
- produkty pri nacitani dostanu aktualnu verziu svojej sablony
- import: zlava pre appkacov a s vernostnou kartou z poznamky, jednotkova cena
  pre appkacov prepocitana, sirka cenovky podla sablony
- okraj stitkov predajni podla mierky cenovky
- postup prevodu v scripts/badges

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 10:36:37 +02:00
..

Šablóny cenoviek z Illustratora

  1. Prevod SVG – python scripts/badges/convert-illustrator-svg.py <priečinok so SVG> public/__svg/conv.json (vyžaduje pip install fonttools a nainštalovaný Gilroy-Heavy; súbory a ich tagy sú v ASSETS). Statické nápisy v Gilroy sa prevedú na krivky, texty v Aptly / Korolev sa vyberú na vrstvy, triedy a id dostanú jedinečnú predponu.
  2. Meranie v prehliadači – skopírovať SVG a measure.js do public/__svg/, otvoriť stránku na dev serveri a zavolať await measureBadges(): orezanie na viditeľný obsah (bez priehľadného okraja) a presné polohy textov s písmom Aptly z Adobe Fonts. Z výsledku vznikne layers.json (cena + centy → {cena…}, „%“ → {zlava…}, jednotková cena → {jednotkova_cena…}, ostatné texty ostanú pevné).
  3. Zostavenie – npx tsx --tsconfig tsconfig.json scripts/badges/build-templates.ts → public/__svg/rows.json a compare.html (porovnanie s originálmi), potom zápis riadkov do tabuľky badges (podľa názvu: existujúce sa aktualizujú, nové pribudnú).

Šírka šablóny v px = šírka orezaného viewBoxu × 130 / 80,1, takže všetky cenovky majú rovnakú mierku.