1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b14f696f-4917-4d9c-a89f-27ff75dbd3e5",e._sentryDebugIdIdentifier="sentry-dbid-b14f696f-4917-4d9c-a89f-27ff75dbd3e5")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2486],{5559:(e,t,r)=>{r.d(t,{AM:()=>P,eU:()=>y,f5:()=>b,iU:()=>h});var n=r(58725);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let o=42,l=21,s={ı:"\x8d",İ:"\x98",Ä:"\xa7",Ä:"\xa6",ü:"\x81",Ã:"\x9a",Å:"\x9f",Å:"\x9e",ö:"\x94",Ã:"\x99",ç:"\x87",Ã:"\x80"},c={ı:"i",İ:"I",Ä:"g",Ä:"G",ü:"u",Ã:"U",Å:"s",Å:"S",ö:"o",Ã:"O",ç:"c",Ã:"C"},d=(()=>{let e={Ã:"AE",æ:"ae",Ã:"ss",Å:"OE",Å:"oe",Ã:"D",Ã:"TH",þ:"th"};for(let[t,r]of[["A","\xc0\xc1\xc2\xc3\xc4\xc5ÄÄ"],["E","\xc8\xc9\xca\xcbÄÄÄ"],["I","\xcc\xcd\xce\xcfĪĮ"],["N","\xd1ÅÅ"],["O","\xd2\xd3\xd4\xd5\xd8ÅÅ"],["U","\xd9\xda\xdbŪŮŰ"],["Y","\xddŸ"],["C","ÄÄÄ"],["S","ÅÅ È"],["Z","ŹŻŽ"],["G","ÄÄ "],["L","ÅĽ"],["R","ÅÅ"],["D","ÄÄ"],["T","ŤÈ"],["a","\xe0\xe1\xe2\xe3\xe4\xe5ÄÄ"],["e","\xe8\xe9\xea\xebÄÄÄ"],["i","\xec\xed\xee\xefīį"],["n","\xf1ÅÅ"],["o","\xf2\xf3\xf4\xf5\xf8ÅÅ"],["u","\xf9\xfa\xfbūůű"],["y","\xfd\xff"],["c","ÄÄÄ"],["s","ÅÅ¡È"],["z","źżž"],["g","ÄÄ¡"],["l","Åľ"],["r","ÅÅ"],["d","ÄÄ"],["t","Å¥È"]])for(let n of r)e[n]=t;return e})(),u={"âº":"TL","\xb7":"-","â":"'","â":"'","â":"'","â²":"'","â":'"',"â":'"',"â":'"',"â³":'"',"â":"-","â":"-","â":"-","â¦":"...","\xa0":" ","Ì":""},p=(e,t,r)=>String(e).split(t).join(r||0===r?String(r):""),f=e=>{let t=Number(e);return`${(Number.isFinite(t)?t:0).toFixed(2).replace(".",",")} TL`},m=e=>"\x1bt"+String.fromCharCode(e);function y(e){return"58mm"===(e?.paperWidth||"80mm")?32:42}function b(e){let t=e&&e.charset;if("cp857"===t){let r=e.charsetN,n="number"==typeof r?r:"string"==typeof r&&/^[+-]?\d+$/.test(r.trim())?Number(r.trim()):NaN;return Number.isInteger(n)&&n>=1&&n<=255?{escT:m(n),map:s,charset:t,n}:{escT:"",map:s,charset:t,n:0}}return{escT:m(0),map:c,charset:"ascii",n:0}}function h(e,t,r){let{showPrices:n=!0,buzzer:i}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=b(e);return{charset:s.charset,data:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{showPrices:n=!0,charset:i,charsetN:s,paperWidth:c=42,buzzer:d=!1}=r;l=Math.floor((o=32===c?32:42)/2);let u=b({charset:i,charsetN:s});g=u.map;let m="";return m+="\x1b@",m+="\x1c.",m+=u.escT,m+="\x1bM\0",m+="\x1b2",e.forEach(e=>{switch(e.type){case"text":if(!n&&e.content&&["{total}","{subtotal}","{service}"].some(t=>e.content.includes(t)))break;m+=function(e,t){let r=e.content||"";if(r.includes("{service}")&&(!t.service||t.service<=0)||r.includes("{subtotal}")&&(!t.service||t.service<=0)||r.includes("{order}")&&(null==t.orderNumber||void 0===t.orderNumber)||r.includes("{delivery}")&&!t.delivery||r.includes("{staff}")&&!t.isQRMenuOrder&&!t.staff)return"";let n="";return n+=function(e){switch(e){case"center":return"\x1ba\x01";case"right":return"\x1ba\x02";default:return"\x1ba\0"}}(e.alignment),n+=z(e.fontSize),e.bold&&(n+="\x1bE\x01"),e.underline&&(n+="\x1b-\x01"),n+=x(function(e,t){if(!e)return"";let r=e,n=t.date?new Date(t.date):new Date,i=n.toLocaleDateString("tr-TR"),a=n.toLocaleTimeString("tr-TR",{hour:"2-digit",minute:"2-digit"}),o=a;if(t.isQRMenuOrder&&t.createdAt){let e=t.createdAt?.toDate?.()||t.createdAt,r=Math.floor((Date.now()-e.getTime())/6e4);if(r<1)o=`${a} (az once)`;else if(r<60)o=`${a} (${r} dk once)`;else{let e=Math.floor(r/60);o=`${a} (${e} sa ${r%60} dk once)`}}return r=p(r,"{business}",t.business),r=p(r,"{table}",t.table),r=p(r,"{printer}",t.printer),r=p(r,"{date}",i),r=p(r,"{time}",o),r=p(r,"{total}",f(t.total)),r=p(r,"{subtotal}",null!=t.subtotal?f(t.subtotal):""),r=p(r,"{service}",t.service>0?f(t.service):""),r=p(r,"{order}",t.orderNumber),r=p(r,"{payment}",t.payment),r=p(r,"{delivery}",t.delivery),r=p(r,"{staff}",t.isQRMenuOrder?"QR Men\xfc":t.staff)}(r,t))+"\n",n+="\x1bE\0\x1b-\0\x1d!\0\x1ba\0"}(e,t);break;case"divider":m+="\x1ba\0\x1d!\0"+"-".repeat(o)+"\n";break;case"products":m+=function(e,t){let r=!(arguments.length>2)||void 0===arguments[2]||arguments[2],n="";if(!t.items||0===t.items.length)return n;let i=e.fontSize||10,s=(parseInt(i)||10)>=13?l:o,c=e.bold||!1;
1return n+=z(i),t.items.forEach(t=>{let i=t.quantity||1,o=null!=t.compQuantity?t.compQuantity:(t.comps||[]).reduce((e,t)=>e+(t.quantity||0),0),l=null!=t.refundQuantity?t.refundQuantity:(t.refunds||[]).reduce((e,t)=>e+(t.quantity||0),0),d=i-o-l;l>0&&(n+=O(a(a({},t),{},{quantity:l}),e,s,c,r,"refund")),o>0&&(n+=O(a(a({},t),{},{quantity:o}),e,s,c,r,"comp")),d>0&&(n+=O(a(a({},t),{},{quantity:d}),e,s,c,r,"normal")),d<=0&&0===l&&0===o&&(n+=O(t,e,s,c,r,"normal"))}),n+="\x1d!\0"}(e,t,n)}}),m+="\n\n\n",d&&(m+="\x1bp\0\x19\xfa\x1bB\x02\x03"),m+="\x1dVB\0"}(t,r,{showPrices:!!n,charset:s.charset,charsetN:s.n,paperWidth:y(e),buzzer:void 0===i?!!(e&&e.buzzerOnPrint):!!i})}}let g=s;function w(e){if(!e)return"";let t="";for(let r of e.normalize("NFC")){let e=u[r];if(void 0!==e){t+=e;continue}let n=d[r];t+=void 0!==n?n:r}return t}function x(e){if(!e)return"";let t="";for(let r of w(e)){let e=g[r];if(void 0!==e){t+=e;continue}t+=127>=r.codePointAt(0)?r:"?"}return t}function z(e){let t=parseInt(e)||10;return t>=15?"\x1d!\x11":t>=13?"\x1d!\x10":t>=11?"\x1d!\x01":"\x1d!\0"}function P(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o,n=w(e),i=w(t),a=[...i].length,l=r-[...n].length-a;return l>=0?n+" ".repeat(l)+i:n+"\n"+" ".repeat(Math.max(0,r-a))+i}function O(e,t,r,n){let i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"normal",o="",l=e.quantity||1,s=e.productName||e.name||"",c=e.unit??e.price??0,d="refund"===a?t.refundLabel||"İADE":"comp"===a?t.complimentaryLabel||"İKRAM":null,u=("refund"===a?t.refundLabelPosition:t.complimentaryLabelPosition)||"inline",m=t.priceFormatPosition||"right",y=p(p(t.normalFormat||"{quantity}x {name}","{quantity}",l),"{name}",s),b=t.priceFormat&&i?p(t.priceFormat,"{price}",f("refund"===a?-(c*l):"comp"===a?0:c*l)):"";d&&"inline"===u&&(y=`${y} (${d})`),b&&"inline"===m&&(y=`${y} ${b}`);let h="";d&&"right"===u?h=d:b&&"right"===m&&(h=b),n&&(o+="\x1bE\x01"),o+=x(P(y,h,r))+"\n",n&&(o+="\x1bE\0");let g=e=>{o+=" "+x(e)+"\n"};if(d&&"below"===u&&g(d),b&&"below"===m&&g(b),"normal"!==a)return o;let w=t.optionFormat||"- {option}",z=t.optionGroupFormat||"{group}:";if(e.options&&e.options.length>0){let t=new Map;e.options.forEach(e=>{let r="",n="",i=0;"object"==typeof e&&null!==e?(r=e.optionName||"",n=e.valueName||e.optionName||"",i=Number(e.price??e.extraPrice)||0):n=e,n&&(t.has(r)||t.set(r,[]),t.get(r).push({valueText:n,price:i}))}),t.forEach((e,t)=>{t&&g(p(z,"{group}",t)),e.forEach(e=>{let{valueText:t,price:r}=e,n=p(w,"{option}",t);i&&0!==r&&(n=`${n} (${r>0?"+":""}${f(r)})`),g(n)})})}return e.note&&t.noteFormat&&g(p(t.noteFormat,"{note}",e.note)),o}},8149:(e,t,r)=>{r.d(t,{UP:()=>x,Q4:()=>w,Jc:()=>z,dw:()=>h,xd:()=>y,oU:()=>g,l5:()=>v,tY:()=>O,kC:()=>b});var n=r(58725),i=r(5559),a=r(42309),o=r(85445),l=r(33305);let s=[{type:"text",content:"{business}",alignment:"center",fontSize:16,bold:!0},{type:"text",content:"{date}",alignment:"center",fontSize:10,bold:!1},{type:"text",content:"{time}",alignment:"center",fontSize:10,bold:!1},{type:"text",content:">> {delivery} <<",alignment:"center",fontSize:13,bold:!0},{type:"text",content:"SipariŠNo: {order}",alignment:"center",fontSize:12,bold:!0},{type:"text",content:"Masa: {table}",alignment:"center",fontSize:10,bold:!1},{type:"text",content:"Personel: {staff}",alignment:"center",fontSize:9,bold:!1},{type:"text",content:"Yazıcı: {printer}",alignment:"center",fontSize:9,bold:!1},{type:"divider"},{type:"products",normalFormat:"{quantity}x {name}",refundLabel:"İADE",refundLabelPosition:"inline",complimentaryLabel:"İKRAM",complimentaryLabelPosition:"inline",noteFormat:"Not: {note}",optionFormat:"+ {option}",fontSize:10,bold:!0},{type:"divider"}],c=[{type:"text",content:"{business}",alignment:"center",fontSize:16,bold:!0},{type:"text",content:"{date} {time}",alignment:"center",fontSize:10,bold:!1},{type:"text",content:"SipariŠNo: {order}",alignment:"center",fontSize:12,bold:!0},{type:"text",content:"Masa: {table}",alignment:"center",fontSize:10,bold:!1},{type:"text",content:"Personel: {staff}",alignment:"center",fontSize:9,bold:!1}
1,{type:"text",content:"Yazıcı: {printer}",alignment:"center",fontSize:9,bold:!1},{type:"divider"},{type:"products",normalFormat:"{quantity}x {name}",priceFormat:"{price}",priceFormatPosition:"right",refundLabel:"İADE",refundLabelPosition:"right",complimentaryLabel:"İKRAM",complimentaryLabelPosition:"right",noteFormat:"Not: {note}",optionFormat:"+ {option}",fontSize:10,bold:!1},{type:"divider"},{type:"text",content:"TOPLAM: {total}",alignment:"right",fontSize:12,bold:!0},{type:"divider"},{type:"text",content:"Bizi tercih ettiginiz icin tesekkur ederiz!",alignment:"center",fontSize:9,bold:!1}];function d(e,t){let r=e?.[t]?.elements;return Array.isArray(r)&&r.length>0?r:"billReceipt"===t?c:s}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}async function f(){return a.auth.currentUser?a.auth.currentUser:new Promise((e,t)=>{let r=a.auth.onAuthStateChanged(n=>{r(),n?e(n):t(Error("Oturum bulunamadı"))},e=>{r(),t(e)});setTimeout(()=>{r(),t(Error("Auth timeout"))},5e3)})}async function m(e){let t,{printer:r,data:n,charset:i}=e,a=await f(),o=await a.getIdToken(),s="https://nolyvera-app-default-rtdb.europe-west1.firebasedatabase.app";if(!s)throw Error("Firebase Database URL yapılandırılmamıÅ");let c=(0,l.l)(),d=`${s}/printJobs/${r.printerKey}/${c}.json?auth=${o}`,u=JSON.stringify({data:function(e){try{return btoa(e)}catch(n){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=255&e.charCodeAt(r);let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return btoa(r)}}(n),createdAt:{".sv":"timestamp"},createdBy:a.uid,source:"web",paperWidth:r.paperWidth||"80mm",charset:i||null});for(let e=1;e<=3;e++){let r,n=new AbortController,i=setTimeout(()=>n.abort(),1e4);try{r=await fetch(d,{method:"PUT",headers:{"Content-Type":"application/json"},body:u,signal:n.signal})}catch(r){if(t=r?.name==="AbortError"?Error("Yazdırma isteÄi zaman aÅımına uÄradı"):r,e<3){await new Promise(t=>setTimeout(t,800*e));continue}throw t}finally{clearTimeout(i)}if(r.ok)return;let a=await r.text().catch(()=>""),o=Error(`Yazdırma hatası (${r.status}): ${a}`);if(r.status>=400&&r.status<500)throw o;t=o,e<3&&await new Promise(t=>setTimeout(t,800*e))}throw t||Error("Yazdırma hatası: bilinmeyen")}function y(e){return e&&e.type===o.IP.CLOUD_RTDB&&e.printerKey}function b(e,t){return t&&Array.isArray(e)&&e.find(e=>e&&e.id===t)||null}async function h(e){let{order:t,items:r,products:n,categories:a,printers:o,templates:l,onError:s}=e,c={dispatchedPrinterCount:0,unroutedNames:[],missingProductNames:[],noActiveOrderPrinter:!1,nonWebDispatchableNames:[],skippedPrinterNames:[]};if(!Array.isArray(r)||0===r.length)return c;if(!Array.isArray(o)||0===o.length)return c.noActiveOrderPrinter=!0,c;if(l?.orderReceipt?.enabled!==!0)return c;if(!o.some(e=>e&&!1!==e.isActive&&e.printsOrderTicket))return c.noActiveOrderPrinter=!0,c;let u=d(l,"orderReceipt"),f=new Map;for(let e of n||[])e?.id&&f.set(e.id,e);let b=new Map;for(let e of a||[])e?.id&&b.set(e.id,e);let h=new Map;for(let e of o)e?.id&&h.set(e.id,e);let g=new Map,w=new Set,x=new Set;for(let e of r){let t=f.get(e.productId);if(!t){x.add(e.productName||e.productId);continue}let r=Array.from(new Set([...Array.isArray(t.targetPrinterIds)?t.targetPrinterIds:[],...t.categoryId&&b.get(t.categoryId)?.targetPrinterIds||[]]));if(0===r.length){w.add(e.productName||e.productId);continue}for(let t of r)g.has(t)||g.set(t,[]),g.get(t).push(e)}if(c.unroutedNames=Array.from(w),c.unroutedNames.length>0&&console.warn(`[PrinterRouting] Adisyon: yazıcısı atanmamıŠ\xfcr\xfcn(ler) atlandı: ${c.unroutedNames.join(", ")}`),c.missingProductNames=Array.from(x),c.missingProductNames.length>0&&console.warn(`[PrinterRouting] Adisyon: \xfcr\xfcn kaydı bulunamadıÄı i\xe7in atlanan item(lar): ${c.missingProductNames.join(", ")}`),0===g.size)return console.warn(`[PrinterRouting] Adisyon: hi\xe7bir item yazıcılara y\xf6nlendirilemedi (toplam ${r.length} item). \xdcr\xfcn/kategori yazıcı atamalarını kontrol edin.`),c;let z=new Set,P=new Map,O=new Set;for(let[e,r]of g.entries()){let n=h.get(e);if(!n||!1===n.isActive||!n.printsOrderTicket){P.set(e,{name:n?.name||"silinmiÅ yazıcı",items:r}),console.warn(`[PrinterRouting] Adisyon: ${n?.name||e} pasif, silinmiÅ veya "Adisyon FiÅi" yetkisi yok; ona y\xf6nlendirilen \xfcr\xfcnler bu yazıcıdan basılmadı.`);continue}for(let e of r)O.add(e);if(!y(n)){z.add(n.name||n.type||e),console.warn(`Yazıcı ${n.name} (${n.type}) web panelden tetiklenemez; mobil uygulamadan basılacak.`);continue}let{data:a,charset:o}=(0,i.iU)(n,u,p(p({},t),{},{items:r,printer:n.name}),{showPrices:!1});c.dispatchedPrinterCount++,m({printer:n,data:a,charset:o}).catch(e=>{console.error(`Adisyon fiÅi (${n.name}) g\xf6nderilemedi:`,e),s?.(n.name,e?.message||String(e))})}return c.nonWebDispatchableNames=Array.from(z),c.skippedPrinterNames=Array.from(P.values()).filter(e=>e.items.some(e=>!O.has(e))).map(e=>e.name),c}function g(e){let t=[],r=[];return e&&(e.noActiveOrderPrinter&&t.push('Adisyon (mutfak) fiÅi basacak aktif yazıcı yok. Dashboard > Yazıcılar sayfasından bir yazıcıya "Adisyon FiÅi" yetkisi verin.'),e.unroutedNames&&e.unroutedNames.length>0&&t.push(`Yazıcısı atanmamıŠ\xfcr\xfcn(ler) adisyon fiÅine d\xfcÅmedi: ${e.unroutedNames.join(", ")}. Dashboard > \xdcr\xfcnler/Kategoriler'den yazıcı atayın.`),e.missingProductNames&&e.missingProductNames.length>0&&t.push(`\xdcr\xfcn kaydı bulunamadıÄı i\xe7in adisyon fiÅine d\xfcÅmeyen item(lar): ${e.missingProductNames.join(", ")}.`),e.skippedPrinterNames&&e.skippedPrinterNames.length>0&&t.push(`Åu yazıcı(lar) pasif veya "Adisyon FiÅi" yetkisi yok, onlara y\xf6nlendirilen \xfcr\xfcnler basılmadı: ${e.skippedPrinterNames.join(", ")}.`),e.nonWebDispatchableNames&&e.nonWebDispatchableNames.length>0&&r.push(`Åu yazıcı(lar) web panelden basılamaz, mobil uygulamadan basılacak: ${e.nonWebDispatchableNames.join(", ")}.`)),{errors:t,infos:r}}async function w(e){let{order:t,items:r,printers:n,templates:i,onError:a}=e,o={dispatchedPrinterCount:0,nonWebDispatchableNames:[],noBillPrinter:!1};if(!Array.isArray(n)||0===n.length)return o.noBillPrinter=!0,o;if(i?.billReceipt?.enabled!==!0)return o;let l=d(i,"billReceipt"),s=n.filter(e=>e&&!1!==e.isActive&&e.printsBillReceipt);if(0===s.length)return o.noBillPrinter=!0,console.warn("[PrinterRouting] Hesap f
1iÅi: printsBillReceipt=true olan aktif yazıcı yok. Yazıcı ayarlarını kontrol edin."),o;let c=[];for(let e of s){if(!y(e)){c.push(e.name||e.type),console.warn(`Yazıcı ${e.name} (${e.type}) web panelden tetiklenemez; mobil uygulamadan basılacak.`);continue}o.dispatchedPrinterCount++,P(e,{order:t,items:r,elements:l,onError:a})}return o.nonWebDispatchableNames=c,o}function x(e){return!e||e.dispatchedPrinterCount>0?null:e.noBillPrinter?'Hesap fiÅi basacak aktif yazıcı tanımlı deÄil. Dashboard > Yazıcılar sayfasından bir yazıcıya "Hesap fiÅi basar" yetkisi verin.':e.nonWebDispatchableNames.length>0?`Hesap yazıcıları (${e.nonWebDispatchableNames.join(", ")}) web panelinden tetiklenemez; Nolyvera uygulamasından basın.`:null}async function z(e){let{order:t,items:r,printer:n,templates:i,onError:a}=e;if(n&&i?.billReceipt?.enabled===!0){if(!y(n))throw Error(`Ana yazıcı "${n.name}" (${o.m7[n.type]||n.type}) web panelinden tetiklenemez; Nolyvera uygulamasından basın.`);P(n,{order:t,items:r,elements:d(i,"billReceipt"),onError:a})}}function P(e,t){let{order:r,items:n,elements:a,onError:o}
1=t,{data:l,charset:s}=(0,i.iU)(e,a,p(p({},r),{},{items:n||r.items||[],printer:e.name}),{showPrices:!0});m({printer:e,data:l,charset:s}).catch(t=>{console.error(`Hesap fiÅi (${e.name}) g\xf6nderilemedi:`,t),o?.(e.name,t?.message||String(t))})}async function O(e){let t,{printer:r}=e;if(!r)throw Error("Yazıcı bulunamadı");if(r.type!==o.IP.CLOUD_RTDB)throw Error("Web panelinden yalnızca bulut tipi yazıcılar test edilebilir.");if(!r.printerKey)throw Error("Yazıcı anahtarı bulunamadı");let n=[{type:"text",content:"NOLYVERA",alignment:"center",fontSize:14,bold:!0},{type:"text",content:"TEST FİÅİ",alignment:"center",fontSize:11,bold:!0},{type:"divider"},{type:"text",content:`Yazıcı: ${r.name}`,alignment:"left",fontSize:10},{type:"text",content:`Tipi: ${r.type}`,alignment:"left",fontSize:10},{type:"text",content:`KaÄıt: ${r.paperWidth}`,alignment:"left",fontSize:10},{type:"text",content:`Kod sayfasi: ${"ascii"===(t=(0,i.f5)(r)).charset?"Turkcesiz (ascii)":t.n?`${t.charset} n=${t.n}`:`${t.charset} (otomatik)`}`,alignment:"left",fontSize:10},{type:"text",content:"{date} {time}",alignment:"left",fontSize:10},{type:"divider"},{type:"text",content:"Bu bir test fiÅidir.",alignment:"center",fontSize:9},{type:"text",content:"T\xfcrk\xe7e: \xc7\xe7 ÄÄ Ä°Ä± \xd6\xf6 ÅÅ \xdc\xfc",alignment:"center",fontSize:9}],{data:a,charset:l}=(0,i.iU)(r,n,{items:[]},{showPrices:!1});await m({printer:r,data:a,charset:l})}async function v(e){let{printer:t,elements:r}=e;if(!t)throw Error("Yazıcı bulunamadı");if(t.type!==o.IP.CLOUD_RTDB)throw Error("Web panelinden yalnızca bulut tipi yazıcılara g\xf6nderilebilir.");if(!t.printerKey)throw Error("Yazıcı anahtarı bulunamadı");if(!r?.length)throw Error("Yazdırılacak i\xe7erik bulunamadı");let{data:n,charset:a}=(0,i.iU)(t,r,{items:[]},{showPrices:!0,buzzer:!1});await m({printer:t,data:n,charset:a})}},26606:(e,t,r)=>{r.d(t,{GO:()=>v,Im:()=>w,MV:()=>O,OL:()=>y,Ot:()=>A,TU:()=>p,g7:()=>m,m1:()=>d,qs:()=>c,rV:()=>u,z7:()=>b});var n=r(58725),i=r(54348),a=r(41132);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let s={name:{label:"Yazıcı Adı"},type:{label:"BaÄlantı Tipi"},paperWidth:{label:"KaÄıt Boyutu"},charset:{label:"Kod Sayfası"},charsetN:{label:"Kod Sayfası No"},printsOrderTicket:{label:"Adisyon FiÅi Basar",format:e=>e?"Evet":"Hayır"},printsBillReceipt:{label:"Hesap FiÅi Basar",format:e=>e?"Evet":"Hayır"},buzzerOnPrint:{label:"Sesli Uyarı",format:e=>e?"A\xe7ık":"Kapalı"},isActive:{label:"Aktiflik",format:e=>!1===e?"Pasif":"Aktif"},ipAddress:{label:"IP Adresi"},port:{label:"Port"},printerKey:{label:"Yazıcı Anahtarı",format:e=>e?"â¢â¢â¢â¢":"â"}},c=async e=>{let t=(0,i.H9)(i.db,"businesses",e),r=await (0,i.x7)(t);return r.exists()&&r.data().printer||null},d=(0,i.Fr)(c,3e4),u=async function(e,t,r){let{actorId:n,actorName:o}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},l=(0,i.H9)(i.db,"businesses",e),s={};void 0!==t&&(s["printer.orderReceipt"]=t),void 0!==r&&(s["printer.billReceipt"]=r);let c=await (0,i.mZ)(l,s);try{let i=[];
1void 0!==t&&i.push({field:"orderReceipt.enabled",label:"Adisyon FiÅi",from:null,to:t.enabled?"Aktif":"Pasif"}),void 0!==r&&i.push({field:"billReceipt.enabled",label:"Hesap FiÅi",from:null,to:r.enabled?"Aktif":"Pasif"}),i.length>0&&await (0,a.EZ)(e,{entityType:"printer",entityLabel:"FiÅ Åablonları",changes:i,actorId:n,actorName:o})}catch(e){console.error("auditLog (printer receipt settings) error:",e?.message||e)}return c},p=async function(e,t){let{actorId:r,actorName:n,fromName:o,toName:l}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=(0,i.H9)(i.db,"businesses",e),c=await (0,i.mZ)(s,{"printer.mainPrinterId":t||null});d.invalidate(e);try{await (0,a.EZ)(e,{entityType:"printer",entityLabel:"Ana Yazıcı",changes:[{field:"mainPrinterId",label:"Ana Yazıcı",from:o||"â",to:l||"â"}],actorId:r,actorName:n})}catch(e){console.error("auditLog (main printer) error:",e?.message||e)}return c},f=e=>(0,i.rJ)(i.db,"businesses",e,"printers"),m=async e=>{let t=(0,i.P)(f(e),(0,i.My)("index","asc"));return(await (0,i.GG)(t)).docs.map(e=>l({id:e.id},e.data()))},y=(0,i.Fr)(m,3e4),b=async(e,t)=>{let r=await (0,i.x7)((0,i.H9)(i.db,"businesses",e,"printers",t));return r.exists()?l({id:r.id},r.data()):null},h=e=>(0,i.H9)(i.db,"printerKeyIndex",e),g=()=>String(Math.floor(1e7+9e7*Math.random())),w=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5;for(let t=0;t<e;t++){let e=g();if(!(await (0,i.x7)(h(e))).exists())return e}throw Error("Benzersiz yazıcı anahtarı \xfcretilemedi")},x=async e=>{if(e&&/^[0-9]{8}$/.test(e))try{await (0,i.kd)(h(e))}catch(t){console.warn("printerKeyIndex temizlenemedi:",e,t)}},z=async(e,t,r,n)=>{let a=i.j2.currentUser?.uid;if(!a)throw Error("Yazıcı kaydı i\xe7in oturum gerekli");return(0,i.c4)(i.db,async o=>{let l=h(t),s=await o.get(l);if(s.exists()){let t=s.data()||{};if(t.businessId!==e||t.printerId!==r.id)return null}return n(o,r),o.set(l,{businessId:e,printerId:r.id,createdBy:a,createdAt:(0,i.O5)()}),r.id})},P=(e,t,r)=>z(e,r,(0,i.H9)(f(e)),(e,n)=>e.set(n,l(l({},t),{},{printerKey:r,createdAt:(0,i.O5)(),updatedAt:(0,i.O5)()}))),O=async function(e,t){let{actorId:r,actorName:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=async i=>{y.invalidate?.(e);try{await (0,a._k)(e,{entityType:"printer",entityId:i,entityLabel:t?.name,actorId:r,actorName:n})}catch(e){console.error("auditLog (printer create) error:",e?.message||e)}};if("CLOUD_RTDB"===t.type){let r=t.printerKey;if(r){if(!/^[0-9]{8}$/.test(r))throw Error("Ge\xe7ersiz yazıcı anahtarı (8 haneli rakam olmalı)");let n=await P(e,t,r);if(!n)throw Error("Bu yazıcı anahtarı zaten kullanımda");return await o(n),n}for(let r=0;r<5;r++){let r=g(),n=await P(e,t,r);if(n)return await o(n),n}throw Error("Benzersiz yazıcı anahtarı \xfcretilemedi")}let s=await (0,i.gS)(f(e),l(l({},t),{},{createdAt:(0,i.O5)(),updatedAt:(0,i.O5)()}));return await o(s.id),s.id},v=async function(e,t,r){let{actorId:n,actorName:o,previousData:c}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},d=(0,i.H9)(i.db,"businesses",e,"printers",t),u=r?.printerKey,p=c?.printerKey;if(u&&u!==p){if(!/^[0-9]{8}$/.test(u))throw Error("Ge\xe7ersiz yazıcı anahtarı (8 haneli rakam olmalı)");if(!await z(e,u,d,(e,t)=>e.update(t,l(l({},r),{},{updatedAt:(0,i.O5)()}))))throw Error("Bu yazıcı anahtarı zaten kullanımda");p&&await x(p)}else await (0,i.mZ)(d,l(l({},r),{},{updatedAt:(0,i.O5)()}));y.invalidate?.(e);try{let i=(0,a.TU)(c,r,s);i.length>0&&await (0,a.EZ)(e,{entityType:"printer",entityId:t,entityLabel:r?.name||c?.name,changes:i,actorId:n,actorName:o})}catch(e){console.error("auditLog (printer update) error:",e?.message||e)}},A=async function(e,t){let{reason:r,actorId:n,actorName:o,entityLabel:l}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=(0,i.H9)(i.db,"businesses",e,"printers",t),c=null;try{let e=await (0,i.x7)(s);e.exists()&&(c=e.data()?.printerKey||null)}catch(e){}await (0,i.kd)(s),y.invalidate?.(e),c&&await x(c);try{await (0,a.d5)(e,{entityType:"printer",entityId:t,entityLabel:l,reason:r,actorId:n,actorName:o})}catch(e){console.error("auditLog (printer delete) error:",e?.message||e)}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.