{"product_id":"custom-tshirt","title":"Φτιάξε το δικό σου T-shirt","description":"\u003cp\u003eΈχεις μια εικόνα που σε εκφράζει; Μια φωτογραφία, ένα σκίτσο, κάτι που ζωγράφισες εσύ; Ανέβασέ τη και θα τη φτιάξουμε t-shirt, μόνο για σένα.\u003c\/p\u003e\u003cp\u003eΤο σχέδιό σου τυπώνεται \u003cstrong\u003eμεγάλο στην πλάτη\u003c\/strong\u003e και \u003cstrong\u003eμικρό στην καρδιά\u003c\/strong\u003e, πάνω στο \u003cstrong\u003eoversized\u003c\/strong\u003e t-shirt του \u003cstrong\u003eAέRis\u003c\/strong\u003e, με φαρδιά, χαλαρή γραμμή που πέφτει άνετα στους ώμους. Σχεδιασμένο στη Θεσσαλονίκη, φτιαγμένο στην Ελλάδα.\u003c\/p\u003e\u003ch3\u003eΠώς λειτουργεί\u003c\/h3\u003e\u003col\u003e\n\u003cli\u003eΔιάλεξε χρώμα και μέγεθος.\u003c\/li\u003e\n\u003cli\u003eΑνέβασε την εικόνα σου και δες αμέσως πώς θα είναι μπροστά και πίσω.\u003c\/li\u003e\n\u003cli\u003eΠρόσθεσέ το στο καλάθι. Ελέγχουμε το σχέδιο πριν την εκτύπωση και σε ενημερώνουμε αν χρειαστεί κάτι.\u003c\/li\u003e\n\u003c\/ol\u003e\u003ch3\u003eΧαρακτηριστικά\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eOversized, unisex εφαρμογή\u003c\/li\u003e\n\u003cli\u003e100% βαμβάκι, με heavy street αίσθηση\u003c\/li\u003e\n\u003cli\u003eΨηφιακή εκτύπωση στην πλάτη και στην καρδιά\u003c\/li\u003e\n\u003cli\u003eΦτιάχνεται κατά παραγγελία, αποκλειστικά για σένα\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e\u003cem\u003eΤα προσωποποιημένα κομμάτια φτιάχνονται ειδικά για σένα, γι' αυτό δεν επιστρέφονται, εκτός αν υπάρχει ελάττωμα. Ελέγχουμε κάθε σχέδιο πριν την εκτύπωση και δεν τυπώνουμε λογότυπα άλλων brands ή εικόνες για τις οποίες δεν έχεις δικαίωμα χρήσης.\u003c\/em\u003e\u003c\/p\u003e\u003cdiv class=\"acd\" id=\"acd-root\" style=\"display:none\"\u003e\n\u003cstyle\u003e\n.acd{margin:18px 0 22px;font-family:inherit}\n.acd__title{font-size:1.5rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;opacity:.85}\n.acd__drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed rgba(0,0,0,.35);border-radius:14px;padding:22px 14px;text-align:center;cursor:pointer;background:rgba(0,0,0,.02);transition:background .2s,border-color .2s}\n.acd__drop:hover,.acd__drop.is-over{background:rgba(0,0,0,.05);border-color:#0f1115}\n.acd__drop strong{font-size:1.5rem}\n.acd__drop span{font-size:1.25rem;opacity:.7}\n.acd__file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}\n.acd__views{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}\n.acd__view{background:#f3f1ee;border-radius:14px;overflow:hidden;padding:0 0 8px;text-align:center}\n.acd__view canvas{width:100%;height:auto;display:block}\n.acd__view small{display:block;font-size:1.15rem;letter-spacing:.05em;opacity:.7;margin-top:4px}\n.acd__msg{font-size:1.3rem;margin:10px 0 0;min-height:1em}\n.acd__msg.is-error{color:#b3261e}\n.acd__msg.is-ok{color:#1d6b3a}\n.acd__change{background:none;border:0;padding:0;margin-top:8px;text-decoration:underline;cursor:pointer;font-size:1.3rem;color:inherit}\n.acd__notes{font-size:1.2rem;opacity:.72;line-height:1.5;margin:12px 0 0;padding-left:16px}\n\u003c\/style\u003e\n\u003cp class=\"acd__title\"\u003eΑνέβασε το σχέδιό σου\u003c\/p\u003e\n\u003clabel class=\"acd__drop\" for=\"acd-file\"\u003e\n\u003cstrong\u003eΔιάλεξε εικόνα\u003c\/strong\u003e\n\u003cspan\u003eή σύρε την εδώ (JPG, PNG, WEBP, έως 10MB)\u003c\/span\u003e\n\u003c\/label\u003e\n\u003cinput class=\"acd__file\" type=\"file\" id=\"acd-file\" name=\"properties[Σχέδιο]\" accept=\"image\/png,image\/jpeg,image\/webp\" data-acd-attach\u003e\n\u003cinput type=\"hidden\" name=\"properties[Θέσεις]\" value=\"Πλάτη (μεγάλο) \u0026amp; Καρδιά (μικρό)\" data-acd-attach\u003e\n\u003cinput class=\"acd__file\" type=\"file\" name=\"properties[_Προεπισκόπηση]\" data-acd-preview data-acd-attach tabindex=\"-1\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"acd__views\"\u003e\n\u003cdiv class=\"acd__view\"\u003e\n\u003ccanvas width=\"560\" height=\"700\" data-acd-front\u003e\u003c\/canvas\u003e\u003csmall\u003eΜΠΡΟΣΤΑ · ΚΑΡΔΙΑ\u003c\/small\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"acd__view\"\u003e\n\u003ccanvas width=\"560\" height=\"700\" data-acd-back\u003e\u003c\/canvas\u003e\u003csmall\u003eΠΙΣΩ · ΠΛΑΤΗ\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"acd__msg\" data-acd-msg\u003e\u003c\/p\u003e\n\u003cul class=\"acd__notes\"\u003e\n\u003cli\u003eΤο σχέδιό σου τυπώνεται μεγάλο στην πλάτη και μικρό στην καρδιά.\u003c\/li\u003e\n\u003cli\u003eΕλέγχουμε κάθε σχέδιο πριν την εκτύπωση και σε ενημερώνουμε αν χρειαστεί κάτι.\u003c\/li\u003e\n\u003cli\u003eΓια καθαρό αποτέλεσμα, προτίμησε εικόνα τουλάχιστον 1500px.\u003c\/li\u003e\n\u003cli\u003eΤα προσωποποιημένα κομμάτια φτιάχνονται μόνο για σένα και δεν επιστρέφονται.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cscript\u003e\n(function(){\nvar root=document.getElementById('acd-root');\nif(!root||root.dataset.ready)return; root.dataset.ready='1';\nvar kind=\/hoodie\/.test(location.pathname)?'hoodie':'tee';\nvar fileInput=root.querySelector('#acd-file');\nvar prevInput=root.querySelector('[data-acd-preview]');\nvar drop=root.querySelector('.acd__drop');\nvar msg=root.querySelector('[data-acd-msg]');\nvar cvF=root.querySelector('[data-acd-front]'), cvB=root.querySelector('[data-acd-back]');\nvar userImg=null;\nvar CDN='https:\/\/cdn.shopify.com\/s\/files\/1\/0967\/8035\/3883\/files\/';\nvar SLUG={'μαύρο':'mavro','λευκό':'lefko','μπεζ':'mpez','λιλά':'lila','πετρόλ':'petrol','φυστικί':'fystiki','ροζ':'roz','κυπαρίσσι':'kyparissi','φουξ':'foux','κίτρινο':'kitrino','μπανανί':'kitrino'};\nvar DARK={mavro:1,petrol:1,kyparissi:1,foux:1};\nvar AREA={tee:{w:1080,heart:[630,430,100,100],back:[390,400,300,370]},hoodie:{w:1122,heart:[620,650,90,90],back:[405,610,320,380]}};\nvar cache={};\nfunction currentSlug(){\nvar name='';\ndocument.querySelectorAll('variant-radios input:checked, variant-selects input:checked, variant-selects select, variant-radios select, .product-form__input input:checked, .product-form__input select').forEach(function(el){\nvar fs=el.closest('fieldset,.product-form__input');\nvar legend=fs?((fs.querySelector('legend,label')||{}).textContent||''):'';\nvar v=(el.value||'').trim().toLowerCase();\nif(\/χρώμα|color\/i.test(legend)) name=v; else if(!name\u0026\u0026SLUG[v]) name=v;\n});\nreturn SLUG[name]||(kind==='hoodie'?'mpez':'mavro');\n}\nfunction load(src){ if(cache[src])return cache[src]; cache[src]=new Promise(function(res,rej){ var i=new Image(); i.crossOrigin='anonymous'; i.onload=function(){res(i)}; i.onerror=rej; i.src=src; }); return cache[src]; }\nfunction drawView(cv,photo,area,slug,isHeart){\nvar ctx=cv.getContext('2d'), k=cv.width\/photo.naturalWidth;\nctx.clearRect(0,0,cv.width,cv.height); ctx.drawImage(photo,0,0,cv.width,photo.naturalHeight*k);\nvar bx=area[0]*k,by=area[1]*k,bw=area[2]*k,bh=area[3]*k;\nif(userImg){ var r=Math.min(bw\/userImg.width,bh\/userImg.height),w=userImg.width*r,h=userImg.height*r; ctx.drawImage(userImg,bx+(bw-w)\/2,by+(isHeart?(bh-h)\/2:0),w,h); }\nelse { ctx.save(); ctx.setLineDash([6,5]); ctx.lineWidth=2; ctx.strokeStyle=DARK[slug]?'rgba(255,255,255,.6)':'rgba(0,0,0,.35)'; ctx.strokeRect(bx,by,bw,bh); ctx.restore(); }\n}\nvar seq=0;\nfunction render(){\nvar my=++seq, slug=currentSlug(), pre=kind==='hoodie'?'hoodie':'tee', A=AREA[kind];\nPromise.all([load(CDN+pre+'-blank-front-'+slug+'.jpg'),load(CDN+pre+'-blank-back-'+slug+'.jpg')]).then(function(p){\nif(my!==seq)return;\ndrawView(cvF,p[0],A.heart,slug,true); drawView(cvB,p[1],A.back,slug,false);\nif(userImg) buildPreviewFile();\n}).catch(function(){});\n}\nfunction buildPreviewFile(){\nif(!window.DataTransfer)return;\ntry{\nvar c=document.createElement('canvas'); c.width=cvF.width*2; c.height=cvF.height;\nvar x=c.getContext('2d'); x.drawImage(cvF,0,0); x.drawImage(cvB,cvF.width,0);\nc.toBlob(function(b){ if(!b)return; try{ var dt=new DataTransfer(); dt.items.add(new File([b],'aeris-preview.jpg',{type:'image\/jpeg'})); prevInput.files=dt.files; }catch(e){} },'image\/jpeg',0.88);\n}catch(e){}\n}\nfunction setMsg(t,cls){ msg.textContent=t; msg.className='acd__msg'+(cls?' '+cls:''); }\nfunction handle(file){\nif(!file)return;\nif(!\/^image\\\/(png|jpe?g|webp)$\/i.test(file.type)){ setMsg('Ανέβασε εικόνα JPG, PNG ή WEBP.','is-error'); fileInput.value=''; return; }\nif(file.size\u003e10*1024*1024){ setMsg('Η εικόνα είναι πάνω από 10MB. Δοκίμασε μια μικρότερη.','is-error'); fileInput.value=''; return; }\nvar img=new Image();\nimg.onload=function(){\nuserImg=img; render();\nvar small=Math.min(img.width,img.height)\u003c1000;\nsetMsg(small?'Η εικόνα είναι μικρή ('+img.width+'×'+img.height+'px) και μπορεί να τυπωθεί θολή. Αν έχεις μεγαλύτερη, προτίμησέ την.':'Τέλεια! Δες πώς θα είναι και πρόσθεσέ το στο καλάθι.', small?'is-error':'is-ok');\ndrop.querySelector('strong').textContent='Άλλαξε εικόνα';\n};\nimg.onerror=function(){ setMsg('Δεν μπορέσαμε να διαβάσουμε την εικόνα. Δοκίμασε άλλη.','is-error'); };\nimg.src=URL.createObjectURL(file);\n}\nfileInput.addEventListener('change',function(){ handle(fileInput.files[0]); });\n['dragenter','dragover'].forEach(function(e){ drop.addEventListener(e,function(ev){ev.preventDefault();drop.classList.add('is-over');}); });\n['dragleave','drop'].forEach(function(e){ drop.addEventListener(e,function(ev){ev.preventDefault();drop.classList.remove('is-over');}); });\ndrop.addEventListener('drop',function(ev){ var f=ev.dataTransfer.files[0]; if(!f)return; try{ var dt=new DataTransfer(); dt.items.add(f); fileInput.files=dt.files; }catch(e){} handle(f); });\ndocument.addEventListener('change',function(ev){ if(ev.target.closest\u0026\u0026ev.target.closest('variant-radios,variant-selects,.product-form__input'))setTimeout(render,60); });\ndocument.addEventListener('submit',function(ev){\nif(!ev.target.getAttribute||ev.target.getAttribute('id')!==root.dataset.formId)return;\nif(!fileInput.files||!fileInput.files.length){\nev.preventDefault(); ev.stopImmediatePropagation();\nsetMsg('Ανέβασε πρώτα το σχέδιό σου για να το προσθέσεις στο καλάθι.','is-error');\nroot.scrollIntoView({behavior:'smooth',block:'center'});\n}\n},true);\nfunction init(){\nvar f=document.querySelector('form[id^=\"product-form-template\"][id$=\"__main\"]')||document.querySelector('product-form form[action*=\"\/cart\/add\"]');\nif(f){ root.dataset.formId=f.getAttribute('id'); f.setAttribute('enctype','multipart\/form-data');\nroot.querySelectorAll('[data-acd-attach]').forEach(function(el){el.setAttribute('form',f.getAttribute('id'));});\nvar pf=f.closest('product-form')||f; pf.parentNode.insertBefore(root,pf); }\nroot.style.display=''; render();}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n","brand":"Aeris","offers":[{"title":"Μαύρο \/ S","offer_id":54204137177435,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ M","offer_id":54204137210203,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ L","offer_id":54204137242971,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ XL","offer_id":54204137275739,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μαύρο \/ 2XL","offer_id":54204137308507,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λευκό \/ S","offer_id":54204137341275,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λευκό \/ M","offer_id":54204137374043,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":false},{"title":"Λευκό \/ L","offer_id":54204137406811,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λευκό \/ XL","offer_id":54204137439579,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λευκό \/ 2XL","offer_id":54204137472347,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ S","offer_id":54204280865115,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ M","offer_id":54204280897883,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ L","offer_id":54204280930651,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ XL","offer_id":54204280963419,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Μπεζ \/ 2XL","offer_id":54204280996187,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ S","offer_id":54204281028955,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ M","offer_id":54204281061723,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ L","offer_id":54204281094491,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ XL","offer_id":54204281127259,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Λιλά \/ 2XL","offer_id":54204281160027,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ S","offer_id":54204281192795,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ M","offer_id":54204281225563,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ L","offer_id":54204281258331,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ XL","offer_id":54204281291099,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true},{"title":"Πετρόλ \/ 2XL","offer_id":54204281323867,"sku":null,"price":50.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0967\/8035\/3883\/files\/custom-tee-v2-back-mavro.jpg?v=1790524467","url":"https:\/\/www.aerishistory.com\/products\/custom-tshirt","provider":"Aeris","version":"1.0","type":"link"}