Spaces:
Running
Running
Fix product loading to only reference existing JSON files
Browse files- index.html +1 -1
index.html
CHANGED
|
@@ -774,7 +774,7 @@ const PRICES=[
|
|
| 774 |
{l:'15-30 triệu',min:15e6,max:3e7},{l:'30-50 triệu',min:3e7,max:5e7},{l:'Trên 50 triệu',min:5e7,max:1e15}
|
| 775 |
];
|
| 776 |
|
| 777 |
-
Promise.all(['products_with_slugs.json','
|
| 778 |
|
| 779 |
function nVN(s){return s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'').replace(/đ/g,'d').replace(/Đ/g,'d')}
|
| 780 |
|
|
|
|
| 774 |
{l:'15-30 triệu',min:15e6,max:3e7},{l:'30-50 triệu',min:3e7,max:5e7},{l:'Trên 50 triệu',min:5e7,max:1e15}
|
| 775 |
];
|
| 776 |
|
| 777 |
+
Promise.all(['products_with_slugs.json','products_konox.json'].map(f=>fetch(f).then(r=>r.ok?r.json():[]).catch(()=>[]))).then(all=>{let deleted=(all.pop()||[]).map(x=>String((x&&typeof x==='object')?(x.key||x.sku||x.model||x.slug||x.url||''):x).toLowerCase().replace(/[^a-z0-9]/g,''));let isDel=p=>{let vals=[p.sku,p.mod,p.slug,p.l,p.n].filter(Boolean).map(v=>String(v).toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'').replace(/đ/g,'d').replace(/[^a-z0-9]/g,''));return deleted.some(d=>d&&vals.some(v=>d===v||(d.length>=4&&v.includes(d))||(v.length>=4&&d.includes(v))));};let d=[].concat(...all).filter(p=>!isDel(p));D=d.map(p=>{let br=p.brand||(p.n.includes('| Demax |')?'Demax':p.n.includes('| Canzy |')?'Canzy':p.n.includes('| Garis |')?'Garis':p.n.includes('| Grob |')?'Grob':p.n.includes('| Eurogold |')||p.n.startsWith('Eurogold |')?'Eurogold':(p._source||'').toLowerCase().includes('điện máy xanh')?'_dmx':'Malloca');let logoMap={Malloca:'https://huggingface.co/spaces/bep40/V.AISTUDIO/resolve/main/logo/partners/malloca.png',Eurogold:'https://huggingface.co/spaces/bep40/V.AISTUDIO/resolve/main/logo/partners/eurogold.png',Grob:'https://huggingface.co/spaces/bep40/V.AISTUDIO/resolve/main/logo/partners/grob.png',Garis:'https://huggingface.co/spaces/bep40/V.AISTUDIO/resolve/main/logo/partners/garis.png',Canzy:'https://huggingface.co/spaces/bep40/V.AISTUDIO/resolve/main/logo/partners/canzy.png',Demax:'https://huggingface.co/spaces/bep40/V.AISTUDIO/resolve/main/logo/partners/demax.png',Hafele:'https://huggingface.co/spaces/bep40/V.AISTUDIO/resolve/main/logo/partners/hafele.png',_dmx:'https://huggingface.co/spaces/bep40/V.AISTUDIO/resolve/main/logo/partners/dmx.jpg'};let imgs=(p.imgs||[]).filter(Boolean);let img=p.i||imgs[0]||logoMap[br]||'https://huggingface.co/spaces/bep40/V.AISTUDIO/resolve/main/logo/logo_main.png';if(!imgs.length&&img)imgs=[img];let o={name:p.n,link:p.l,image:img,price:p.p,priceNum:p.pn,cat:p.c,catSlug:p.cs,catIcon:p.ci,subCat:p.sub_c||'',subCatSlug:p.sub_cs||'',images:imgs,summary:p.sum||'',desc:p.desc||'',specs:p.specs||{},feats:p.feats||[],sku:p.sku||'',video:p.vid||'',model:p.mod||'',slug:p.slug||'',brand:br,_source:p._source||'',_sourceUrl:p._sourceUrl||''};o._idx=buildSearchIndex(o);return o}).filter(p=>{let isExt=(p.link&&(p.link.indexOf('dienmayxanh')!==-1||p.link.indexOf('hafele-vn')!==-1))||(p._source&&(p._source.toLowerCase().indexOf('hafele')!==-1||p._source.toLowerCase().indexOf('điện máy xanh')!==-1));if(!isExt)return true;let nm=((p.name||'')+(p.brand||'')+(p.sku||'')).toLowerCase();return nm.indexOf('malloca')===-1;});window.D=D;window.S=S;init()}).catch(e=>{document.getElementById('grid').innerHTML='<div class="empty" style="grid-column:1/-1"><i class="fas fa-exclamation-triangle"></i><h3>Lỗi tải dữ liệu</h3><p>'+e.message+'</p><button class="reset-btn" onclick="location.reload()">Tải lại</button></div>'});
|
| 778 |
|
| 779 |
function nVN(s){return s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'').replace(/đ/g,'d').replace(/Đ/g,'d')}
|
| 780 |
|