Files
nademitex_user/dist/assets/catalogGallery-DMNB35I1.js
T

1 line
2.6 KiB
JavaScript

var e={suit:`پارچه‌های کت‌وشلواری`,trousers:`پارچه‌های شلواری`,shirt:`پارچه‌های پیراهنی`},t={summer:`تابستانه`,winter:`زمستانه`,all_season:`چهار فصل`};function n(e){let t=e.trim();return t.includes(`کالیته`)?t:`کالیته ${t}`}function r(e){return e.description?.match(/[A-Za-z][A-Za-z0-9 .&-]{1,28}/)?.[0]?.trim()||(/^[A-Za-z]/.test(e.code)?e.code:``)}function i(e,t){if(!e.length)return t;let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);return[...n.entries()].sort((e,t)=>t[1]-e[1])[0]?.[0]??t}function a(e){let t=`${e.weaveType??``} ${e.tags.join(` `)} ${e.name}`;return/ملانژ|melange|mélange|heather/i.test(t)?`melange`:/طرح‌?دار|striped?|check|print|jacquard|pattern/i.test(t)?`patterned`:/ساده|plain|solid/i.test(t)?`plain`:`other`}function o(e){let t=new Map;for(let n of e){let e=n.name.trim()||n.code,r=t.get(e)??[];r.push(n),t.set(e,r)}return[...t.entries()].map(([,e])=>{let t=[...new Set(e.flatMap(e=>e.colors.length?e.colors:e.color?[e.color]:[]))],n=t.map(t=>{for(let n of e){let e=n.colors.indexOf(t);if(e>=0&&n.colorImages?.[e])return n.colorImages[e]??void 0}});return{id:e[0].id,name:e[0].name,imageUrl:n.find(Boolean)||e.find(e=>e.imageUrl)?.imageUrl,colorCount:Math.max(t.length,e.length),colors:t.slice(0,5),colorImages:n.slice(0,5),kind:a(e[0]),items:e}})}function s(t,a){let s=new Map;for(let e of a){if(!e.catalogId)continue;let t=s.get(e.catalogId)??[];t.push(e),s.set(e.catalogId,t)}let c=t.map(e=>s.get(e.id)?.length??e.productCount??0),l=Math.max(4,[...c].sort((e,t)=>t-e)[Math.floor(t.length/3)]??4);return t.map(t=>{let a=s.get(t.id)??[],c=o(a).length||a.length||t.productCount||0,u=i(a.map(e=>e.categoryId),`suit`),d=i(a.map(e=>e.season),`all_season`),f=a.some(e=>e.isNew),p=c>=l;return{id:t.id,companyId:t.companyId,name:t.name,title:n(t.name),latinName:r(t),subtitle:t.description?.trim()||e[u]||`پارچه‌های منتخب`,imageUrl:t.imageUrl||a.find(e=>e.imageUrl)?.imageUrl,patternCount:c,badge:f?`new`:p?`popular`:void 0,season:d,isNew:f,isPopular:p}})}function c(e,t,n){let r=n.trim().toLowerCase(),i=e.filter(e=>!r||[e.title,e.name,e.latinName,e.subtitle].join(` `).toLowerCase().includes(r));if(t===`newest`)return i.sort((e,t)=>Number(t.isNew)-Number(e.isNew)||t.patternCount-e.patternCount);if(t===`popular`)return i.sort((e,t)=>Number(t.isPopular)-Number(e.isPopular)||t.patternCount-e.patternCount);if(t===`season`){let e=[`summer`,`winter`,`all_season`];return i.sort((t,n)=>e.indexOf(t.season)-e.indexOf(n.season)||t.title.localeCompare(n.title,`fa`))}return i}export{c as a,r as i,s as n,o,n as r,t};