S kartou = Cena s vernostnou kartou (inak akciova cena), bez karty = akciova
(inak bezna) cena; jednotkova cena bez karty sa prepocita.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mnozstvo sa odoberie z konca nazvu v letaku (aj 'od 225 g do 250 g',
'3 x 50 g 1 bal.'); co je pred mnozstvom zo stlpca Mnozstvo, ostava v nazve.
Overene na 432 riadkoch podkladov.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sablony Super cena: zlava a % podla navrhu (-0.03 / -0.02 em). Pridane
sablony Super vyhodne | Oranzova (| SK).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- import ZIP: volba Vymazat doterajsie produkty v sekcii
- vrstva ceny: longPriceScale (Cena od 10 EUR) zmensi dvojciferne eura, uciaria ostava
- skript na prevod SVG z Illustratora na pozadia sablon (texty na krivky,
jedinecne triedy a id, zarovnanie tela cenovky)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- premenna {cena_app} v cenovke a pole Pre appkacov v produkte (ked ju sablona pouziva)
- tag Appka v sablone; import da cenovku pre appkacov produktom s Cenou pre appkacov,
bezny produkt ju nikdy nedostane
- stlpec Doplnkove grafiky sa pri importe zmeni na stitky na fotke
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Prazdna Zlava graficka v podkladoch = zakladna cenovka; stlpec Vykricnik
rozlisi variant s vykricnikom.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sablona ma tagy Typ (SUPER CENA / SUPER VYHODNE), Farba (cervena / oranzova /
zelena) a Povod (SK / bez povodu); import ZIP-u podla nich vyberie cenovku.
SK produkt bez SK sablony dostane variant bez povodu, opacne nie.
Pribudla oranzova predvolba pozadia karty.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tabulka z Databazy produktov sa precita bez mapovania stlpcov, fotky
<EAN>/web/*.png sa zmensia na 1000 px a nahraju. Cenovka sa hlada podla
Zlava graficka | Farba cenovky | Povod. Importovane produkty preberu
rozlozenie karty z prveho produktu v sekcii.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- pri produkte + Pridat dalsiu fotku: obrazok, poloha X/Y, velkost a volba
pred / za hlavnou fotkou; lubovolny pocet fotiek
- fotky su sucastou obrazka karty pri exporte
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Parny pocet: vsetky produkty po 2 v riadku. Neparny: prvy produkt sam cez
celu sirku (vacsi vizual), ostatne po 2. Export obrazkov kariet pouziva
rovnaku sirku karty ako nahlad.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tlacidlo Pridat produkt (novy produkt sa hned otvori) a mazanie produktu;
karty sa radia po 2 na riadok.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Kod pre hromadny import = nazov sablony bez diakritiky, velkymi pismenami,
medzery a interpunkcia -> _ (napr. Super cena so zlavou -> SUPER_CENA_SO_ZLAVOU).
Samostatne pole Kod v editore je nahradene zobrazenim kodu pri nazve
s upozornenim, ak rovnaky kod ma ina sablona.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- pravy panel 440 px (predtym 384 px)
- pole s adresou obrazka sa vie zuzit, aby nevytlacalo tlacidlo Nahrat
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- pri produkte blok Stitky na fotke: text (<br> = novy riadok), poloha X/Y,
velkost, natocenie, farba pozadia a textu; lubovolny pocet stitkov
- stitky su nad fotkou a pod cenovkou, pismo Aptly Bold; ulozia sa aj do
obrazka karty pri exporte
- NEXT_PUBLIC_ADOBE_FONTS_URL: odkaz na web projekt Adobe Fonts sa nacita
v celej aplikacii (Aptly pre cenovky a stitky)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- sablona cenovky ma kod (napr. SUPER_CENA), nastavuje sa v hlavicke editora
cenoviek; kontrola jedinecnosti, ulozi sa v layers_config (bez zmeny DB)
- import CSV/JSON/XML: novy stlpec Cenovka (kod sablony), automaticky
rozpoznany (cenovka/badge/sablona); pouzije sa kod alebo nazov sablony,
bez ohladu na velke pismena a diakritiku
- nahlad importu ukazuje priradenu sablonu, neznamy kod nahlasi upozornenie
- spolocne nacitanie sablon z DB (badgeFromRow) pre editor aj stranku
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- novy posuvnik Velkost stitkov pri produkte (predvolene 14 px)
- Polohu a velkost stitkov pouzit na vsetky produkty prenesie aj velkost
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- odstraneny posuvnik Predvolena sirka (velkost cenovky sa nastavuje pri produkte)
- farba textu: ciernabiela alebo vlastny HEX kod; pole sleduje aj zmeny
zvonka (krok spat, vyber ciernej/bielej)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- platno ukazuje skutocne SVG cenovky (rovnake ako v e-maile); vrstvy sa
vyberaju a tahaju priamo na nej v suradniciach cenovky, s prichytenim na stred
- klavesnica: sipky posun (Shift = viac), Delete, Ctrl+Z / Ctrl+Y, Ctrl+S
- historia krokov (spat / znova), indikator neulozenych zmien, potvrdenie
pri zatvoreni alebo prepnuti sablony
- prehladny panel: pozadie a predvolena sirka, vrstvy s rychlym pridanim,
vybrana vrstva (text s klikatelnymi premennymi, pismo vratane Google/Adobe,
rez, velkost, COOP farby, zarovnanie, X/Y, centy)
- skusobna cena na overenie dlhsich cien; Ulozit a pouzit na produkt
- odstranene nastavenia zarovnania a odsadenia (pri karte v style letaku
nemaju vplyv)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tien tlacidiel v banneroch a letakoch sa odvodi z nastavenej farby
tlacidla namiesto napevno cervenej / modrej.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- editor: tlacidlo Zmazat v bubline pripomienky na platne
- odkaz: Zmazat v bubline aj ikona kosa v zozname pripomienok
- pred zmazanim potvrdenie (zmizne pre vsetkych s odkazom)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pripomienky:
- odkaz /review/<token> so snimkou newslettra: nic sa neda upravit, da sa
komentovat (spendlik), pisat text do newslettra a kreslit; meno autora sa pamata
- pripomienky su ukotvene k modulu a ulozene k odkazu - vidi ich kazdy s odkazom
- v editore: tlacidlo Pripomienky (pocet otvorenych), vytvorenie a kopirovanie
odkazu, aktualizacia nahladu v odkaze, zoznam pripomienok, Hotovo a mazanie;
pripomienky sa zobrazuju aj priamo na platne a daju sa tam oznacit ako hotove
- supabase/migrations/002_reviews.sql (tabulky reviews, review_comments)
- pismo Poppins v layoute (nahlad vernejsi e-mailu)
Stitky predajni:
- predvolena poloha -15 vodorovne / +5 zvisle od praveho horneho rohu pozadia cenovky
- tlacidlo Polohu stitkov pouzit na vsetky produkty
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pozadie cenovky moze mat v SVG priehladny okraj; jeho skutocne hranice sa
odmeraju v prehliadaci (getBBox) a stitky sa ukotvia k jeho pravemu
hornemu rohu namiesto rohu celeho SVG. Posun stitkov sa pocita od tohto rohu.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- v paneli je otvoreny vzdy len jeden produkt, ostatne su zbalene
- klik na kartu produktu v nahlade vyberie sekciu aj produkt, panel sa
posunie na jeho editor a karta sa v nahlade zvyrazni
- odkazy v nahlade sa klikom neotvaraju
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- auto-save sa spusti az po nacitani kampane z databazy (predtym sa pri
pomalsom nacitani ulozila predvolena kampan ako nova kopia a dalsie zmeny
sli do nej)
- pocas vkladania novej kampane sa nespusti druhe vlozenie
- id novej kampane sa nastavi, len ak medzitym nebola otvorena ina
- nacita sa naposledy upravena kampan bez ohladu na pocet modulov
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Karta podla sablony coop_nws_009: fotka cez celu kartu, cenovka cez fotku
vpravo dole, stitky predajni nad cenovkou, pod tym texty.
- v editore sa vizual sklada zivo (HTML/CSS); pri exporte (ZIP/Brevo) sa ulozi
ako JPG a do e-mailu ide ako jeden obrazok - funguje rovnako vo vsetkych
klientoch; nezmenene karty sa znova nenahravaju
- /api/img: proxy obrazkov pre nahlad (inak by sa vizual nedal ulozit)
- novy ProductEditor pre bezne aj vernostne produkty: Texty, Fotka (zoom/posun),
Cenovka (sablona, velkost, ceny), Dostupnost, Dalsie moznosti; zbalene po produktoch
- alt texty kariet s cenou a zlavou, mobilne styly textu, ochrana farieb
v tmavom rezime (zelena karta, Apple Mail)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Posuvniky Vodorovne / Zvisle su v nastaveniach cenovky produktu
(aj vernostneho) namiesto celej sekcie.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Enter alebo <br> v nadpise = novy riadok (clanky, recepty, letaky, banner,
nazov produktu); polia nadpisov su viacriadkove
- nahlad sablony v editore cenoviek uz nie je orezany zhora a zdola
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- nazov 15px/700, gramaz 15px/400 v tom istom riadku, jednotkova cena 11px #555
pod nazvom, volitelna poznamka 10px #888 (napr. Ilustracne foto)
- text zarovnany vlavo s odsadenim 14px; jednotkova cena sa presunula spod cenovky
- nove polia Gramaz / mnozstvo a Poznamka pri produkte aj vernostnom produkte
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- stitky Potraviny/Supermarket/Tempo su nad cenovkou, zarovnane k jej
pravemu okraju a posuvaju sa spolu s nou (pod/vedla obrazka, zarovnanie, sirka)
- posuvniky Vodorovne / Zvisle pre celu sekciu (aj vernostne zlavy);
zaporny zvisly posun prekryje horny okraj cenovky
- spolocny helper na vykreslenie stitkov namiesto dvoch kopii
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- novy blok Lista platnosti akcie (vzhlad ako oznamovacia lista, bez badge a CTA):
text + globalna platnost, da sa skryt a posuvat, nie zmazat; do existujucich
kampani sa vlozi automaticky nad prvu produktovu sekciu
- platnost na kartach produktov sa da zobrazit prepinacom (predvolene skryta),
produkty s vlastnou platnostou ju zobrazia vzdy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- npm run db:export: kampane a sablony cenoviek do supabase/data/ (+ obrazky z uloziska)
- npm run db:import [-- --dry-run]: nahra data s povodnymi ID, prepise odkazy
na nove ulozisko, da sa spustit opakovane
- aktualny export: 7 kampani, 1 sablona cenovky
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- supabase/schema.sql: idempotentny skript (tabulky, RLS, bucket newsletter-assets)
- supabase/assets + npm run db:upload-assets: staticke obrazky sablony
- adresa uloziska sa sklada z NEXT_PUBLIC_SUPABASE_URL namiesto pevneho projektu
- .env.example a navod na instalaciu v README
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- posuvniky Velkost / Vodorovne / Zvisle pri produkte aj vernostnom produkte
- upravena fotka sa vykresli ako pozadie bunky (background-size/position,
funguje aj v Gmaile), co presahuje ramik sa oreze
- pri cenovke vedla obrazka je fotka pozadim celeho riadku a da sa
zasunut pod cenovku; Outlook (mso) dostane povodny obrazok
- neupravene produkty sa vykresluju presne ako doteraz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Prepinac Vlastne HTML predvyplni aktualne vygenerovane HTML, ktore sa
da upravit v textovom poli; nahlad aj export pouziju vlastne HTML.
Tlacidlo Nacitat z formulara obnovi vygenerovane HTML, po vypnuti sa
vrati formular.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- bezne produkty maju volitelne polia Cena s kartou / Zlava s kartou,
vernostne produkty pouzivaju svoje existujuce hodnoty
- editor cenoviek: tlacidla na pridanie vrstiev a nahlad premennych
- jedinecne ID novych vrstiev (rychle pridanie viacerych vrstiev)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- pri produkte aj vernostnom produkte sa da nahrat cela cenovka ako PNG,
ktora prekryje generovanu sablonu
- tlacidlo Odstranit PNG vrati generovanu cenovku (sablona ostava zachovana)
- hromadne pouzitie cenovky (sekcia / cely newsletter) produkty s PNG neprepisuje
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Zmena v ktorejkolvek produktovej sekcii alebo vo vernostnych zlavach
nastavi platnost vsade; produkty s vlastnou platnostou si ju ponechaju.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- produkt: nazov produktu, ostatne obrazky: nadpis okna / nazov modulu
- z alt textu sa odstrania HTML znacky (napr. <br> v nadpisoch)
- pri kazdom obrazku pole Alt text; ak je vyplnene, ma prednost
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>