๐Ÿ‘ค
User Loading...
โ† Back to Dashboard

Sign Editor

Text Rows

Border & Background

Logo

Live Preview

Saved Signs

`);w.document.close();} document.addEventListener('DOMContentLoaded',async()=>{try{const r=await fetch('/api/api.php?endpoint=session',{credentials:'include'});if(!r.ok)return location.href='/login.html';const s=await r.json();if(!s.success)return location.href='/login.html';const t=s.data.userType,p=location.pathname.split('/').pop().replace('.html','');if(t!=='RxOverlord'){const a=await fetch(`/api/check-page-access.php?page=${p}`,{credentials:'include'}),x=await a.json();if(!x.hasAccess){window.Toast ? window.Toast.error('Access Denied: You do not have permission to view this page.') : alert('Access Denied: You do not have permission to view this page.');return location.href='/index.html';}}const u=s.data;userDisplay.textContent=(u.user?.displayName||u.user?.username||u.displayName||'User');userRole.textContent=u.userType?u.userType.toUpperCase():'';logoutBtn.onclick=async()=>{if(confirm('Are you sure you want to logout?')){try{await fetch('/api/api.php?endpoint=session&action=logout',{method:'POST',credentials:'include'});}catch(e){}location.href='/login.html';};};}catch(e){return location.href='/login.html';} const isLight=localStorage.getItem('pharmassist_dark_mode')==='disabled';if(isLight){document.body.classList.add('light-mode');darkModeToggle.textContent='๐ŸŒ™';}darkModeToggle.onclick=function(){document.body.classList.toggle('light-mode');const l=document.body.classList.contains('light-mode');localStorage.setItem('pharmassist_dark_mode',l?'disabled':'enabled');this.textContent=l?'๐ŸŒ™':'โ˜€๏ธ';}; logoPath.innerHTML=LOGOS.map(p=>``).join(''); renderRows();renderPreview();['signName','unit','width','height','borderStyle','borderWidth','borderColor','borderRadius','backgroundColor','logoPath','logoPosition','logoSize'].forEach(id=>{document.getElementById(id).addEventListener('input',renderPreview);document.getElementById(id).addEventListener('change',renderPreview);}); addRow.onclick=()=>{state.text_rows.push({text:'New text',fontSize:24,fontFamily:'Arial',fontColor:'#000000',bold:false,italic:false,underline:false});renderRows();renderPreview();}; saveBtn.onclick=save;newBtn.onclick=()=>{state.id=null;signName.value='';state.text_rows=[{text:'',fontSize:24,fontFamily:'Arial',fontColor:'#000000',bold:false,italic:false,underline:false}];renderRows();renderPreview();};pdfBtn.onclick=exportPDF;wordBtn.onclick=exportWord;previewBtn.onclick=()=>{previewContent.innerHTML=signCanvas.outerHTML;previewModal.classList.add('active');};closePreview.onclick=()=>previewModal.classList.remove('active');printFromPreview.onclick=printSign;printBtn.onclick=printSign;loadSaved(); });