Files
nademitex_admin/dist/assets/SettingsView-DUUxvo0M.js
T
mohmdsdgandCopilot 9854842ada fix(auth): secure sessions and app routing
Validate sessions against the API, honor configurable base paths, and route unknown pages to 404. Keep development ports stable so user and admin apps cannot be confused.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-24 20:14:11 +03:30

1 line
9.0 KiB
JavaScript

import{$ as e,C as t,Ct as n,G as r,H as i,J as a,Q as ee,V as o,X as s,Z as c,b as te,dt as ne,et as l,g as re,gt as u,it as d,lt as f,nt as p,st as ie,vt as m,yt as h,z as ae}from"./index-B2VD3zy8.js";import{t as oe}from"./AdminPageSkeleton-BJpm6oxf.js";var g={class:`settings-page`},_={class:`admin-page-header`},v=[`disabled`],y={key:1,class:`settings-page__grid`},b={class:`admin-card settings-page__section`},x={class:`admin-form__field`},S={class:`admin-form__field`},C={class:`admin-form__field`},w={class:`settings-page__check`},T={class:`settings-page__check`},E={class:`admin-form__field`},D=[`disabled`],O={class:`settings-page__checks`},k={class:`settings-page__check`},A={class:`settings-page__check`},j={class:`admin-card settings-page__section`},M={class:`settings-page__checks`},N={class:`settings-page__check`},P={class:`settings-page__check`},se={class:`settings-page__check`},F={class:`settings-page__check`},I={class:`settings-page__check`},L={class:`admin-card settings-page__section`},R={class:`admin-form__field`},z={class:`admin-form__field`},B={class:`admin-card settings-page__section`},V={class:`admin-form__field`},H={class:`admin-form__field`},U={key:0,class:`admin-form__field`},W={class:`settings-page__customers`},G=[`checked`,`onChange`],K={class:`settings-page__phone`,dir:`ltr`},ce=[`disabled`],q=o(d({__name:`SettingsView`,setup(o){let d=ae(),q=m({maxMeteragePerInvoice:5e3,cashInvoiceValidityHours:8,smsOrderRegistered:!0,smsPricingReady:!0,smsPaymentReminder:!0,smsCheckReview:!0,smsShippingUpdate:!0,defaultSettlementCheck:!0,defaultSettlementCash:!0,minOrderRollsPerProduct:1,showCatalogPublicPrice:!1,allowAgentPricing:!1,agentMinUnitPrice:null,supportPhone:``,supportEmail:``}),J=m({title:``,body:``}),Y=h(!1),X=h([]),Z=h([]),Q=h(!0),$=h(!1),le=s(()=>Y.value?`در حال ارسال…`:Z.value.length?`ارسال به ${Z.value.length} مشتری انتخاب‌شده`:`ارسال به همه مشتریان فعال`);function ue(e,t){t?Z.value.includes(e)||Z.value.push(e):Z.value=Z.value.filter(t=>t!==e)}ie(async()=>{Q.value=!0;try{let[e,n]=await Promise.all([t.get(),re.list()]);Object.assign(q,{maxMeteragePerInvoice:e.maxMeteragePerInvoice,cashInvoiceValidityHours:e.cashInvoiceValidityHours,smsOrderRegistered:e.smsOrderRegistered,smsPricingReady:e.smsPricingReady,smsPaymentReminder:e.smsPaymentReminder,smsCheckReview:e.smsCheckReview,smsShippingUpdate:e.smsShippingUpdate,defaultSettlementCheck:e.defaultSettlementCheck,defaultSettlementCash:e.defaultSettlementCash,minOrderRollsPerProduct:e.minOrderRollsPerProduct??1,showCatalogPublicPrice:e.showCatalogPublicPrice??!1,allowAgentPricing:e.allowAgentPricing??!1,agentMinUnitPrice:e.agentMinUnitPrice??null,supportPhone:e.supportPhone??``,supportEmail:e.supportEmail??``}),X.value=n}catch(e){d.error(e instanceof Error?e.message:`دریافت تنظیمات ناموفق بود.`)}finally{Q.value=!1}});async function de(){if(!$.value){$.value=!0;try{await t.update({...q}),d.success(`تنظیمات با موفقیت ذخیره شد.`)}catch(e){d.error(e instanceof Error?e.message:`ذخیره تنظیمات ناموفق بود.`)}finally{$.value=!1}}}async function fe(){if(!(!J.title.trim()||!J.body.trim()||Y.value)){Y.value=!0;try{let e={title:J.title.trim(),body:J.body.trim()};Z.value.length&&(e.customerIds=[...Z.value]);let t=await te.broadcast(e);d.success(`اعلان برای ${t.sent} مشتری ارسال شد.`),J.title=``,J.body=``,Z.value=[]}catch(e){d.error(e instanceof Error?e.message:`ارسال اعلان ناموفق بود.`)}finally{Y.value=!1}}}return(t,o)=>(f(),l(`div`,g,[c(`div`,_,[o[17]||=c(`div`,null,[c(`h1`,{class:`admin-page-header__title`},`تنظیمات`)],-1),c(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:Q.value||$.value,onClick:de},n($.value?`در حال ذخیره…`:`ذخیره تنظیمات`),9,v)]),Q.value?(f(),ee(oe,{key:0,variant:`form`,rows:8})):(f(),l(`div`,y,[c(`section`,b,[o[26]||=c(`h2`,{class:`settings-page__title`},`تنظیمات عمومی سفارش`,-1),c(`div`,x,[o[18]||=c(`label`,{for:`max-meterage`},`حداکثر متراژ هر فاکتور (متر)`,-1),u(c(`input`,{id:`max-meterage`,"onUpdate:modelValue":o[0]||=e=>q.maxMeteragePerInvoice=e,type:`number`,min:`1000`,class:`admin-input`},null,512),[[r,q.maxMeteragePerInvoice,void 0,{number:!0}]])]),c(`div`,S,[o[19]||=c(`label`,{for:`validity-hours`},`اعتبار فاکتور نقدی (ساعت)`,-1),u(c(`input`,{id:`validity-hours`,"onUpdate:modelValue":o[1]||=e=>q.cashInvoiceValidityHours=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[r,q.cashInvoiceValidityHours,void 0,{number:!0}]])]),c(`div`,C,[o[20]||=c(`label`,{for:`min-rolls`},`حداقل طاقه از هر محصول`,-1),u(c(`input`,{id:`min-rolls`,"onUpdate:modelValue":o[2]||=e=>q.minOrderRollsPerProduct=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[r,q.minOrderRollsPerProduct,void 0,{number:!0}]])]),c(`label`,w,[u(c(`input`,{"onUpdate:modelValue":o[3]||=e=>q.showCatalogPublicPrice=e,type:`checkbox`},null,512),[[i,q.showCatalogPublicPrice]]),o[21]||=p(` نمایش قیمت عمومی در کاتالوگ `,-1)]),c(`label`,T,[u(c(`input`,{"onUpdate:modelValue":o[4]||=e=>q.allowAgentPricing=e,type:`checkbox`},null,512),[[i,q.allowAgentPricing]]),o[22]||=p(` اجازه قیمت‌گذاری توسط واسطه `,-1)]),c(`div`,E,[o[23]||=c(`label`,{for:`agent-min-price`},`حداقل قیمت واحد واسطه (تومان)`,-1),u(c(`input`,{id:`agent-min-price`,"onUpdate:modelValue":o[5]||=e=>q.agentMinUnitPrice=e,type:`number`,min:`0`,class:`admin-input`,disabled:!q.allowAgentPricing},null,8,D),[[r,q.agentMinUnitPrice,void 0,{number:!0}]])]),c(`div`,O,[c(`label`,k,[u(c(`input`,{"onUpdate:modelValue":o[6]||=e=>q.defaultSettlementCheck=e,type:`checkbox`},null,512),[[i,q.defaultSettlementCheck]]),o[24]||=c(`span`,null,`فعال‌سازی تسویه چکی`,-1)]),c(`label`,A,[u(c(`input`,{"onUpdate:modelValue":o[7]||=e=>q.defaultSettlementCash=e,type:`checkbox`},null,512),[[i,q.defaultSettlementCash]]),o[25]||=c(`span`,null,`فعال‌سازی تسویه نقدی`,-1)])])]),c(`section`,j,[o[32]||=c(`h2`,{class:`settings-page__title`},`پیامک و اعلان`,-1),c(`div`,M,[c(`label`,N,[u(c(`input`,{"onUpdate:modelValue":o[8]||=e=>q.smsOrderRegistered=e,type:`checkbox`},null,512),[[i,q.smsOrderRegistered]]),o[27]||=c(`span`,null,`پیامک ثبت سفارش`,-1)]),c(`label`,P,[u(c(`input`,{"onUpdate:modelValue":o[9]||=e=>q.smsPricingReady=e,type:`checkbox`},null,512),[[i,q.smsPricingReady]]),o[28]||=c(`span`,null,`پیامک صدور فاکتور و آماده‌بودن قیمت`,-1)]),c(`label`,se,[u(c(`input`,{"onUpdate:modelValue":o[10]||=e=>q.smsPaymentReminder=e,type:`checkbox`},null,512),[[i,q.smsPaymentReminder]]),o[29]||=c(`span`,null,`یادآوری پایان اعتبار فاکتور`,-1)]),c(`label`,F,[u(c(`input`,{"onUpdate:modelValue":o[11]||=e=>q.smsCheckReview=e,type:`checkbox`},null,512),[[i,q.smsCheckReview]]),o[30]||=c(`span`,null,`اعلان بررسی چک`,-1)]),c(`label`,I,[u(c(`input`,{"onUpdate:modelValue":o[12]||=e=>q.smsShippingUpdate=e,type:`checkbox`},null,512),[[i,q.smsShippingUpdate]]),o[31]||=c(`span`,null,`اعلان وضعیت ارسال`,-1)])])]),c(`section`,L,[o[36]||=c(`h2`,{class:`settings-page__title`},`اطلاعات تماس پشتیبانی`,-1),c(`div`,R,[o[33]||=c(`label`,{for:`support-phone`},`تلفن پشتیبانی`,-1),u(c(`input`,{id:`support-phone`,"onUpdate:modelValue":o[13]||=e=>q.supportPhone=e,type:`text`,class:`admin-input`,dir:`ltr`},null,512),[[r,q.supportPhone]]),o[34]||=c(`p`,{class:`settings-page__hint`},` این شماره در صفحه ورود اپ و بخش پشتیبانی سایدبار دسکتاپ نمایش داده می‌شود. `,-1)]),c(`div`,z,[o[35]||=c(`label`,{for:`support-email`},`ایمیل پشتیبانی`,-1),u(c(`input`,{id:`support-email`,"onUpdate:modelValue":o[14]||=e=>q.supportEmail=e,type:`email`,class:`admin-input`,dir:`ltr`},null,512),[[r,q.supportEmail]])])]),c(`section`,B,[o[40]||=c(`h2`,{class:`settings-page__title`},`اعلان هدفمند`,-1),c(`div`,V,[o[37]||=c(`label`,{for:`broadcast-title`},`عنوان`,-1),u(c(`input`,{id:`broadcast-title`,"onUpdate:modelValue":o[15]||=e=>J.title=e,type:`text`,class:`admin-input`},null,512),[[r,J.title]])]),c(`div`,H,[o[38]||=c(`label`,{for:`broadcast-body`},`متن`,-1),u(c(`textarea`,{id:`broadcast-body`,"onUpdate:modelValue":o[16]||=e=>J.body=e,class:`admin-input`,rows:`4`},null,512),[[r,J.body]])]),X.value.length?(f(),l(`div`,U,[o[39]||=c(`label`,null,`گیرندگان (بدون انتخاب = همه)`,-1),c(`div`,W,[(f(!0),l(a,null,ne(X.value,e=>(f(),l(`label`,{key:e.id,class:`settings-page__check`},[c(`input`,{type:`checkbox`,checked:Z.value.includes(e.id),onChange:t=>ue(e.id,t.target.checked)},null,40,G),c(`span`,null,[p(n(e.name)+` `,1),c(`span`,K,n(e.phone),1)])]))),128))])])):e(``,!0),c(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,disabled:Y.value||!J.title.trim()||!J.body.trim(),onClick:fe},n(le.value),9,ce)])]))]))}}),[[`__scopeId`,`data-v-85da5885`]]);export{q as default};