1 line
6.0 KiB
JavaScript
1 line
6.0 KiB
JavaScript
import{A as e,Ct as t,D as n,Et as r,L as i,M as a,N as o,O as s,P as c,R as l,St as u,Tt as d,Y as f,Z as p,_ as m,g as h,j as g,mt as _,n as v,q as ee,rt as te,tt as y,z as b}from"./BasicIcon-C6boaehV.js";import{l as ne,o as re}from"./index-B6MlTGUp.js";import{t as ie}from"./IconFilter-D9NdLZ7w.js";import{t as ae}from"./PageSkeleton-uO-jhbNm.js";import{t as oe}from"./crm-CtglbPsN.js";import{n as x}from"./colorSwatch-BgOH1LE5.js";import{t as S}from"./PageHeader-CDQMUtCp.js";import{t as C}from"./SearchField-Dx2PcshV.js";import{t as se}from"./IconHeart-CZMe29Nz.js";var ce={class:`page products-page`},le={class:`page__scroll page__scroll--with-nav products-scroll`},ue={key:1},de={class:`cat-banner`},fe={class:`chips`,role:`tablist`,"aria-label":`فصل`},pe=[`onClick`],me={class:`list-meta`},he=[`onClick`],w={class:`product-item__body`},T={class:`product-item__head`},E={class:`product-item__title`},D={key:0,class:`new-tag`},O=[`aria-label`,`aria-pressed`,`onClick`],k={class:`product-item__specs`},A={class:`swatches`},j=[`onClick`],M={key:0,class:`empty-list`},N=v(b({__name:`ProductsView`,setup(v){let b=h(),N=m(),P=oe(),F=ne(),I=e(()=>String(b.query.categoryId??``)),L=e(()=>String(b.query.catalogId??``)),R=e(()=>String(b.query.companyId??``)),z=e(()=>String(b.query.season??``)),B=e(()=>String(b.query.q??``)),V=_(String(b.query.q??``)),H=_([]),U=_([]),W=_(``),G=_(!0),K=_(null),q=_(`newest`),J=e(()=>L.value&&W.value?W.value:I.value?P.usageCategories.find(e=>e.id===I.value)?.title??`محصولات`:z.value?U.value.find(e=>e.id===z.value)?.title??`محصولات`:B.value?`جستجو: ${B.value}`:`همه محصولات`),ge=e(()=>L.value?`انتخاب محصول از کالیته`:I.value===`suit`?`شیک، بادوام و رسمی`:I.value===`trousers`?`مناسب شلوار و مصارف روزانه`:I.value===`shirt`?`سبک و مناسب پیراهن`:z.value?`فیلتر شده بر اساس فصل`:`مشاهده و ثبت سفارش`),_e=e(()=>!I.value&&!L.value),Y=e(()=>{let e=B.value.trim().toLowerCase(),t=[...H.value];return e&&(t=t.filter(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)||(t.composition||``).toLowerCase().includes(e))),q.value===`name`?t.sort((e,t)=>e.name.localeCompare(t.name,`fa`)):t.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||e.name.localeCompare(t.name,`fa`))});function X(){q.value=q.value===`newest`?`name`:`newest`}function ve(e){V.value=e,N.replace({path:`/products`,query:{...I.value?{categoryId:I.value}:{},...L.value?{catalogId:L.value}:{},...R.value?{companyId:R.value}:{},...z.value?{season:z.value}:{},...e.trim()?{q:e.trim()}:{}}})}async function Z(){G.value=!0,K.value=null;try{if(!P.usageCategories.length||!U.value.length){let e=await P.loadCategories();U.value=e.seasons}H.value=await P.loadBrowseProducts({categoryId:I.value||void 0,season:z.value||void 0,catalogId:L.value||void 0,companyId:R.value||void 0});let e=H.value[0];W.value=e?.catalogName||e?.catalogCode||``}catch(e){K.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`,H.value=[]}finally{G.value=!1}}ee(async()=>{await F.hydrate(),await Z()}),y([I,z,L,R],Z),y(B,e=>{V.value=e});function Q(e){N.replace({path:`/products`,query:{...I.value?{categoryId:I.value}:{},...L.value?{catalogId:L.value}:{},...R.value?{companyId:R.value}:{},...e?{season:e}:{},...B.value?{q:B.value}:{}}})}function $(e){N.push({path:`/product`,query:{id:e}})}function ye(e){return U.value.find(t=>t.id===e)?.title??e}function be(e){F.toggle(e)}return(e,m)=>(f(),c(`div`,ce,[l(S,{title:J.value,"show-back":``,centered:``,onBack:m[1]||=e=>u(N).back()},{trailing:te(()=>[g(`button`,{type:`button`,class:`nav-filter`,"aria-label":`فیلتر`,onClick:m[0]||=e=>u(N).push(`/categories`)},[l(ie,{size:18})])]),_:1},8,[`title`]),g(`div`,le,[_e.value?(f(),a(C,{key:0,"model-value":V.value,placeholder:`جستجو نام یا کد محصول...`,"onUpdate:modelValue":ve},null,8,[`model-value`])):o(``,!0),K.value?(f(),c(`p`,ue,r(K.value),1)):G.value?(f(),a(ae,{key:2,variant:`grid`})):(f(),c(s,{key:3},[g(`section`,de,[m[3]||=g(`div`,{class:`cat-banner__icon`,"aria-hidden":`true`},null,-1),g(`div`,null,[g(`h2`,null,r(J.value),1),g(`p`,null,r(ge.value),1)])]),g(`div`,fe,[g(`button`,{type:`button`,class:t([`chip`,{"chip--active":!z.value}]),onClick:m[2]||=e=>Q(``)},` همه `,2),(f(!0),c(s,null,p(U.value,e=>(f(),c(`button`,{key:e.id,type:`button`,class:t([`chip`,{"chip--active":z.value===e.id}]),onClick:t=>Q(e.id)},r(e.title),11,pe))),128))]),g(`div`,me,[g(`span`,null,`تعداد محصولات: `+r(Y.value.length.toLocaleString(`fa-IR`)),1),g(`button`,{type:`button`,class:`list-meta__sort`,onClick:X},` مرتبسازی: `+r(q.value===`newest`?`جدیدترین`:`نام`),1)]),(f(!0),c(s,null,p(Y.value,e=>(f(),c(`article`,{key:e.id,class:`product-item`,onClick:t=>$(e.id)},[g(`div`,{class:`product-item__image`,style:d(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},null,4),g(`div`,w,[g(`div`,T,[g(`div`,E,[g(`strong`,null,r(e.name),1),e.isNew?(f(),c(`span`,D,`جدید`)):o(``,!0)]),g(`button`,{type:`button`,class:`bookmark`,"aria-label":u(F).isFavorite(e.id)?`حذف از علاقهمندیها`:`افزودن به علاقهمندیها`,"aria-pressed":u(F).isFavorite(e.id),onClick:n(t=>be(e.id),[`stop`])},[l(se,{size:18,filled:u(F).isFavorite(e.id),color:u(F).isFavorite(e.id)?`#0a353c`:`#9ca3af`},null,8,[`filled`,`color`])],8,O)]),g(`ul`,k,[g(`li`,null,`عرض: `+r(e.widthCm.toLocaleString(`fa-IR`))+` سانتیمتر`,1),g(`li`,null,`ترکیب: `+r(e.composition||`—`),1),g(`li`,null,`مناسب: `+r(ye(e.season)),1)]),g(`div`,A,[(f(!0),c(s,null,p(e.colors.slice(0,6),(t,n)=>(f(),c(`span`,{key:n,class:`swatch`,style:d(u(x)(t,e.colorImages?.[n]||e.imageUrls?.[n]))},null,4))),128))]),g(`button`,{type:`button`,class:`details-link`,onClick:n(t=>$(e.id),[`stop`])},[m[4]||=i(` مشاهده جزئیات `,-1),l(re,{size:14})],8,j)])],8,he))),128)),Y.value.length?o(``,!0):(f(),c(`p`,M,`محصولی در این دسته یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-ea9e9c36`]]);export{N as default}; |