Informatie
We zijn trots op ons aanpassingsvermogen en ons streven naar uitmuntendheid in elk aspect van onze service. Ontdek wat wij te bieden hebben en zie hoe wij kunnen bijdragen aan jouw succes.
Social media
We zijn trots op ons aanpassingsvermogen en ons streven naar uitmuntendheid in elk aspect van onze service. Ontdek wat wij te bieden hebben en zie hoe wij kunnen bijdragen aan jouw succes.
const btn = document.createElement('button'); btn.textContent='â'; btn.style.position='absolute'; btn.style.right='-6px'; btn.style.top='-6px'; btn.title='Remove'; btn.addEventListener('click', ()=>{ stagedImages.splice(i,1); renderPreviews(); }); wrapper.appendChild(btn); container.appendChild(wrapper); }); } // Utilities: image resize via canvas -> dataURL function fileToDataUrlResize(file, maxDim=1200, quality=0.8){ return new Promise((resolve,reject)=>{ const img = new Image(); const reader = new FileReader(); reader.onload = ()=>{ img.onload = ()=>{ const [w,h] = [img.width,img.height]; let nw=w, nh=h; if(Math.max(w,h)>maxDim){ if(w>=h){ nw = maxDim; nh = Math.round(h * (maxDim/w)); } else { nh = maxDim; nw = Math.round(w * (maxDim/h)); } } const canvas = document.createElement('canvas'); canvas.width = nw; canvas.height = nh; const ctx = canvas.getContext('2d'); ctx.drawImage(img,0,0,nw,nh); const mime = 'image/jpeg'; try{ const dataUrl = canvas.toDataURL(mime, quality); resolve(dataUrl); }catch(err){ reject(err); } }; img.onerror = (e)=>reject(e); img.src = reader.result; }; reader.onerror = (e)=>reject(e); reader.readAsDataURL(file); }); } // Persistence function loadReviews(){ try{ const raw = localStorage.getItem(LS_KEY); return raw? JSON.parse(raw): []; }catch(e){ return []; } } function saveReviews(list){ localStorage.setItem(LS_KEY, JSON.stringify(list.slice(0,200))); } // Render reviews list function sanitizeText(str){ const div = document.createElement('div'); div.textContent = str; return div.innerHTML; } function renderReviews(list){ const container = $('reviewsList'); container.innerHTML=''; if(list.length===0){ container.innerHTML = '