PageSourceSearch

https://www.groupechopard.com/_nuxt/D4u9h60z.js

js groupechopard.com collected 2026-10-05 23:34:11 UTC 5,210 bytes, 1 lines download raw bytes

1import{a1 as e,j as t,k as r,l as a,D as s}from"./Pi54WONw.js";import{a as l}from"./BaBQGI9r.js";const n=e=>"string"==typeof e.brand?e.brand.trim():e.brand&&"object"==typeof e.brand&&"name"in e.brand?e.brand.name?.trim()??"":"",u=e=>""!==n(e),o=e=>e.name&&e.city?`${e.name} - ${e.city}`:e.name??"",i=(e,t,r=!0)=>{const a=[{label:t,value:""}];if(!e?.length)return a;const s=(r?e.filter(u):e).map(e=>({label:o(e),value:e.id}));return s.sort((e,t)=>e.label.localeCompare(t.label,"fr")),a.push(...s),a},d=(e,t=!0)=>{if(!e.length)return[];const r=t?e.filter(u):e;if(!r.length)return[];const a=r.reduce((e,t)=>{const r=n(t);return e[r]||(e[r]=[]),e[r].push(t),e},{});return Object.keys(a).sort((e,t)=>e.localeCompare(t,"fr",{sensitivity:"base"})).map(e=>({label:e,options:a[e].sort((e,t)=>o(e).localeCompare(o(t),"fr",{sensitivity:"base"})).map(e=>({label:o(e),value:e.id}))}))},c=(e,t)=>{const r=[{label:t,value:""}];return e?.length&&e.forEach(e=>r.push({label:e.name,value:e.id})),r},v=e("stores",()=>{const e=t([]),r=t(!1),a=t(null),s=t(!1),n=async()=>{if(s.value&&e.value.length>0)return e.value;r.value=!0,a.value=null;const t=t=>(e.value=t.map(e=>({...e,id:e.id||e.objectID})),s.value=!0,e.value);try{const e=await $fetch("/api/stores/all").catch(()=>null);if(e?.success&&e.stores?.length)return t(e.stores);const r=l(),a=await r.search([{indexName:"stores",params:{hitsPerPage:1e3,attributesToRetrieve:["objectID","id","name","brand","city","postal_code","latitude","longitude"]}}]),s=a.results?.[0]?.hits;return s?.length?t(s):[]}catch(n){return a.value="Erreur lors de la récupération des stores",[]}finally{r.value=!1}};return{stores:e,isLoading:r,error:a,isLoaded:s,fetchAllStores:n,fetchStoresByBrand:async t=>{r.value=!0,a.value=null;try{const r=l(),a={indexName:"stores",params:{filters:`brand:${t}`,hitsPerPage:100,attributesToRetrieve:["objectID","id","name","brand","city","postal_code","latitude","longitude"]}},s=await r.search([a]);if(s.results?.[0]){const t=s.results[0].hits.map(e=>({...e,id:e.id||e.objectID}));return e.value=t,t}return[]}catch(s){return a.value="Erreur lors de la récupération des stores par marque",[]}finally{r.value=!1}},fetchStoresByCity:async t=>{r.value=!0,a.value=null;try{const r=l(),a={indexName:"stores",params:{filters:`city:${t}`,hitsPerPage:100,attributesToRetrieve:["objectID","id","name","brand","city","postal_code","latitude","longitude"]}},s=await r.search([a]);if(s.results?.[0]){const t=s.results[0].hits.map(e=>({...e,id:e.id||e.objectID}));return e.value=t,t}return[]}catch(s){return a.value="Erreur lors de la récupération des stores par ville",[]}finally{r.value=!1}},searchStores:async t=>{r.value=!0,a.value=null;try{const r=l(),a={indexName:"stores",params:{query:t,hitsPerPage:50,attributesToRetrieve:["objectID","id","name","brand","city","postal_code","latitude","longitude"]}},s=await r.search([a]);if(s.results?.[0]){const t=s.results[0].hits.map(e=>({...e,id:e.id||e.objectID}));return e.value=t,t}return[]}catch(s){return a.value="Erreur lors de la recherche de stores",[]}finally{r.value=!1}},fetchStoreById:async e=>{r.value=!0,a.value=null;try{const t=l(),r={indexName:"stores",params:{filters:`objectID:${e}`,hitsPerPage:1,attributesToRetrieve:["objectID","id","name","brand","city","postal_code","latitude","longitude"]}},a=await t.search([r]);if(a.results?.[0]?.hits?.[0]){const e=a.results[0].hits[0];return{...e,id:e.id||e.objectID}}return null}catch(t){return a.value="Erreur lors de la récupération du store",null}finally{r.value=!1}},resetStores:()=>{e.value=[],r.value=!1,a.value=null,s.value=!1},refreshStores:async()=>(s.value=!1,await n()),getStoreOptionsGroupedByBrand:()=>d(e.value,!0)}}),b=(e,l)=>{const{t:n,showToast:u}=l,o=t([]),i=t(!1),d=r(()=>{if(e.brand)return e.brand.slug?e.brand.slug:null!=e.brand.id?String(e.brand.id):void 0}),c=r(()=>{if(e.brand){const t=d.value;return t?[{slugOrId:t,type:e.brand?.type}]:[]}return e.brands?.length?e.brands.map(e=>{const t=void 0!==e.id&&null!==e.id?String(e.id):null,r=e.slug??t;return r?{slugOrId:r,type:e.type}:null}).filter(e=>null!=e):[]}),v=r(()=>e.isStandalone&&!e.stores?.length||"brand"===e.variant&&!e.brandStores?.length),b=r(()=>!!e.brand||Array.isArray(e.brands)&&e.brands.length>0),h=r(()=>v.value&&b.value&&c.value.length>0&&(!!e.vehicleType||c.value.some(e=>!!e.type))),p=async()=>
1{if(h.value&&c.value.length){i.value=!0;try{const t=e.vehicleType?.toLowerCase()||c.value.find(e=>e.type)?.type?.toLowerCase()||"",r=[],a=new Set;for(const e of c.value){const{slugOrId:s,type:l}=e,n=l?.toLowerCase()||t;if(!n)continue;const u=await $fetch(`/api/brand/${n}/${s}/stores`),o=Array.isArray(u)?u:[];for(const e of o)null==e.id||a.has(e.id)||(a.add(e.id),r.push({id:e.id,name:e.name}))}o.value=r}catch(t){u(n("form.errors.global"),"error"),o.value=[]}finally{i.value=!1}}};a(()=>{h.value&&p()}),s(()=>[e.isStandalone,e.brand,e.brands,e.store,e.stores,e.brandStores,e.vehicleType,d.value,c.value.length],()=>{h.value&&p()});const y=r(()=>o.value.map(e=>({label:e.name,value:e.id?.toString?.()??String(e.id)})));return{brandStoresFromApi:o,brandStoresLoading:i,storeOptionsFromApi:y,fetchBrandStores:p,shouldFetchBrandStores:h}};export{b as a,i as b,c,d,v as u};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.