Commit Graph
39 Commits
Author SHA1 Message Date
Jakub_HostacnyandClaude Opus 5.5 31dfa7d336 chore: Adobe Fonts projekt loe7muj (Aptly)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 09:08:02 +02:00
Jakub_HostacnyandClaude Opus 5.5 22103072b7 fix: Aptly z Adobe Fonts na celej stranke, pad pri vlozeni odkazu na CSS
- web projekt Adobe Fonts xrv1cuz sa nacitava vzdy (dá sa zmenit cez
  NEXT_PUBLIC_ADOBE_FONTS_URL), Aptly uz nezavisi od Creative Cloud v pocitaci
- vlozeny odkaz s uvodzovkami alebo cely <link>/@import sa ocisti na URL;
  hladanie uz nacitanych odkazov neskladá CSS selektor z textu

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 09:06:32 +02:00
Jakub_HostacnyandClaude Opus 5.5 d17c9277ff fix: sablony cenoviek len z databazy, stara kopia v prehliadaci sa zmaze
Neulozene alebo zmazane sablony z localStorage sa uz neukazuju v roletkach.
Ked sa sablonu nepodari ulozit do databazy, editor to ohlasi (predtym ju
potichu ulozil len do prehliadaca).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:53:24 +02:00
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 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 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 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 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 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 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 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 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 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 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 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 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 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