Files
S. EsmaeiliandClaude Haiku 5.5 10e453e4be build: ship pre-built API bundle; images copy output instead of installing
- API: `pnpm build` bundles dist/ into apps/api/.output (esbuild), with
  Linux musl native packages for sharp and argon2 kept alongside
- docker/api.Dockerfile copies that output; no pnpm install on the server
- add dist/migrate.js (prisma migrate deploy equivalent, same
  _prisma_migrations table and lock) so the Prisma CLI is not needed at runtime
- pnpm-workspace: supportedArchitectures for linux/x64/musl
- admin: apps/admin/.env.production sets VITE_SITE_URL for the production build
- drop NPM_REGISTRY / SITE_URL build args from compose and .env.example
- gitignore: anchor node_modules rules so pre-built node_modules are committed
- README: describe the pre-built deploy flow

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-24 14:41:31 +03:30

1 line
33 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{f as e,g as t,h as n,m as r,p as i,t as a}from"./VuesaxIcon-B2OgulS6.js";import{At as o,Bt as s,It as c,Lt as l,Nt as u,Pt as d,Tt as f,_t as p,a as m,bt as h,ct as g,dt as _,ft as v,gt as y,ht as b,i as x,jt as S,kt as C,lt as w,n as T,ot as E,pt as D,st as ee,t as O,ut as k}from"./index-BuGK6ptM.js";import{a as te,t as A}from"./format-B9MYDQJN.js";import{t as j}from"./PageHeader-3Ryvg2HD.js";import{n as M,t as N}from"./FormField-CiVT7mqC.js";import{t as P}from"./IconSelect-rJLPzIXV.js";import{n as F,t as I}from"./ListEditor-C8F91lSJ.js";var L=p({__name:`ImageRefField`,props:h({path:{},label:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(n,r)=>{let i=C(`a-input`);return f(),D(g,null,[y(N,{path:`${e.path}.url`,label:e.label,required:``},{default:u(()=>[y(F,{url:t.value.url,onPick:r[0]||=e=>t.value={url:e.url,alt:t.value.alt||e.alt}},null,8,[`url`])]),_:1},8,[`path`,`label`]),y(N,{path:`${e.path}.alt`,label:`متن جایگزین تصویر (alt)`,hint:`برای سئو و دسترسی‌پذیری؛ تصویر را در یک جمله توصیف کنید`},{default:u(()=>[y(i,{value:t.value.alt,"onUpdate:value":r[1]||=e=>t.value.alt=e},null,8,[`value`])]),_:1},8,[`path`])],64)}}}),R={class:`grid gap-x-4 md:grid-cols-2`},z=p({__name:`SectionHeadFields`,props:h({path:{default:`head`},withHighlight:{type:Boolean,default:!0},withDesc:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(n,r)=>{let i=C(`a-input`),a=C(`a-textarea`);return f(),D(`div`,R,[y(N,{path:`${e.path}.tag`,label:`برچسب بالای عنوان`,hint:`مثلاً «۰۱ — محصولات»`,required:``},{default:u(()=>[y(i,{value:t.value.tag,"onUpdate:value":r[0]||=e=>t.value.tag=e},null,8,[`value`])]),_:1},8,[`path`]),y(N,{path:`${e.path}.title`,label:`عنوان`,hint:`برای شکستن خط، Enter بزنید`,required:``},{default:u(()=>[y(a,{value:t.value.title,"onUpdate:value":r[1]||=e=>t.value.title=e,"auto-size":{minRows:2,maxRows:4}},null,8,[`value`])]),_:1},8,[`path`]),e.withHighlight?(f(),_(N,{key:0,path:`${e.path}.highlight`,label:`خط رنگی انتهای عنوان (اختیاری)`},{default:u(()=>[y(i,{value:t.value.highlight,"onUpdate:value":r[2]||=e=>t.value.highlight=e},null,8,[`value`])]),_:1},8,[`path`])):v(``,!0),e.withDesc?(f(),_(N,{key:1,path:`${e.path}.desc`,label:`توضیح زیر عنوان`,class:`md:col-span-2`},{default:u(()=>[y(a,{value:t.value.desc,"onUpdate:value":r[3]||=e=>t.value.desc=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1},8,[`path`])):v(``,!0)])}}}),B={class:`grid gap-6 xl:grid-cols-3`},V={class:`space-y-6 xl:col-span-2`},H={class:`grid gap-x-4 md:grid-cols-4`},U={class:`grid gap-x-4 md:grid-cols-2`},W={class:`space-y-6`},G=p({__name:`AboutForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-textarea`),i=C(`a-card`),a=C(`a-input`);return f(),D(`div`,B,[k(`div`,V,[y(i,{title:`عنوان و متن`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e,"with-desc":!1},null,8,[`modelValue`]),y(N,{path:`body`,label:`متن درباره ما`,required:``},{default:u(()=>[y(r,{value:t.value.body,"onUpdate:value":n[1]||=e=>t.value.body=e,"auto-size":{minRows:4,maxRows:10}},null,8,[`value`])]),_:1})]),_:1}),y(i,{title:`تایم‌لاین`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.timeline,"onUpdate:modelValue":n[2]||=e=>t.value.timeline=e,create:()=>({year:``,text:``}),max:12,"add-label":`افزودن رویداد`,"item-title":e=>e.year},{default:u(({item:e,index:t})=>[k(`div`,H,[y(N,{path:`timeline.${t}.year`,label:`سال`,required:``},{default:u(()=>[y(a,{value:e.year,"onUpdate:value":t=>e.year=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`timeline.${t}.text`,label:`رویداد`,required:``,class:`md:col-span-3`},{default:u(()=>[y(a,{value:e.text,"onUpdate:value":t=>e.text=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1}),y(i,{title:`ویژگی‌ها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.features,"onUpdate:modelValue":n[3]||=e=>t.value.features=e,create:()=>({icon:`ShieldCheck`,label:``}),max:6,"add-label":`افزودن ویژگی`,"item-title":e=>e.label},{default:u(({item:e,index:t})=>[k(`div`,U,[y(N,{path:`features.${t}.label`,label:`متن`,required:``},{default:u(()=>[y(a,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`features.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})]),k(`div`,W,[y(i,{title:`تصویر`},{default:u(()=>[y(L,{modelValue:t.value.image,"onUpdate:modelValue":n[4]||=e=>t.value.image=e,path:`image`,label:`تصویر`},null,8,[`modelValue`])]),_:1}),y(i,{title:`نشان روی تصویر`},{default:u(()=>[y(N,{path:`badge.value`,label:`عدد`,required:``},{default:u(()=>[y(a,{value:t.value.badge.value,"onUpdate:value":n[5]||=e=>t.value.badge.value=e},null,8,[`value`])]),_:1}),y(N,{path:`badge.label`,label:`متن`,hint:`برای شکستن خط Enter بزنید`,required:``},{default:u(()=>[y(r,{value:t.value.badge.label,"onUpdate:value":n[6]||=e=>t.value.badge.label=e,"auto-size":{minRows:2}},null,8,[`value`])]),_:1})]),_:1})])])}}}),K={class:`space-y-6`},q={class:`grid gap-6 lg:grid-cols-2`},J=p({__name:`ContactForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-card`),i=C(`a-input`),a=C(`a-textarea`);return f(),D(`div`,K,[y(r,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`]),n[7]||=k(`p`,{class:`text-sm text-gray-500`},`نشانی، تلفن، ایمیل و ساعات کاری از «تنظیمات سایت» خوانده می‌شوند.`,-1)]),_:1}),k(`div`,q,[y(r,{title:`کادر پاسخ‌گویی اضطراری`},{default:u(()=>[y(N,{path:`emergencyTitle`,label:`عنوان`,required:``},{default:u(()=>[y(i,{value:t.value.emergencyTitle,"onUpdate:value":n[1]||=e=>t.value.emergencyTitle=e},null,8,[`value`])]),_:1}),y(N,{path:`emergencyText`,label:`متن`,required:``},{default:u(()=>[y(a,{value:t.value.emergencyText,"onUpdate:value":n[2]||=e=>t.value.emergencyText=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1})]),_:1}),y(r,{title:`فرم`},{default:u(()=>[y(N,{path:`formTag`,label:`برچسب بالای فرم`},{default:u(()=>[y(i,{value:t.value.formTag,"onUpdate:value":n[3]||=e=>t.value.formTag=e},null,8,[`value`])]),_:1}),y(N,{path:`formTitle`,label:`عنوان فرم`,hint:`برای شکستن خط Enter بزنید`,required:``},{default:u(()=>[y(a,{value:t.value.formTitle,"onUpdate:value":n[4]||=e=>t.value.formTitle=e,"auto-size":{minRows:2}},null,8,[`value`])]),_:1}),y(N,{path:`successTitle`,label:`عنوان پیام موفقیت`,required:``},{default:u(()=>[y(i,{value:t.value.successTitle,"onUpdate:value":n[5]||=e=>t.value.successTitle=e},null,8,[`value`])]),_:1}),y(N,{path:`successText`,label:`متن پیام موفقیت`,required:``},{default:u(()=>[y(a,{value:t.value.successText,"onUpdate:value":n[6]||=e=>t.value.successText=e,"auto-size":{minRows:2}},null,8,[`value`])]),_:1})]),_:1})])])}}}),Y={class:`grid gap-x-4 md:grid-cols-3`},X=p({__name:`FooterForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-textarea`),i=C(`a-input`),a=C(`a-card`);return f(),_(a,{title:`فوتر`},{default:u(()=>[y(N,{path:`about`,label:`متن معرفی`,required:``},{default:u(()=>[y(r,{value:t.value.about,"onUpdate:value":n[0]||=e=>t.value.about=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1}),k(`div`,Y,[y(N,{path:`copyright`,label:`متن کپی‌رایت`,required:``},{default:u(()=>[y(i,{value:t.value.copyright,"onUpdate:value":n[1]||=e=>t.value.copyright=e},null,8,[`value`])]),_:1}),y(N,{path:`certLine`,label:`خط گواهی‌نامه‌ها`},{default:u(()=>[y(i,{value:t.value.certLine,"onUpdate:value":n[2]||=e=>t.value.certLine=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`emergencyNote`,label:`یادداشت پشتیبانی`},{default:u(()=>[y(i,{value:t.value.emergencyNote,"onUpdate:value":n[3]||=e=>t.value.emergencyNote=e},null,8,[`value`])]),_:1})]),n[4]||=k(`p`,{class:`text-sm text-gray-500`},`لینک دسته‌ها و اطلاعات تماس فوتر به‌صورت خودکار از دسته‌بندی‌ها و تنظیمات سایت ساخته می‌شوند.`,-1)]),_:1})}}}),Z={class:`grid gap-6 xl:grid-cols-3`},Q={class:`space-y-6 xl:col-span-2`},ne={class:`grid gap-x-4 md:grid-cols-2`},re={class:`grid gap-x-4 md:grid-cols-2`},ie={class:`grid gap-x-4 md:grid-cols-2`},ae={class:`grid gap-x-4 md:grid-cols-3`},oe={class:`space-y-6`},se=p({__name:`HeroForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-input`),i=C(`a-textarea`),a=C(`a-card`);return f(),D(`div`,Z,[k(`div`,Q,[y(a,{title:`متن‌ها`},{default:u(()=>[k(`div`,ne,[y(N,{path:`badge`,label:`نشان بالای تیتر`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.badge,"onUpdate:value":n[0]||=e=>t.value.badge=e},null,8,[`value`])]),_:1}),y(N,{path:`title`,label:`تیتر (خط اول)`,required:``},{default:u(()=>[y(r,{value:t.value.title,"onUpdate:value":n[1]||=e=>t.value.title=e},null,8,[`value`])]),_:1}),y(N,{path:`titleHighlight`,label:`تیتر (خط زرد)`,required:``},{default:u(()=>[y(r,{value:t.value.titleHighlight,"onUpdate:value":n[2]||=e=>t.value.titleHighlight=e},null,8,[`value`])]),_:1}),y(N,{path:`intro`,label:`متن معرفی`,required:``,class:`md:col-span-2`},{default:u(()=>[y(i,{value:t.value.intro,"onUpdate:value":n[3]||=e=>t.value.intro=e,"auto-size":{minRows:3,maxRows:6}},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`دکمه‌ها`},{default:u(()=>[k(`div`,re,[y(N,{path:`primaryCta.label`,label:`دکمه اصلی — متن`,required:``},{default:u(()=>[y(r,{value:t.value.primaryCta.label,"onUpdate:value":n[4]||=e=>t.value.primaryCta.label=e},null,8,[`value`])]),_:1}),y(N,{path:`primaryCta.href`,label:`دکمه اصلی — لینک`,hint:`مثلاً #contact یا /categories/...`,required:``},{default:u(()=>[y(r,{value:t.value.primaryCta.href,"onUpdate:value":n[5]||=e=>t.value.primaryCta.href=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`secondaryCta.label`,label:`دکمه دوم — متن`,required:``},{default:u(()=>[y(r,{value:t.value.secondaryCta.label,"onUpdate:value":n[6]||=e=>t.value.secondaryCta.label=e},null,8,[`value`])]),_:1}),y(N,{path:`secondaryCta.href`,label:`دکمه دوم — لینک`,required:``},{default:u(()=>[y(r,{value:t.value.secondaryCta.href,"onUpdate:value":n[7]||=e=>t.value.secondaryCta.href=e,class:`ltr-input`},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`نشان‌های گواهی`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.chips,"onUpdate:modelValue":n[8]||=e=>t.value.chips=e,create:()=>({icon:`ShieldCheck`,label:``}),max:6,"add-label":`افزودن نشان`,"item-title":e=>e.label},{default:u(({item:e,index:t})=>[k(`div`,ie,[y(N,{path:`chips.${t}.label`,label:`متن`,required:``},{default:u(()=>[y(r,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`chips.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1}),y(a,{title:`آمار پایین Hero`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.miniStats,"onUpdate:modelValue":n[9]||=e=>t.value.miniStats=e,create:()=>({value:``,label:``}),max:4,"add-label":`افزودن آمار`,"item-title":e=>e.value},{default:u(({item:e,index:t})=>[k(`div`,ae,[y(N,{path:`miniStats.${t}.value`,label:`عدد`,required:``},{default:u(()=>[y(r,{value:e.value,"onUpdate:value":t=>e.value=t,placeholder:`۱۸+`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`miniStats.${t}.label`,label:`توضیح`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})]),k(`div`,oe,[y(a,{title:`تصویر پس‌زمینه`},{default:u(()=>[y(L,{modelValue:t.value.image,"onUpdate:modelValue":n[10]||=e=>t.value.image=e,path:`image`,label:`تصویر`},null,8,[`modelValue`])]),_:1}),y(a,{title:`کارت وضعیت`},{default:u(()=>[y(N,{path:`lastInspection`,label:`تاریخ آخرین بازرسی`,hint:`خالی = نمایش داده نمی‌شود`},{default:u(()=>[y(r,{value:t.value.lastInspection,"onUpdate:value":n[11]||=e=>t.value.lastInspection=e,placeholder:`۱۴۰۴/۰۸/۱۲`},null,8,[`value`])]),_:1})]),_:1})])])}}}),ce={class:`space-y-6`},le={class:`grid gap-x-6 lg:grid-cols-2`},ue=p({__name:`IndustriesForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-card`),i=C(`a-input`);return f(),D(`div`,ce,[y(r,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`])]),_:1}),y(r,{title:`صنایع`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[1]||=e=>t.value.items=e,create:()=>({name:``,nameEn:``,count:``,image:{url:``,alt:``}}),max:12,"add-label":`افزودن صنعت`,"item-title":e=>e.name},{default:u(({item:e,index:t})=>[k(`div`,le,[k(`div`,null,[y(N,{path:`items.${t}.name`,label:`نام`,required:``},{default:u(()=>[y(i,{value:e.name,"onUpdate:value":t=>e.name=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.nameEn`,label:`نام انگلیسی`},{default:u(()=>[y(i,{value:e.nameEn,"onUpdate:value":t=>e.nameEn=t,class:`ltr-input`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.count`,label:`تعداد پروژه`,hint:`مثلاً ۱۴۰+ — خالی = نمایش داده نمی‌شود`},{default:u(()=>[y(i,{value:e.count,"onUpdate:value":t=>e.count=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])]),k(`div`,null,[y(L,{modelValue:e.image,"onUpdate:modelValue":t=>e.image=t,path:`items.${t}.image`,label:`تصویر`},null,8,[`modelValue`,`onUpdate:modelValue`,`path`])])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),de={class:`space-y-6`},fe={class:`grid gap-x-4 md:grid-cols-3`},pe=p({__name:`ProductsIntroForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-input`),i=C(`a-card`);return f(),D(`div`,de,[y(i,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`]),y(N,{path:`ctaLabel`,label:`متن دکمه کاتالوگ`,required:``},{default:u(()=>[y(r,{value:t.value.ctaLabel,"onUpdate:value":n[1]||=e=>t.value.ctaLabel=e},null,8,[`value`])]),_:1}),n[3]||=k(`p`,{class:`text-sm text-gray-500`},`کارت‌های دسته‌بندی از بخش «دسته‌بندی‌ها» مدیریت می‌شوند.`,-1)]),_:1}),y(i,{title:`کارت‌های اعتماد`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.trust,"onUpdate:modelValue":n[2]||=e=>t.value.trust=e,create:()=>({icon:`BadgeCheck`,title:``,desc:``}),max:6,"add-label":`افزودن کارت`,"item-title":e=>e.title},{default:u(({item:e,index:t})=>[k(`div`,fe,[y(N,{path:`trust.${t}.title`,label:`عنوان`,required:``},{default:u(()=>[y(r,{value:e.title,"onUpdate:value":t=>e.title=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`trust.${t}.desc`,label:`توضیح`},{default:u(()=>[y(r,{value:e.desc,"onUpdate:value":t=>e.desc=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`trust.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),me={class:`space-y-6`},he={class:`grid gap-x-4 md:grid-cols-2`},ge=p({__name:`ServicesForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`),n=()=>({icon:`ClipboardCheck`,title:``,desc:``,items:[]});return(e,r)=>{let i=C(`a-card`),a=C(`a-input`),o=C(`a-textarea`),s=C(`a-select`);return f(),D(`div`,me,[y(i,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":r[0]||=e=>t.value.head=e},null,8,[`modelValue`])]),_:1}),y(i,{title:`خدمات`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":r[1]||=e=>t.value.items=e,create:n,max:10,"add-label":`افزودن خدمت`,"item-title":e=>e.title},{default:u(({item:e,index:t})=>[k(`div`,he,[y(N,{path:`items.${t}.title`,label:`عنوان`,required:``},{default:u(()=>[y(a,{value:e.title,"onUpdate:value":t=>e.title=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.desc`,label:`توضیح`,required:``,class:`md:col-span-2`},{default:u(()=>[y(o,{value:e.desc,"onUpdate:value":t=>e.desc=t,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.items`,label:`موارد (فهرست)`,hint:`هر مورد را بنویسید و Enter بزنید`,class:`md:col-span-2`},{default:u(()=>[y(s,{value:e.items,"onUpdate:value":t=>e.items=t,mode:`tags`,open:!1},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),_e={class:`grid gap-6 xl:grid-cols-2`},ve={class:`grid gap-x-4 md:grid-cols-2`},ye={class:`grid gap-x-4 md:grid-cols-2`},be={class:`grid gap-x-4 md:grid-cols-2`},xe={class:`grid gap-x-4 md:grid-cols-3`},Se=`https://t.me/...`,Ce=p({__name:`SettingsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`),n={Saturday:`شنبه`,Sunday:`یکشنبه`,Monday:`دوشنبه`,Tuesday:`سه‌شنبه`,Wednesday:`چهارشنبه`,Thursday:`پنجشنبه`,Friday:`جمعه`},a={website:`وب‌سایت`,telegram:`تلگرام`,instagram:`اینستاگرام`,linkedin:`لینکدین`,whatsapp:`واتساپ`,bale:`بله`,eitaa:`ایتا`,aparat:`آپارات`,youtube:`یوتیوب`,email:`ایمیل (mailto:)`,phone:`تلفن (tel:)`},o=()=>({type:`telegram`,url:``}),s=e=>a[e.type],c=i.map(e=>({value:e,label:a[e]})),d=r.map(e=>({value:e,label:n[e]}));function p(e){t.value.ogImage={url:e.url,alt:t.value.ogImage.alt||e.alt,width:e.width,height:e.height}}return(e,n)=>{let r=C(`a-input`),i=C(`a-textarea`),a=C(`a-card`),m=C(`a-checkbox-group`),h=C(`a-select`);return f(),D(`div`,_e,[y(a,{title:`هویت و سئوی پیش‌فرض`},{default:u(()=>[k(`div`,ve,[y(N,{path:`name`,label:`نام شرکت`,required:``},{default:u(()=>[y(r,{value:t.value.name,"onUpdate:value":n[0]||=e=>t.value.name=e},null,8,[`value`])]),_:1}),y(N,{path:`nameEn`,label:`نام انگلیسی`,required:``},{default:u(()=>[y(r,{value:t.value.nameEn,"onUpdate:value":n[1]||=e=>t.value.nameEn=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`title`,label:`عنوان پیش‌فرض صفحات (title)`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.title,"onUpdate:value":n[2]||=e=>t.value.title=e,maxlength:120,"show-count":``},null,8,[`value`])]),_:1}),y(N,{path:`description`,label:`توضیحات متا (description)`,required:``,class:`md:col-span-2`},{default:u(()=>[y(i,{value:t.value.description,"onUpdate:value":n[3]||=e=>t.value.description=e,maxlength:400,"show-count":``,"auto-size":{minRows:3}},null,8,[`value`])]),_:1}),y(N,{path:`foundingDate`,label:`سال تأسیس (میلادی)`,required:``},{default:u(()=>[y(r,{value:t.value.foundingDate,"onUpdate:value":n[4]||=e=>t.value.foundingDate=e,class:`ltr-input`,placeholder:`2007`},null,8,[`value`])]),_:1})]),y(N,{path:`ogImage.url`,label:`تصویر اشتراک‌گذاری (Open Graph)`,hint:`ترجیحاً ۱۲۰۰×۶۳۰ پیکسل`,required:``},{default:u(()=>[y(F,{url:t.value.ogImage.url,onPick:p},null,8,[`url`])]),_:1}),y(N,{path:`ogImage.alt`,label:`متن جایگزین تصویر`},{default:u(()=>[y(r,{value:t.value.ogImage.alt,"onUpdate:value":n[5]||=e=>t.value.ogImage.alt=e},null,8,[`value`])]),_:1})]),_:1}),y(a,{title:`اطلاعات تماس`},{default:u(()=>[k(`div`,ye,[y(N,{path:`phoneDisplay`,label:`تلفن (نمایشی)`,required:``},{default:u(()=>[y(r,{value:t.value.phoneDisplay,"onUpdate:value":n[6]||=e=>t.value.phoneDisplay=e},null,8,[`value`])]),_:1}),y(N,{path:`phone`,label:`تلفن (برای لینک و گوگل)`,hint:`با کد کشور، مثلاً ‎+98-21-91008800`,required:``},{default:u(()=>[y(r,{value:t.value.phone,"onUpdate:value":n[7]||=e=>t.value.phone=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`email`,label:`ایمیل`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.email,"onUpdate:value":n[8]||=e=>t.value.email=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`address.locality`,label:`شهر`,required:``},{default:u(()=>[y(r,{value:t.value.address.locality,"onUpdate:value":n[9]||=e=>t.value.address.locality=e},null,8,[`value`])]),_:1}),y(N,{path:`address.country`,label:`کد کشور`,required:``},{default:u(()=>[y(r,{value:t.value.address.country,"onUpdate:value":n[10]||=e=>t.value.address.country=e,class:`ltr-input`,maxlength:2},null,8,[`value`])]),_:1}),y(N,{path:`address.street`,label:`نشانی`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.address.street,"onUpdate:value":n[11]||=e=>t.value.address.street=e},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`ساعات کاری`},{default:u(()=>[y(N,{path:`workingHours`,label:`متن نمایشی`,required:``},{default:u(()=>[y(r,{value:t.value.workingHours,"onUpdate:value":n[12]||=e=>t.value.workingHours=e},null,8,[`value`])]),_:1}),y(N,{path:`openingHours.days`,label:`روزهای کاری (برای گوگل)`},{default:u(()=>[y(m,{value:t.value.openingHours.days,"onUpdate:value":n[13]||=e=>t.value.openingHours.days=e,options:l(d)},null,8,[`value`,`options`])]),_:1}),k(`div`,be,[y(N,{path:`openingHours.opens`,label:`ساعت شروع`,required:``},{default:u(()=>[y(r,{value:t.value.openingHours.opens,"onUpdate:value":n[14]||=e=>t.value.openingHours.opens=e,class:`ltr-input`,placeholder:`08:00`},null,8,[`value`])]),_:1}),y(N,{path:`openingHours.closes`,label:`ساعت پایان`,required:``},{default:u(()=>[y(r,{value:t.value.openingHours.closes,"onUpdate:value":n[15]||=e=>t.value.openingHours.closes=e,class:`ltr-input`,placeholder:`17:00`},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`شبکه‌های اجتماعی و لینک‌ها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.socials,"onUpdate:modelValue":n[16]||=e=>t.value.socials=e,create:o,max:12,"add-label":`افزودن لینک`,"item-title":s},{default:u(({item:e,index:t})=>[k(`div`,xe,[y(N,{path:`socials.${t}.type`,label:`نوع`},{default:u(()=>[y(h,{value:e.type,"onUpdate:value":t=>e.type=t,options:l(c)},null,8,[`value`,`onUpdate:value`,`options`])]),_:2},1032,[`path`]),y(N,{path:`socials.${t}.url`,label:`آدرس`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:e.url,"onUpdate:value":t=>e.url=t,class:`ltr-input`,placeholder:Se},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`])]),_:1})])}}}),we={class:`space-y-6`},Te={class:`grid gap-x-4 md:grid-cols-2`},Ee={class:`grid gap-x-4 md:grid-cols-2`},De=p({__name:`StandardsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-textarea`),i=C(`a-input`),a=C(`a-card`);return f(),D(`div`,we,[y(a,{title:`عنوان و متن`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`]),k(`div`,Te,[y(N,{path:`note`,label:`کادر توضیح (اختیاری)`},{default:u(()=>[y(r,{value:t.value.note,"onUpdate:value":n[1]||=e=>t.value.note=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1}),y(N,{path:`ctaLabel`,label:`متن دکمه`,required:``},{default:u(()=>[y(i,{value:t.value.ctaLabel,"onUpdate:value":n[2]||=e=>t.value.ctaLabel=e},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`استانداردها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[3]||=e=>t.value.items=e,create:()=>({code:``,label:``}),max:12,"add-label":`افزودن استاندارد`,"item-title":e=>e.code},{default:u(({item:e,index:t})=>[k(`div`,Ee,[y(N,{path:`items.${t}.code`,label:`کد استاندارد`,required:``},{default:u(()=>[y(i,{value:e.code,"onUpdate:value":t=>e.code=t,class:`ltr-input`,placeholder:`EN 397`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.label`,label:`عنوان`,required:``},{default:u(()=>[y(i,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),Oe={class:`grid gap-x-4 md:grid-cols-4`},ke=p({__name:`StatsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-input-number`),i=C(`a-input`),a=C(`a-card`);return f(),_(a,{title:`شمارنده‌ها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[0]||=e=>t.value.items=e,create:()=>({end:0,suffix:`+`,label:``,note:``}),max:8,"add-label":`افزودن شمارنده`,"item-title":e=>e.label},{default:u(({item:e,index:t})=>[k(`div`,Oe,[y(N,{path:`items.${t}.end`,label:`عدد نهایی`,required:``},{default:u(()=>[y(r,{value:e.end,"onUpdate:value":t=>e.end=t,min:0,class:`!w-full`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.suffix`,label:`پسوند`,hint:`مثلاً + یا ٪`},{default:u(()=>[y(i,{value:e.suffix,"onUpdate:value":t=>e.suffix=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.label`,label:`عنوان`,required:``},{default:u(()=>[y(i,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.note`,label:`یادداشت انگلیسی کوچک`},{default:u(()=>[y(i,{value:e.note,"onUpdate:value":t=>e.note=t,class:`ltr-input`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})}}}),Ae=p({__name:`TapeForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-select`),i=C(`a-card`);return f(),_(i,{title:`عبارت‌های نوار متحرک`},{default:u(()=>[y(N,{path:`items`,label:`عبارت‌ها`,hint:`هر عبارت را بنویسید و Enter بزنید؛ برای حذف روی × کلیک کنید`,required:``},{default:u(()=>[y(r,{value:t.value.items,"onUpdate:value":n[0]||=e=>t.value.items=e,mode:`tags`,open:!1},null,8,[`value`])]),_:1})]),_:1})}}}),je={class:`space-y-6`},Me={class:`grid gap-x-4 md:grid-cols-2`},Ne=p({__name:`TestimonialsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-card`),i=C(`a-textarea`),a=C(`a-input`);return f(),D(`div`,je,[y(r,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e,"with-highlight":!1,"with-desc":!1},null,8,[`modelValue`])]),_:1}),y(r,{title:`نظرات`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[1]||=e=>t.value.items=e,create:()=>({text:``,name:``,role:``}),max:12,"add-label":`افزودن نظر`,"item-title":e=>e.name},{default:u(({item:e,index:t})=>[k(`div`,Me,[y(N,{path:`items.${t}.text`,label:`متن نظر`,required:``,class:`md:col-span-2`},{default:u(()=>[y(i,{value:e.text,"onUpdate:value":t=>e.text=t,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.name`,label:`نام`,required:``},{default:u(()=>[y(a,{value:e.name,"onUpdate:value":t=>e.name=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.role`,label:`سمت و سازمان`},{default:u(()=>[y(a,{value:e.role,"onUpdate:value":t=>e.role=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),Pe={key:0,class:`max-lg:hidden flex items-center gap-2 me-2`},$=[`href`],Fe={class:`lg:hidden fixed bottom-0 inset-x-0 z-30 border-t border-gray-200 bg-white/95 px-4 py-2.5 backdrop-blur-md shadow-lg flex items-center justify-between gap-3`},Ie={key:0,class:`flex items-center gap-2`},Le={class:`text-xs font-medium text-gray-700`},Re={key:1,class:`text-xs text-gray-500 font-medium`},ze={class:`flex items-center gap-2`},Be=[`href`],Ve=p({__name:`SectionEditPage`,setup(r){let i={settings:Ce,hero:se,tape:Ae,stats:ke,productsIntro:pe,about:G,services:ge,standards:De,industries:ue,testimonials:Ne,contact:J,footer:X},p=O(),h=m(),S=String(h.params.key),N=n(S),P=N?S:`hero`,{model:F,validate:I,handleError:L,reset:R}=M(t[P],{}),z=c(!1),B=c(!1),V=c(null),H=w(()=>N?e[P]:null);async function U(){try{let e=await T(`/admin/sections/${P}`),t=e.data;P!==`settings`&&t.enabled===void 0&&(t.enabled=!0),R(t),V.value=e.updatedAt,z.value=!0}catch(e){E.error(x(e))}}async function W(){let e=I();if(e){B.value=!0;try{let t=await T(`/admin/sections/${P}`,{method:`PUT`,body:e});R(t.data),V.value=t.updatedAt,E.success(`ذخیره شد؛ سایت تا چند لحظه دیگر به‌روز می‌شود`)}catch(e){L(e)}finally{B.value=!1}}}let K=c(!1);async function q(e){let t=!!e;F.value.enabled=t,K.value=!0;try{let e=await T(`/admin/sections/${P}/visibility`,{method:`PATCH`,body:{enabled:t}});F.value.enabled=e.enabled!==!1,V.value=e.updatedAt,E.success(`وضعیت نمایش به ${t?`نمایش`:`عدم نمایش`} تغییر یافت`)}catch(e){F.value.enabled=!t,E.error(x(e))}finally{K.value=!1}}return N&&U(),(e,t)=>{let n=C(`a-result`),r=C(`a-switch`),c=C(`a-button`),m=C(`a-alert`),h=C(`a-form`),x=C(`a-spin`);return l(N)?(f(),D(g,{key:1},[y(j,{title:H.value.title,subtitle:V.value?`آخرین ذخیره: ${l(te)(V.value)}`:H.value.desc,back:`/sections`},{default:u(()=>[l(P)===`settings`?v(``,!0):(f(),D(`div`,Pe,[t[1]||=k(`span`,{class:`text-sm font-medium text-gray-700`},`نمایش در سایت:`,-1),y(r,{checked:l(F)?.enabled!==!1,loading:K.value,"checked-children":`نمایش`,"un-checked-children":`مخفی`,onChange:q},null,8,[`checked`,`loading`])])),k(`a`,{href:l(A),target:`_blank`,rel:`noopener`,class:`max-lg:hidden`},[y(c,null,{default:u(()=>[...t[2]||=[b(`مشاهده سایت`,-1)]]),_:1})],8,$),y(c,{type:`primary`,class:`max-lg:hidden`,loading:B.value,disabled:!z.value||l(P)===`settings`&&!l(p).isAdmin,onClick:W},{icon:u(()=>[y(a,{name:`save-2`,size:16})]),default:u(()=>[t[3]||=b(` ذخیره `,-1)]),_:1},8,[`loading`,`disabled`])]),_:1},8,[`title`,`subtitle`]),y(x,{spinning:!z.value},{default:u(()=>[z.value&&l(P)===`settings`&&!l(p).isAdmin?(f(),_(m,{key:0,type:`error`,"show-icon":``,message:`فقط مدیر کل می‌تواند تنظیمات سایت را تغییر دهد.`,class:`mb-4`})):z.value&&l(P)!==`settings`&&l(F).enabled===!1?(f(),_(m,{key:1,type:`warning`,"show-icon":``,message:`این بخش در حال حاضر در سایت نمایش داده نمی‌شود (مخفی است).`,class:`mb-4`})):v(``,!0),z.value?(f(),_(h,{key:2,layout:`vertical`,class:`pb-20 lg:pb-0`,onSubmit:ee(W,[`prevent`])},{default:u(()=>[(f(),_(o(i[l(P)]),{modelValue:l(F),"onUpdate:modelValue":t[0]||=e=>d(F)?F.value=e:null},null,8,[`modelValue`]))]),_:1})):v(``,!0)]),_:1},8,[`spinning`]),k(`div`,Fe,[l(P)===`settings`?(f(),D(`div`,Re,`تنظیمات پایه`)):(f(),D(`div`,Ie,[y(r,{checked:l(F)?.enabled!==!1,loading:K.value,size:`small`,onChange:q},null,8,[`checked`,`loading`]),k(`span`,Le,s(l(F)?.enabled===!1?`مخفی`:`نمایش در سایت`),1)])),k(`div`,ze,[k(`a`,{href:l(A),target:`_blank`,rel:`noopener`},[y(c,{size:`middle`,class:`!px-3`,title:`مشاهده سایت`},{icon:u(()=>[y(a,{name:`eye`,size:16})]),_:1})],8,Be),y(c,{type:`primary`,size:`middle`,class:`!font-bold !px-5`,loading:B.value,disabled:!z.value||l(P)===`settings`&&!l(p).isAdmin,onClick:W},{icon:u(()=>[y(a,{name:`save-2`,size:16})]),default:u(()=>[t[4]||=b(` ذخیره تغییرات `,-1)]),_:1},8,[`loading`,`disabled`])])])],64)):(f(),_(n,{key:0,status:`404`,title:`بخش پیدا نشد`}))}}});export{Ve as default};