Commit Graph
77 Commits
Author SHA1 Message Date
Jakub_HostacnyandClaude Opus 5.5 b747a3ba74 feat: predvolena cenovka je sablona Super vyhodne | Cervena (neda sa zmazat)
- volba Predvolena COOP cenovka v produkte zrusena; produkty bez sablony
  dostanu predvolenu sablonu automaticky
- sablony z prehliadaca (localStorage) sa pridavaju len ak este nie su
  ulozene v databaze, zmazane sablony sa uz nevracaju

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:49:27 +02:00
Jakub_HostacnyandClaude Opus 5.5 184e55ad5b chore: prazdny commit na spustenie nasadenia na Verceli
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:42:00 +02:00
Jakub_HostacnyandClaude Opus 5.5 c8543b4d9b feat: filter roletky cenoviek v produkte (typ, farba, povod, appka), zoradenie podla nazvu
Aktualna sablona ostava v zozname aj ked ju filter skryje alebo bola zmazana.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:38:24 +02:00
Jakub_HostacnyandClaude Opus 5.5 2a0b1f37ba feat: okraj stitkov predajni tensi (polovica linky cenovky) so zaoblenymi vonkajsimi rohmi
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:37:05 +02:00
Jakub_HostacnyandClaude Opus 5.5 5cbe981430 feat: import ZIP s podkladmi aj do sekcie Vernostne zlavy (bez zmeny farby pozadia)
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>
2026-10-21 16:36:01 +02:00
Jakub_HostacnyandClaude Opus 5.5 8660f92b5a feat: biely okraj okolo stitkov predajni ako skupiny, hrubka ako linka cenovky (4,5 px pri 130 px)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:33:43 +02:00
Jakub_HostacnyandClaude Opus 5.5 14358b228f feat: import podkladov - jednotkova cena v tvare 'jednotkova cena 8,56 EUR/l', gramaz oddelena z nazvu
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>
2026-10-21 16:26:25 +02:00
Jakub_HostacnyandClaude Opus 5.5 e2e9a82094 feat: rozostup pismen vo vrstvach cenovky, tesnejsie pismeno za l/t/d s makcenom
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>
2026-10-21 16:20:44 +02:00
Jakub_HostacnyandClaude Opus 5.5 cec8764905 fix: nova produktova sekcia sa prida pod listu Akcia plati (za poslednu produktovu sekciu)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:17:02 +02:00
Jakub_HostacnyandClaude Opus 5.5 fa824c541e feat: nahradenie produktov pri importe ZIP, mensia cena od 10 EUR v cenovke, prevod SVG cenoviek
- 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>
2026-10-21 16:00:35 +02:00
Jakub_HostacnyandClaude Opus 5.5 bd67fc7020 feat: cena pre appkacov ({cena_app}), tag cenovky pre appkacov, doplnkove grafiky ako stitky
- 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>
2026-10-21 15:48:25 +02:00
Jakub_HostacnyandClaude Opus 5.5 11392722e2 feat: zakladne cenovky (s vykricnikom a bez) v tagoch sablon pre import
Prazdna Zlava graficka v podkladoch = zakladna cenovka; stlpec Vykricnik
rozlisi variant s vykricnikom.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 14:12:55 +02:00
Jakub_HostacnyandClaude Opus 5.5 08fb233da0 feat: tagy sablon cenoviek pre import podkladov, pozadie karty podla farby cenovky
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>
2026-10-21 14:04:48 +02:00
Jakub_HostacnyandClaude Opus 5.5 9b1f7b60cf feat: hromadny import produktov zo ZIP-u s podkladmi (xlsx + fotky)
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>
2026-10-21 13:57:16 +02:00
Jakub_HostacnyandClaude Opus 5.5 48fd82a77d feat: hlasenie pod polom s URL obrazka (zmensene / v poriadku / za prihlasenim)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:48:37 +02:00
Jakub_HostacnyandClaude Opus 5.5 6100a7af57 feat: obrazky sa zmensuju na 1000 px aj pri vlozeni URL a zo schranky
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:45:01 +02:00
Jakub_HostacnyandClaude Opus 5.5 e875b44f92 feat: premenovanie newslettera v zozname a vyber nazvu pri duplikovani
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:35:55 +02:00
Jakub_HostacnyandClaude Opus 5.5 17c852e2bf fix: nahravanie velkych obrazkov - priamo do Supabase cez podpisanu URL, zmensenie na 2000 px
Vercel odmietal poziadavky nad 4,5 MB (Request Entity Too Large) a bucket
berie najviac 10 MB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:29:29 +02:00
Jakub_HostacnyandClaude Opus 5.5 3ece5abf6a feat: poradie fotiek v karte ako zoznam vrstiev (hore = vpredu)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:24:15 +02:00
Jakub_HostacnyandClaude Opus 5.5 533a856303 feat: viac fotiek v jednej produktovej karte (bundle)
- 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>
2026-10-21 13:12:42 +02:00
Jakub_HostacnyandClaude Opus 5.5 23f23c8903 feat: vernostne zlavy - pri neparnom pocte je prvy produkt cez cely riadok
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>
2026-10-21 13:03:35 +02:00
Jakub_HostacnyandClaude Opus 5.5 b13a447c64 feat: menitelny pocet produktov vo vernostnych zlavach
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>
2026-10-21 13:02:31 +02:00
Jakub_HostacnyandClaude Opus 5.5 2605b6281b feat: nastavitelna farba nadpisu pod bannerom
Cierna (predvolena), COOP modra, COOP cervena alebo vlastna farba.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:01:48 +02:00
Jakub_HostacnyandClaude Opus 5.5 905170f66e refactor: kod sablony cenovky vznika z nazvu
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>
2026-10-21 12:53:25 +02:00
Jakub_HostacnyandClaude Opus 5.5 4510e4f999 fix: sirsi pravy panel, tlacidlo Nahrat sa neoreze
- 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>
2026-10-21 12:48:22 +02:00
Jakub_HostacnyandClaude Opus 5.5 293d9b953c feat: vlastne stitky na fotke produktu, Adobe Fonts pre celu aplikaciu
- 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>
2026-10-21 12:47:42 +02:00
Jakub_HostacnyandClaude Opus 5.5 332ab833e9 feat: kod sablony cenovky pre hromadny import
- 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>
2026-10-21 12:41:39 +02:00
Jakub_HostacnyandClaude Opus 5.5 6d73660cac feat: velkost stitkov predajni nezavisla od velkosti cenovky
- 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>
2026-10-21 12:36:48 +02:00
Jakub_HostacnyandClaude Opus 5.5 8e4ad03af9 fix: editor cenoviek - bez predvolenej sirky, farba textu ciernabiela/HEX
- 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>
2026-10-21 12:03:44 +02:00
Jakub_HostacnyandClaude Opus 5.5 5add629bb5 feat: novy editor cenoviek - skutocna cenovka na platne, pohodlnejsia praca
- 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>
2026-10-21 11:57:35 +02:00
Jakub_HostacnyandClaude Opus 5.5 419ad580ca feat: ziara tlacidla sa prisposobi farbe tlacidla
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>
2026-10-21 11:50:35 +02:00
Jakub_HostacnyandClaude Opus 5.5 44f5ea822e feat: zalomenie riadku <br> aj v jednotkovej cene, gramazi a poznamke
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 11:49:33 +02:00
Jakub_HostacnyandClaude Opus 5.5 061e647180 feat: mazanie pripomienok v editore aj na stranke s odkazom
- 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>
2026-10-21 11:44:59 +02:00
Jakub_HostacnyandClaude Opus 5.5 cfacf2474b feat: pripomienky cez zdielany odkaz; predvolena poloha stitkov a pouzit na vsetky
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>
2026-10-21 11:03:34 +02:00
Jakub_HostacnyandClaude Opus 5.5 b0a050bd12 fix: stitky predajni ukotvene k pravemu hornemu rohu pozadia cenovky
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>
2026-10-21 10:53:40 +02:00
Jakub_HostacnyandClaude Opus 5.5 c426145c48 feat: klik na produkt v nahlade otvori jeho editor (harmonika)
- 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>
2026-10-21 10:52:09 +02:00
Jakub_HostacnyandClaude Opus 5.5 109d65a690 fix: auto-save nevytvara pri nacitani stranky kopie kampani
- 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>
2026-10-19 17:15:56 +02:00
Jakub_HostacnyandClaude Opus 5.5 25771afc79 feat: produktove karty v style letaku a zjednoduseny panel produktu
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>
2026-10-19 17:06:48 +02:00
Jakub_HostacnyandClaude Opus 5.5 139e3569d0 feat: posun stitkov predajni pri kazdom produkte zvlast
Posuvniky Vodorovne / Zvisle su v nastaveniach cenovky produktu
(aj vernostneho) namiesto celej sekcie.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:52:34 +02:00
Jakub_HostacnyandClaude Opus 5.5 a2d009bcb8 feat: zalamovanie riadkov v nadpisoch, cely nahlad cenovky v zozname sablon
- 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>
2026-10-19 16:50:27 +02:00
Jakub_HostacnyandClaude Opus 5.5 090fd8d1ce feat: tri styly textu produktu podla vzoru coop_nws_009
- 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>
2026-10-19 16:48:42 +02:00
Jakub_HostacnyandClaude Opus 5.5 ffba0e0842 chore: typ pre renderStoresHtml
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:46:36 +02:00
Jakub_HostacnyandClaude Opus 5.5 ea2a9d85d0 feat: stitky predajni pri hornej hrane cenovky s nastavitelnym posunom
- 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>
2026-10-19 16:46:20 +02:00
Jakub_HostacnyandClaude Opus 5.5 98fdad535d feat: lista platnosti akcie nad produktmi, platnost na kartach predvolene skryta
- 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>
2026-10-19 16:42:59 +02:00
Jakub_HostacnyandClaude Opus 5.5 5f6a39debe feat: export a import kampani a cenoviek pre prenos na novy server
- 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>
2026-10-19 11:00:35 +02:00
Jakub_HostacnyandClaude Opus 5.5 5d1900740c chore: zalozenie databazy a uloziska na novom serveri
- 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>
2026-10-19 10:54:55 +02:00
Jakub_HostacnyandClaude Opus 5.5 eb92d30dc3 chore: upratanie lint upozorneni z uloh 11-18
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:42:34 +02:00
Jakub_HostacnyandClaude Opus 5.5 9c2fb60fd6 feat: uprava produktovej fotky - zoom, posun a orezanie
- 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>
2026-10-19 10:36:30 +02:00
Jakub_HostacnyandClaude Opus 5.5 d72293a2e2 feat: jednoduchy HTML editor pre hlavicku a paticku (uloha 13)
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>
2026-10-19 10:32:10 +02:00
Jakub_HostacnyandClaude Opus 5.5 3bd93fde20 feat: premenne {cena_s_kartou} a {zlava_s_kartou} v cenovkach (uloha 12)
- 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>
2026-10-19 10:30:32 +02:00
Jakub_HostacnyandClaude Opus 5.5 22a9a51d00 feat: vlastna PNG cenovka pre vynimocny produkt (uloha 16)
- 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>
2026-10-19 10:27:33 +02:00
Jakub_HostacnyandClaude Opus 5.5 92dc2081d0 feat: globalna platnost akcie sa prepisuje do vsetkych produktovych sekcii (uloha 15)
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>
2026-10-19 10:25:35 +02:00
Jakub_HostacnyandClaude Opus 5.5 d43a1dae40 feat: automaticke alt texty s moznostou rucneho prepisu (uloha 14)
- 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>
2026-10-19 10:24:58 +02:00
Jakub_HostacnyandClaude Opus 5.5 23ac4dc830 feat: duplikovanie sablon cenoviek v editore (uloha 11)
Ikona Duplikovat pri sablone vytvori kopiu "(kopia)", hned ju ulozi
a otvori na upravu.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:23:33 +02:00
Jakub_HostacnyandClaude Opus 5.5 21320e792b fix: odkaz Otvorit v Brevo vedie priamo na upravu kampane (uloha 17)
Namiesto napevno zadaneho zoznamu kampani (404) sa odkaz sklada z ID
kampane: app.brevo.com/marketing-campaign/edit/{id}.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:22:36 +02:00
Jakub_HostacnyandClaude Opus 5.5 2c3f09f18f feat: moznost zmazat aj predvolene cenovky (uloha 10)
Stare predvolene sablony (badge-preset-*) ostali ulozene v localStorage
a nedali sa zmazat. Tlacidlo kosa je teraz pri kazdej sablone; pri
predvolenych sa preskoci mazanie v databaze, kde nie su.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:15:12 +02:00
Jakub_HostacnyandClaude Opus 5.5 48d071d48e feat: priblizenie platna v editore cenoviek (uloha 9)
- posuvnik a tlacidla +/- (50-400 %), klik na percenta vrati 100 %, Ctrl + koliesko
- tahanie vrstiev prepocitava posun podla priblizenia
- platno sa posuva a vyplna vysku stlpca, vrch cenovky sa uz neoreze

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:03:01 +02:00
Jakub_HostacnyandClaude Opus 5.5 61c8c2fb76 feat: hromadne pouzitie cenovky aj s polohou, rovnaka vyska clankov a receptov
- tlacidla "Pouzit v celom newsletteri" a "Pouzit pre vsetky produkty v tejto sekcii" kopiruju aj polohu cenovky (pod / vedla obrazka)
- sekcia Clanky a Recepty (aj letaky) ma karty v riadku rovnako vysoke

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:56:22 +02:00
Jakub_Hostacny 0aa664b08b feat: moznost pozicovania cenovky vedla produktu (uloha 8) 2026-10-08 10:15:39 +02:00
Jakub_Hostacny a82c2d5af8 feat: zarovnanie vysky produktovych kariet v riadku (uloha 7) 2026-10-08 10:11:27 +02:00
Jakub_Hostacny ad99aee117 feat: moznost nahrat podklad cenovky aj ako PNG 2026-10-08 09:59:10 +02:00
Jakub_Hostacny 317a42aaa7 feat: odstranenie moznosti samostatnej vlajky/srdca 2026-10-08 09:56:08 +02:00
Jakub_Hostacny 680883f047 feat: moznost skrytia oznamovacej listy 2026-10-08 09:53:12 +02:00
Jakub_Hostacny 00d681bec2 feat: zmena farby pozadia produktov a editovatelne nazvy modulov 2026-10-08 09:49:33 +02:00
Jakub_Hostacny 4e4e5e5af3 Feat: adjustable superscript index, loyalty badges, centered unit price, global badge apply, brevo url fix 2026-09-24 12:33:39 +02:00
Jakub_Hostacny 245e3f8471 chore: ignore docs directory 2026-09-24 12:14:12 +02:00
Jakub_Hostacny 5a6788b593 feat: reusable badge templates, dynamic price and superscript cents, size/align/padding controls, fix saving 2026-09-24 12:07:52 +02:00
Jakub_Hostacny f9aa2297ba feat: drag and drop text layers in badge editor, anchor flyers/recipes above footer, and editable titles in flyers section 2026-09-24 11:52:24 +02:00
Jakub_Hostacny 99dd0f272e feat: real Brevo API verifier, auto-reset if campaign missing, and update existing campaign support 2026-09-24 11:46:40 +02:00
Jakub_Hostacny 2b4d3643cb feat: anchor header/footer, editable header buttons, campaign management, image uploads, badge font customization, and brevo export fix 2026-09-24 11:42:45 +02:00
Jakub_Hostacny 3dc5778155 Fix module canvas backgrounds, clear dummy badges, add SVG upload, new template creation, and {jednotkova_cena} variable 2026-09-24 11:22:23 +02:00
Jakub_Hostacny ab74922b93 Fix canvas background to exact COOP gradient, remove module borders/gaps, add interactive Badge Editor SVG to PNG 2026-09-24 11:15:54 +02:00
Jakub_Hostacny 65f37a74b8 Exact 1:1 COOP template design, native email responsiveness without toggle switcher 2026-09-24 11:11:17 +02:00
Jakub_Hostacny 538f2ccae3 Implement WYSIWYG newsletter editor with live preview, import, Supabase auto-save and Brevo export 2026-09-24 11:04:13 +02:00
Jakub_Hostacny 8763c5bace Initialize Next.js app with Supabase, Brevo config and migration 2026-09-24 11:01:01 +02:00
Jakub_Hostacny af8dc721a1 Ignore .agent directory 2026-09-24 10:32:30 +02:00
Jakub_Hostacny d3c1598911 Initial commit with .gitignore 2026-09-24 10:24:18 +02:00