1 line
18 KiB
JavaScript
1 line
18 KiB
JavaScript
import{A as e,At as t,F as n,G as r,M as i,Nt as a,Pt as o,R as ee,U as s,_ as c,c as l,d as u,f as d,g as f,h as te,i as p,k as ne,l as m,nt as h,o as re,t as ie,u as g,ut as _,v}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as ae,u as y}from"./BasicIcon-Bzeb0Iwd.js";import{t as b}from"./dist-Bc4P4ngC.js";import{O as oe,S as se,k as ce,l as le,n as ue,o as de}from"./index-C40q_iVH.js";import{t as fe}from"./IconFilter-DgpHKrEL.js";import{t as pe}from"./IconDiamond-Dn-fHb3u.js";import{t as me}from"./PageHeader-CNHiRdZv.js";import"./SearchField-dVDn9y5S.js";import{t as he}from"./PageSkeleton-DYdjm4l9.js";import{t as ge}from"./crm-Bj4T2PId.js";import{n as _e,t as x}from"./categoryIcons-Bqt1-_c8.js";import{t as ve}from"./IconHeart-CvzbNH_T.js";import{n as ye}from"./colorSwatch-BgOH1LE5.js";var be={class:`page products-page`},xe=[`aria-expanded`],Se={class:`desktop-page__head desktop-only products-desk-head`},Ce={class:`products-desk-head__copy`},we={class:`desktop-page__title`},Te={class:`desktop-page__subtitle`},Ee={key:0,class:`products-filter-desk desktop-only`},De={class:`products-filter-sheet products-filter-sheet--desk`},Oe={class:`products-filter-section`},ke=[`aria-expanded`],Ae={key:0,class:`field-select__menu`,role:`listbox`,"aria-label":`دسته کاربرد`},je=[`onClick`],Me={class:`products-filter-section`},Ne=[`aria-expanded`],Pe={key:0,class:`field-select__menu`,role:`listbox`,"aria-label":`فصل`},Fe=[`onClick`],Ie={class:`products-filter-actions products-filter-actions--desk`},Le={class:`products-filter-section`},Re=[`aria-expanded`],ze={key:0,class:`field-select__menu`,role:`listbox`,"aria-label":`دسته کاربرد`},Be=[`aria-selected`],Ve=[`aria-selected`,`onClick`],He={class:`products-filter-section`},Ue=[`aria-expanded`],We={key:0,class:`field-select__menu`,role:`listbox`,"aria-label":`فصل`},Ge=[`aria-selected`],Ke=[`aria-selected`,`onClick`],qe={class:`products-filter-actions`},Je={class:`page__scroll page__scroll--with-nav products-scroll`},Ye={key:0},Xe={class:`cat-banner__content`},Ze={key:0,class:`cat-banner__lead`},Qe={key:1,class:`cat-banner__title-row`},$e={key:0,class:`cat-banner__icon-ring`,"aria-hidden":`true`},et={key:1,class:`cat-banner__title`},tt={key:2,class:`cat-banner__title`},nt={key:3,class:`cat-banner__tagline`},rt={key:0,class:`cat-banner__icon-ring cat-banner__icon-ring--aside`,"aria-hidden":`true`},it={key:0,class:`chips-row scroll-x`},at=[`aria-label`],ot=[`onClick`],st=[`onClick`],ct={class:`list-meta`},lt=[`aria-label`],ut={class:`products-list`},dt=[`onClick`],ft={class:`product-item__body`},pt={class:`product-item__head`},mt={class:`product-item__title`},ht={key:0,class:`new-tag`},gt=[`aria-label`,`aria-pressed`,`onClick`],_t={class:`product-item__specs`},vt={class:`swatches`},yt=[`onClick`],bt={key:1,class:`empty-list`},S=ie(v({__name:`ProductsView`,setup(ie){let v=oe(),S=ce(),C=ge(),w=le(),T=l(()=>String(v.query.categoryId??``)),E=l(()=>String(v.query.catalogId??``)),D=l(()=>String(v.query.companyId??``)),O=l(()=>String(v.query.season??``)),xt=l(()=>String(v.query.filterAxis??``)),k=l(()=>String(v.query.q??``)),St=h(String(v.query.q??``)),A=h([]),j=h(``),M=h(!0),N=h(null),P=h(`newest`),F=h(!1),I=h(``),L=h(``),R=h(!1),z=h(!1),B=h(null),Ct=h(null),V=h(null),H=h(null),U=l(()=>!E.value),W=l(()=>!!T.value||!!O.value),wt=l(()=>I.value?C.usageCategories.find(e=>e.id===I.value)?.title??`همه دستهها`:`همه دستهها`),Tt=l(()=>L.value?C.seasonCategories.find(e=>e.id===L.value)?.title??`همه فصول`:`همه فصول`),G=l(()=>E.value&&j.value?j.value:T.value?C.usageCategories.find(e=>e.id===T.value)?.title??`محصولات`:O.value?C.seasonCategories.find(e=>e.id===O.value)?.title??`محصولات`:k.value?`جستجو: ${k.value}`:`محصولات`);function Et(e){let t=e.trim();return t.startsWith(`پارچههای `)?{lead:`پارچههای`,headline:t.slice(10)}:{lead:void 0,headline:t}}function Dt(e){return e.icon||(e.id===`summer`?`bolt`:e.id===`winter`?`feather`:`diamond`)}let K=l(()=>{if(T.value){let e=C.usageCategories.find(e=>e.id===T.value),t=Et(e?.title??G.value);return{lead:e?.showTitle===!1?void 0:t.lead,headline:e?.showTitle===!1?void 0:t.headline,tagline:e?.showSubtitle===!1?void 0:e?.subtitle,showIcon:e?.showIcon!==!1}}if(O.value){let e=C.seasonCategories.find(e=>e.id===O.value);return{lead:void 0,headline:e?.showTitle===!1?void 0:e?.title??G.value,tagline:e?.showDescription===!1?void 0:e?.description||void 0,showIcon:e?.showIcon!==!1}}return E.value?{lead:`کالیته`,headline:j.value||G.value,tagline:`انتخاب محصول از کالیته`,showIcon:!0}:{lead:void 0,headline:G.value,tagline:k.value?`نتایج جستجو`:`مشاهده و ثبت سفارش`,showIcon:!1}}),q=l(()=>{if(K.value.showIcon===!1)return null;if(T.value){let e=C.usageCategories.find(e=>e.id===T.value);if(e)return x(_e(e),se)}if(O.value){let e=C.seasonCategories.find(e=>e.id===O.value);if(e)return x(Dt(e),pe)}return null}),J=l(()=>{if(T.value){let e=C.usageCategories.find(e=>e.id===T.value);if(e?.imageUrl)return e.imageUrl}if(O.value){let e=C.seasonCategories.find(e=>e.id===O.value);if(e?.imageUrl)return e.imageUrl}if(E.value)return A.value.find(e=>e.imageUrl)?.imageUrl}),Ot=l(()=>J.value?{backgroundImage:`url(${J.value})`}:void 0);l(()=>!T.value&&!E.value);let kt=l(()=>xt.value===`usage`||T.value?`season`:xt.value===`season`||O.value?`usage`:`season`),At=l(()=>kt.value===`season`?`فصل`:`دسته کاربرد`),Y=l(()=>{let e=k.value.trim().toLowerCase(),t=[...A.value];return e&&(t=t.filter(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)||(t.composition||``).toLowerCase().includes(e))),P.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 jt(){P.value=P.value===`newest`?`name`:`newest`}let Mt=l(()=>P.value===`newest`?`مرتبسازی: جدیدترین`:`مرتبسازی: نام`);async function Nt(){M.value=!0,N.value=null;try{await C.loadCategories(),A.value=await C.loadBrowseProducts({categoryId:T.value||void 0,season:O.value||void 0,catalogId:E.value||void 0,companyId:D.value||void 0});let e=A.value[0];j.value=e?.catalogName||e?.catalogCode||``}catch(e){N.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`,A.value=[]}finally{M.value=!1}}ne(async()=>{await w.hydrate(),await Nt()}),s([T,O,E,D],Nt),s(k,e=>{St.value=e});function Pt(e){let t=T.value,n=t?`usage`:e?`season`:void 0;S.replace({path:`/products`,query:{...t?{categoryId:t}:{},...E.value?{catalogId:E.value}:{},...D.value?{companyId:D.value}:{},...e?{season:e}:{},...n?{filterAxis:n}:{},...k.value?{q:k.value}:{}}})}function Ft(e){let t=O.value,n=t?`season`:e?`usage`:void 0;S.replace({path:`/products`,query:{...e?{categoryId:e}:{},...E.value?{catalogId:E.value}:{},...D.value?{companyId:D.value}:{},...t?{season:t}:{},...n?{filterAxis:n}:{},...k.value?{q:k.value}:{}}})}function X(e){S.push({path:`/product`,query:{id:e}})}function It(e){return C.seasonCategories.find(t=>t.id===e)?.title??e}function Lt(e){w.toggle(e)}function Rt(){I.value=T.value,L.value=O.value,R.value=!1,z.value=!1,F.value=!0}function Z(){F.value=!1,R.value=!1,z.value=!1}function zt(){z.value=!1,R.value=!R.value}function Bt(){R.value=!1,z.value=!z.value}function Q(e){I.value=e,R.value=!1}function $(e){L.value=e,z.value=!1}b(B,()=>{R.value=!1}),b(Ct,()=>{z.value=!1}),b(V,()=>{R.value=!1}),b(H,()=>{z.value=!1});function Vt(e,t){if(e)return`usage`;if(t)return`season`}function Ht(e,t){let n=Vt(e,t);return{...e?{categoryId:e}:{},...t?{season:t}:{},...n?{filterAxis:n}:{},...D.value?{companyId:D.value}:{},...k.value?{q:k.value}:{}}}function Ut(){S.replace({path:`/products`,query:Ht(I.value,L.value)}),Z()}function Wt(){I.value=``,L.value=``,S.replace({path:`/products`,query:Ht(``,``)}),Z()}return s(F,e=>{typeof window<`u`&&window.matchMedia(`(min-width: 768px)`).matches||(document.body.style.overflow=e?`hidden`:``)}),e(()=>{document.body.style.overflow=``}),(e,s)=>(i(),d(`div`,be,[c(me,{class:`mobile-only`,title:G.value,"show-back":``,centered:``,onBack:s[0]||=e=>_(S).back()},{trailing:r(()=>[U.value?(i(),d(`button`,{key:0,type:`button`,class:t([`nav-filter`,{"nav-filter--active":W.value}]),"aria-label":`فیلتر محصولات`,"aria-expanded":F.value,onClick:Rt},[c(fe,{size:18})],10,xe)):u(``,!0)]),_:1},8,[`title`]),m(`header`,Se,[m(`div`,Ce,[m(`h1`,we,o(G.value),1),m(`p`,Te,o(K.value.tagline||(k.value?`نتایج جستجو`:`مشاهده و ثبت سفارش`)),1)])]),U.value?(i(),d(`div`,Ee,[m(`div`,De,[s[14]||=m(`header`,{class:`products-filter-sheet__head`},[m(`h2`,null,`فیلتر محصولات`)],-1),m(`label`,Oe,[s[10]||=m(`span`,{class:`products-filter-section__title`},`دسته کاربرد`,-1),m(`div`,{ref_key:`categoryRootDesk`,ref:V,class:`field-select`},[m(`button`,{type:`button`,class:t([`field-select__trigger`,{"is-open":R.value}]),"aria-haspopup":`listbox`,"aria-expanded":R.value,onClick:zt},[m(`span`,{class:t({"is-placeholder":!I.value})},o(wt.value),3),s[9]||=m(`svg`,{class:`field-select__chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[m(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,ke),R.value?(i(),d(`ul`,Ae,[m(`li`,null,[m(`button`,{type:`button`,role:`option`,class:t([`field-select__option`,{"is-active":!I.value}]),onClick:s[1]||=e=>Q(``)},` همه دستهها `,2)]),(i(!0),d(p,null,n(_(C).usageCategories,e=>(i(),d(`li`,{key:e.id},[m(`button`,{type:`button`,role:`option`,class:t([`field-select__option`,{"is-active":I.value===e.id}]),onClick:t=>Q(e.id)},o(e.title),11,je)]))),128))])):u(``,!0)],512)]),m(`label`,Me,[s[12]||=m(`span`,{class:`products-filter-section__title`},`فصل`,-1),m(`div`,{ref_key:`seasonRootDesk`,ref:H,class:`field-select`},[m(`button`,{type:`button`,class:t([`field-select__trigger`,{"is-open":z.value}]),"aria-haspopup":`listbox`,"aria-expanded":z.value,onClick:Bt},[m(`span`,{class:t({"is-placeholder":!L.value})},o(Tt.value),3),s[11]||=m(`svg`,{class:`field-select__chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[m(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,Ne),z.value?(i(),d(`ul`,Pe,[m(`li`,null,[m(`button`,{type:`button`,role:`option`,class:t([`field-select__option`,{"is-active":!L.value}]),onClick:s[2]||=e=>$(``)},` همه فصول `,2)]),(i(!0),d(p,null,n(_(C).seasonCategories,e=>(i(),d(`li`,{key:e.id},[m(`button`,{type:`button`,role:`option`,class:t([`field-select__option`,{"is-active":L.value===e.id}]),onClick:t=>$(e.id)},o(e.title),11,Fe)]))),128))])):u(``,!0)],512)]),m(`div`,Ie,[c(ue,{onClick:Ut},{default:r(()=>[...s[13]||=[f(`اعمال فیلتر`,-1)]]),_:1}),W.value?(i(),d(`button`,{key:0,type:`button`,class:`products-filter-clear`,onClick:Wt},` پاک کردن فیلترها `)):u(``,!0)])])])):u(``,!0),(i(),g(re,{to:`body`},[c(ae,{name:`products-filter-sheet`},{default:r(()=>[F.value&&U.value?(i(),d(`div`,{key:0,class:`products-filter-panel mobile-only`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`products-filter-title`,onClick:y(Z,[`self`])},[m(`div`,{class:`products-filter-sheet`,onClick:s[6]||=y(()=>{},[`stop`])},[s[21]||=m(`div`,{class:`products-filter-sheet__handle`,"aria-hidden":`true`},null,-1),m(`header`,{class:`products-filter-sheet__head`},[s[15]||=m(`h2`,{id:`products-filter-title`},`فیلتر محصولات`,-1),m(`button`,{type:`button`,class:`products-filter-sheet__close`,"aria-label":`بستن`,onClick:Z},` × `)]),m(`label`,Le,[s[17]||=m(`span`,{class:`products-filter-section__title`},`دسته کاربرد`,-1),m(`div`,{ref_key:`categoryRoot`,ref:B,class:`field-select`},[m(`button`,{type:`button`,class:t([`field-select__trigger`,{"is-open":R.value}]),"aria-haspopup":`listbox`,"aria-expanded":R.value,onClick:zt},[m(`span`,{class:t({"is-placeholder":!I.value})},o(wt.value),3),s[16]||=m(`svg`,{class:`field-select__chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[m(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,Re),R.value?(i(),d(`ul`,ze,[m(`li`,null,[m(`button`,{type:`button`,role:`option`,class:t([`field-select__option`,{"is-active":!I.value}]),"aria-selected":!I.value,onClick:s[3]||=e=>Q(``)},` همه دستهها `,10,Be)]),(i(!0),d(p,null,n(_(C).usageCategories,e=>(i(),d(`li`,{key:e.id},[m(`button`,{type:`button`,role:`option`,class:t([`field-select__option`,{"is-active":I.value===e.id}]),"aria-selected":I.value===e.id,onClick:t=>Q(e.id)},o(e.title),11,Ve)]))),128))])):u(``,!0)],512)]),m(`label`,He,[s[19]||=m(`span`,{class:`products-filter-section__title`},`فصل`,-1),m(`div`,{ref_key:`seasonRoot`,ref:Ct,class:`field-select`},[m(`button`,{type:`button`,class:t([`field-select__trigger`,{"is-open":z.value}]),"aria-haspopup":`listbox`,"aria-expanded":z.value,onClick:Bt},[m(`span`,{class:t({"is-placeholder":!L.value})},o(Tt.value),3),s[18]||=m(`svg`,{class:`field-select__chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[m(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,Ue),z.value?(i(),d(`ul`,We,[m(`li`,null,[m(`button`,{type:`button`,role:`option`,class:t([`field-select__option`,{"is-active":!L.value}]),"aria-selected":!L.value,onClick:s[4]||=e=>$(``)},` همه فصول `,10,Ge)]),(i(!0),d(p,null,n(_(C).seasonCategories,e=>(i(),d(`li`,{key:e.id},[m(`button`,{type:`button`,role:`option`,class:t([`field-select__option`,{"is-active":L.value===e.id}]),"aria-selected":L.value===e.id,onClick:t=>$(e.id)},o(e.title),11,Ke)]))),128))])):u(``,!0)],512)]),m(`div`,qe,[c(ue,{block:``,onClick:Ut},{default:r(()=>[...s[20]||=[f(`اعمال فیلتر`,-1)]]),_:1}),W.value?(i(),d(`button`,{key:0,type:`button`,class:`products-filter-clear`,onClick:Wt},` پاک کردن فیلترها `)):u(``,!0),m(`button`,{type:`button`,class:`products-filter-link`,onClick:s[5]||=e=>{_(S).push(`/categories`),Z()}},` مشاهده همه دستهبندیها `)])])])):u(``,!0)]),_:1})])),m(`div`,Je,[N.value?(i(),d(`p`,Ye,o(N.value),1)):M.value?(i(),g(he,{key:1,variant:`grid`})):(i(),d(p,{key:2},[m(`section`,{class:t([`cat-banner`,{"cat-banner--photo":!!J.value}]),style:a(Ot.value)},[m(`div`,Xe,[K.value.lead?(i(),d(`p`,Ze,o(K.value.lead),1)):u(``,!0),K.value.headline||q.value&&J.value?(i(),d(`div`,Qe,[q.value&&J.value?(i(),d(`span`,$e,[(i(),g(ee(q.value),{size:22,color:`#ffffff`}))])):u(``,!0),K.value.headline?(i(),d(`h2`,et,o(K.value.headline),1)):u(``,!0)])):K.value.headline?(i(),d(`h2`,tt,o(K.value.headline),1)):u(``,!0),K.value.tagline?(i(),d(`p`,nt,o(K.value.tagline),1)):u(``,!0)]),q.value&&!J.value?(i(),d(`span`,rt,[(i(),g(ee(q.value),{size:26,color:`#ffffff`}))])):u(``,!0)],6),U.value?(i(),d(`div`,it,[m(`div`,{class:`chips`,role:`tablist`,"aria-label":At.value},[kt.value===`season`?(i(),d(p,{key:0},[m(`button`,{type:`button`,class:t([`chip`,{"chip--active":!O.value}]),onClick:s[7]||=e=>Pt(``)},` همه `,2),(i(!0),d(p,null,n(_(C).seasonCategories,e=>(i(),d(`button`,{key:e.id,type:`button`,class:t([`chip`,{"chip--active":O.value===e.id}]),onClick:t=>Pt(e.id)},o(e.title),11,ot))),128))],64)):(i(),d(p,{key:1},[m(`button`,{type:`button`,class:t([`chip`,{"chip--active":!T.value}]),onClick:s[8]||=e=>Ft(``)},` همه `,2),(i(!0),d(p,null,n(_(C).usageCategories,e=>(i(),d(`button`,{key:e.id,type:`button`,class:t([`chip`,{"chip--active":T.value===e.id}]),onClick:t=>Ft(e.id)},o(e.title),11,st))),128))],64))],8,at)])):u(``,!0),m(`div`,ct,[m(`span`,null,`تعداد محصولات: `+o(Y.value.length.toLocaleString(`fa-IR`)),1),m(`button`,{type:`button`,class:`list-meta__sort`,"aria-label":Mt.value,onClick:jt},[...s[22]||=[te(`<span class="list-meta__sort-icon" aria-hidden="true" data-v-806e08a9><svg width="15" height="12" viewBox="0 0 15 12" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-806e08a9><path d="M4.5 2.5V9.5" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" data-v-806e08a9></path><path d="M2.5 7.5L4.5 9.5L6.5 7.5" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" data-v-806e08a9></path><path d="M10.5 9.5V2.5" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" data-v-806e08a9></path><path d="M8.5 4.5L10.5 2.5L12.5 4.5" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" data-v-806e08a9></path></svg></span><span class="list-meta__sort-badge" data-v-806e08a9>۱</span><span class="list-meta__sort-label" data-v-806e08a9>مرتبسازی</span>`,3)]],8,lt)]),m(`div`,ut,[(i(!0),d(p,null,n(Y.value,e=>(i(),d(`article`,{key:e.id,class:`product-item`,onClick:t=>X(e.id)},[m(`div`,{class:`product-item__image`,style:a(e.imageUrl?{backgroundImage:`url(${e.imageUrl})`}:void 0)},null,4),m(`div`,ft,[m(`div`,pt,[m(`div`,mt,[m(`strong`,null,o(e.name),1),e.isNew?(i(),d(`span`,ht,`جدید`)):u(``,!0)]),m(`button`,{type:`button`,class:`bookmark`,"aria-label":_(w).isFavorite(e.id)?`حذف از علاقهمندیها`:`افزودن به علاقهمندیها`,"aria-pressed":_(w).isFavorite(e.id),onClick:y(t=>Lt(e.id),[`stop`])},[c(ve,{size:18,filled:_(w).isFavorite(e.id),color:_(w).isFavorite(e.id)?`var(--color-primary)`:`#9ca3af`},null,8,[`filled`,`color`])],8,gt)]),m(`ul`,_t,[m(`li`,null,`عرض: `+o(e.widthCm.toLocaleString(`fa-IR`))+` سانتیمتر`,1),m(`li`,null,`ترکیب: `+o(e.composition||`—`),1),m(`li`,null,`مناسب: `+o(It(e.season)),1)]),m(`div`,vt,[(i(!0),d(p,null,n(e.colors.slice(0,6),(t,n)=>(i(),d(`span`,{key:n,class:`swatch`,style:a(_(ye)(t,e.colorImages?.[n]||e.imageUrls?.[n]))},null,4))),128))]),m(`button`,{type:`button`,class:`details-link`,onClick:y(t=>X(e.id),[`stop`])},[s[23]||=f(` مشاهده جزئیات `,-1),c(de,{size:14})],8,yt)])],8,dt))),128))]),Y.value.length?u(``,!0):(i(),d(`p`,bt,`محصولی در این دسته یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-806e08a9`]]);export{S as default}; |