PageSourceSearch

https://www.abcsalles.com/dist/Bkh-BFUc.js

js abcsalles.com collected 2026-09-24 18:58:51 UTC 15,602 bytes, 1 lines download raw bytes

1import{h as e,ar as a,o as l,W as i,U as t,G as s,u as o,E as n,F as r,a7 as u,ak as c,af as v,i as d,ag as p,ad as m,a9 as f,as as g,a8 as _,b as w,n as h,c as k,ac as y,$ as b,a2 as C}from"./BfDnOnaI.js";import{u as x,y as j,i as V,a7 as z,a8 as I,w as R,_ as G}from"./BMSgpEOY.js";import{u as U}from"./CqihGGzb.js";import{s as $}from"./DLINPbvV.js";import{V as F}from"./DW_5mmOQ.js";import{V as P}from"./ChShDm0i.js";import{V as A}from"./BO2_oNHq.js";import"./CLggjyVW.js";import"./Db6QDIQ7.js";import"./BgqashYW.js";const L={class:"review-page"},M={class:"review-page__card"},T={key:0,class:"review-page__center"},q={key:1,class:"review-page__center"},Q={key:2,class:"review-page__center"},E={class:"review-page__subtitle"},S={key:0},D={key:1},N={key:0,class:"review-page__muted"},O={class:"review-page__ratings"},W={class:"review-page__rating-label"},J={class:"review-page__stars"},B=["onClick"],H={class:"review-page__photos"},Y={key:0,class:"review-page__photos-grid"},K=["src","alt","onClick"],X=["title"],Z={class:"review-page__photo-size"},ee=["onClick"],ae={class:"review-page__submit"},le={class:"review-page__center"},ie={class:"review-page__submit"},te={class:"review-page__center"},se={class:"review-page__preview"},oe={class:"review-page__rating-label"},ne={class:"review-page__stars"},re={key:0,class:"mt-4"},ue={key:0},ce={key:1,class:"mt-2"},ve={key:0,class:"review-page__comment"},de={key:0,class:"mt-4"},pe={class:"review-page__photos-grid mt-2"},me=["src","onClick"],fe=["onClick"],ge={key:1,class:"review-page__photos mt-4"},_e={key:0,class:"review-page__photos-grid"},we=["src","alt","onClick"],he=["title"],ke={class:"review-page__photo-size"},ye=["onClick"],be={class:"review-page__preview-actions"},Ce=["src"],xe={class:"review-lightbox__footer"},je=G(e({__name:"avis",async setup(e){let G,je;const Ve=x(),ze=Ve.params.requestGuid,Ie=Ve.params.userGuid,Re=U(),Ge=j().public.accountRootUrl,Ue=w(!0),$e=w(!1),Fe=w(!1),Pe=w(!1),Ae=w(null),Le=w(!1),Me=w(!0),Te=w(300),qe=w(0),Qe=w(""),Ee=w(null),Se=w(null),De=w({}),Ne=w(""),Oe=w(""),We=w([]),Je=w([]),Be=w(!1),{data:He,error:Ye}=([G,je]=a(()=>I(`/api/feedback/request/${ze}/${Ie}`,"$U7ol2_Iw9g")),G=await G,je(),G);if(Ye.value)Be.value=!0;else if(He.value)if(Se.value=He.value,He.value.editWindow){const e=He.value.editWindow;Ae.value=e.feedbackId,Ne.value=e.title,Oe.value=e.comment,He.value.ratingQuestions.forEach(a=>{De.value[a.id]=e.ratings[a.id]||0}),Je.value=e.medias.map(e=>({...e,markedForRemoval:!1})),Te.value=e.remainingSeconds,Fe.value=!0}else He.value.eligible&&He.value.ratingQuestions.forEach(e=>{De.value[e.id]=0});Ue.value=!1,l(async()=>{try{await Re.init()}catch{}Fe.value&&Te.value>0&&ia()});const Ke=k(()=>!!Se.value&&Se.value.ratingQuestions.every(e=>(De.value[e.id]??0)>0));function Xe(e,a){De.value[e]=a}function Ze(e){const a=e.target;if(!a.files)return;const l=Je.value.filter(e=>!e.markedForRemoval).length,i=Math.max(0,10-l-We.value.length);Array.from(a.files).slice(0,i).forEach(e=>{We.value.push({file:e,name:e.name,size:`${(e.size/1024/1024).toFixed(1)} Mo`,preview:URL.createObjectURL(e)})}),a.value=""}function ea(e){const a=We.value[e];a&&(URL.revokeObjectURL(a.preview),We.value.splice(e,1))}async function aa(){if(Ke.value&&!$e.value&&Se.value){$e.value=!0,Qe.value="",qe.value=0;try{const e=await async function(){const e=[];for(let a=0;a<We.value.length;a++){const l=We.value[a];if(!l)continue;const i=new FormData;i.append("file",l.file),i.append("requestGuid",ze),i.append("userGuid",Ie);const t=await $fetch("/api/feedback/upload",{method:"POST",body:i});t?.id&&e.push({id:t.id,url:t.filename}),qe.value=Math.round((a+1)/We.value.length*100)}return e}(),a=await Re.getToken("review_submit");if(!a)return Qe.value="Vérification reCAPTCHA échouée.",void($e.value=!1);const l=Se.value.ratingQuestions.map(e=>({questionId:e.id,rating:20*(De.value[e.id]??0)}));Oe.value.trim()&&Se.value.commentQuestionId&&l.push({questionId:Se.value.commentQuestionId,comment:Oe.value});const i=await $fetch("/api/feedback/submit",{method:"POST",body:{requestGuid:ze,userGuid:Ie,recaptchaToken:a,title:Ne.value,answers:l,mediaIds:e.map(e=>e.id)}});Ae.value=i.id,Je.value=e.map(e=>({...e,markedForRemoval:!1}
1)),We.value.forEach(e=>URL.revokeObjectURL(e.preview)),We.value=[],Fe.value=!0,$e.value=!1,ia()}catch{Qe.value="Une erreur est survenue. Veuillez réessayer.",$e.value=!1}}}let la=null;function ia(){la=$(()=>{Te.value--,Te.value<=0&&(Me.value=!1,la&&clearInterval(la))},1e3)}function ta(e){const a=Math.floor(e/60),l=e%60;return`${a<10?"0":""}${a}:${l<10?"0":""}${l}`}async function sa(){if($e.value)return;if(!Me.value||!Ae.value||!Se.value)return;$e.value=!0;const e=[];for(let t=0;t<We.value.length;t++){const a=We.value[t];if(!a)continue;const l=new FormData;l.append("file",a.file),l.append("userGuid",Ie),l.append("requestGuid",ze),Ae.value&&l.append("feedbackId",String(Ae.value));const i=await $fetch("/api/feedback/upload",{method:"POST",body:l});i?.id&&e.push(i.id)}const a=Je.value.filter(e=>e.markedForRemoval).map(e=>e.id),l=Se.value.ratingQuestions.map(e=>({questionId:e.id,rating:20*(De.value[e.id]??0)}));Oe.value.trim()&&Se.value.commentQuestionId&&l.push({questionId:Se.value.commentQuestionId,comment:Oe.value}),await $fetch(`/api/feedback/${Ae.value}`,{method:"PUT",body:{requestGuid:ze,userGuid:Ie,title:Ne.value,answers:l,addMediaIds:e,removeMediaIds:a}});const i=await $fetch(`/api/feedback/request/${ze}/${Ie}`,{params:{_t:Date.now()}});if(i?.editWindow){const e=i.editWindow;Ne.value=e.title,Oe.value=e.comment,i.ratingQuestions.forEach(a=>{De.value[a.id]=e.ratings[a.id]||0}),Je.value=e.medias.map(e=>({...e,markedForRemoval:!1})),Te.value=e.remainingSeconds}We.value=[],Le.value=!1,Pe.value=!0,$e.value=!1,ua()}function oa(){Le.value=!0,ua()}function na(){Me.value&&(Pe.value=!1,Le.value=!0,ua())}function ra(){Ge&&(window.location.href=Ge)}function ua(){"undefined"!=typeof window&&h(()=>window.scrollTo({top:0,behavior:"smooth"}))}function ca(e){e.markedForRemoval=!e.markedForRemoval}const va=w(!1),da=w(0),pa=k(()=>Je.value.filter(e=>!e.markedForRemoval)),ma=k(()=>{const e=[];return Je.value.forEach((a,l)=>{a.markedForRemoval||e.push({url:a.url,isNew:!1,index:l})}),We.value.forEach((a,l)=>{e.push({url:a.preview,isNew:!0,index:l})}),e}),fa=k(()=>ma.value[da.value]||null);function ga(e){da.value=e,va.value=!0}function _a(){da.value>0&&da.value--}function wa(){da.value<ma.value.length-1&&da.value++}function ha(){const e=fa.value;if(!e)return;if(e.isNew)ea(e.index);else{const a=Je.value[e.index];a&&ca(a)}const a=ma.value.length;0===a?ka():da.value>=a&&(da.value=a-1)}function ka(){va.value=!1}return i(()=>{la&&clearInterval(la),We.value.forEach(e=>URL.revokeObjectURL(e.preview))}),(e,a)=>(y(),t("div",L,[s("div",M,[o(Ue)?(y(),t("div",T,[n(R,{indeterminate:"",color:"primary",size:"48"})])):o(Be)?(y(),t("div",q,[n(o(b),{icon:"fa-solid fa-circle-exclamation",class:"review-page__icon-error"}),a[8]||(a[8]=s("h2",null,"Lien invalide",-1)),a[9]||(a[9]=s("p",{class:"review-page__muted"}," Le lien que vous avez utilisé est incorrect ou a expiré. Veuillez vérifier votre email ou contacter le support. ",-1))])):o(Se)&&(o(Se).eligible||o(Fe))?o(Fe)?o(Pe)?(y(),t(r,{key:4},[o(Me)?(y(),t("button",{key:0,type:"button",class:"review-page__back-btn",onClick:na},[n(o(b),{icon:"fa-regular fa-arrow-left",class:"mr-2"}),a[16]||(a[16]=f(" Modifier mon avis ",-1))])):c("",!0),s("div",le,[n(o(b),{icon:"fa-solid fa-circle-check",class:"review-page__icon-success"}),a[18]||(a[18]=s("h2",null,"Vos modifications ont bien été enregistrées",-1)),a[19]||(a[19]=s("p",{class:"review-page__muted mt-2"}," Merci pour votre retour, il a été pris en compte. ",-1)),o(Me)?(y(),m(A,{key:0,type:"info",class:"mt-4 review-page__edit-alert"},{default:p(()=>[a[17]||(a[17]=f(" Vous pouvez encore modifier votre avis pendant ",-1)),s("strong",null,u(ta(o(Te))),1)]),_:1})):c("",!0)]),s("div",ie,[n(V,{color:"primary",size:"large",onClick:ra},{default:p(()=>[...a[20]||(a[20]=[f(" Accéder à mon compte ",-1)])]),_:1})])],64)):(y(),t(r,{key:5},[s("div",te,[n(o(b),{icon:"fa-solid fa-circle-check",class:"review-page__icon-success"}),a[21]||(a[21]=s("h2",null,"Merci pour votre avis !",-1))]),n(A,{type:o(Me)?"info":"warning",class:"mt-4"},{default:p(()=>[o(Me)?(y(),t(r,{key:0},[a[22]||(a[22]=f(" Vous pouvez modifier votre avis pendant ",-1)),s("strong",null,u(ta(o(Te))),1)],64)):(y(),t(r,{key:1},[f(" La fenêtre de modification est expirée. ")],64))]),_:1},8,["type"]),s("div",se,[s("h3",null,u(o(Se).businessLabel),1),(y(!0),t(r,null,v(o(Se).ratingQuestions,e=>(y(),t("div",{key:e.id,class:"review-page__rating-row"},[s("span",oe,u(e.label),1),s("div",ne,[(y(),t(r,null,v(5,a=>n(o(b),{key:a,icon:"fa-solid fa-star",class:"review-page__star-icon review-page__star-icon--preview",style:C({color:(o(De)[e.
1id]??0)>=a?"#C78A3A":"rgba(var(--surface-300))",cursor:o(Le)&&o(Me)?"pointer":"default"}),onClick:l=>o(Le)&&o(Me)?Xe(e.id,a):void 0},null,8,["style","onClick"])),64))])]))),128)),o(Le)||o(Ne)?(y(),t("div",re,[a[23]||(a[23]=s("strong",null,"Titre :",-1)),o(Le)?(y(),m(F,{key:1,modelValue:o(Ne),"onUpdate:modelValue":a[4]||(a[4]=e=>d(Ne)?Ne.value=e:null),label:"Titre (facultatif)",variant:"outlined",density:"compact",maxlength:"255"},null,8,["modelValue"])):(y(),t("span",ue,u(o(Ne)),1))])):c("",!0),o(Le)||o(Oe)?(y(),t("div",ce,[a[24]||(a[24]=s("strong",null,"Commentaire :",-1)),o(Le)?(y(),m(P,{key:1,modelValue:o(Oe),"onUpdate:modelValue":a[5]||(a[5]=e=>d(Oe)?Oe.value=e:null),label:"Commentaire (facultatif)",variant:"outlined",density:"compact",rows:"3","auto-grow":""},null,8,["modelValue"])):(y(),t("p",ve,u(o(Oe)),1))])):c("",!0)]),o(pa).length?(y(),t("div",de,[a[25]||(a[25]=s("strong",null,"Photos :",-1)),s("div",pe,[(y(!0),t(r,null,v(o(pa),(e,a)=>(y(),t("div",{key:e.id,class:"review-page__photo-item"},[s("img",{src:e.url,alt:"Photo",onClick:e=>ga(a)},null,8,me),o(Le)&&o(Me)?(y(),t("button",{key:0,type:"button",class:"review-page__photo-remove",onClick:a=>ca(e)}," × ",8,fe)):c("",!0)]))),128))])])):c("",!0),o(Le)&&o(Me)?(y(),t("div",ge,[s("span",{class:"review-page__photos-title"},"Ajouter d'autres photos (facultatif, max "+u(10)+")"),s("input",{ref_key:"fileInput",ref:Ee,type:"file",accept:"image/jpeg,image/png,image/gif,image/webp",multiple:"",hidden:"",onChange:Ze},null,544),n(V,{variant:"outlined",size:"small",disabled:o(We).length+o(pa).length>=10,onClick:a[6]||(a[6]=e=>o(Ee)?.click())},{default:p(()=>[n(o(b),{icon:"fa-solid fa-camera",class:"mr-2"}),a[26]||(a[26]=f(" Ajouter des photos ",-1))]),_:1},8,["disabled"]),a[27]||(a[27]=s("span",{class:"review-page__muted ml-2"},"JPG, PNG, GIF, WebP — 15 Mo max",-1)),o(We).length?(y(),t("div",_e,[(y(!0),t(r,null,v(o(We),(e,a)=>(y(),t("div",{key:a,class:"review-page__photo-item"},[s("img",{src:e.preview,alt:e.name,onClick:e=>ga(o(pa).length+a)},null,8,we),s("span",{class:"review-page__photo-name",title:e.name},u(e.name),9,he),s("span",ke,u(e.size),1),s("button",{type:"button",class:"review-page__photo-remove",onClick:e=>ea(a)}," × ",8,ye)]))),128))])):c("",!0)])):c("",!0),s("div",be,[o(Me)&&!o(Le)?(y(),m(V,{key:0,variant:"outlined",onClick:oa},{default:p(()=>[n(o(b),{icon:"fa-regular fa-pen",class:"mr-2"}),a[28]||(a[28]=f(" Modifier ",-1))]),_:1})):c("",!0),o(Le)?(y(),t(r,{key:1},[n(V,{color:"primary",class:"mr-2",loading:o($e),onClick:sa},{default:p(()=>[...a[29]||(a[29]=[f(" Enregistrer ",-1)])]),_:1},8,["loading"]),n(V,{variant:"outlined",onClick:a[7]||(a[7]=e=>Le.value=!1)},{default:p(()=>[...a[30]||(a[30]=[f(" Annuler ",-1)])]),_:1})],64)):c("",!0)])],64)):(y(),t(r,{key:3},[a[15]||(a[15]=s("h1",{class:"review-page__title"}," Donner mon avis ",-1)),s("p",E,[s("strong",null,u(o(Se).businessLabel),1),o(Se).eventType?(y(),t("span",S," — "+u(o(Se).eventType),1)):c("",!0),o(Se).eventDate?(y(),t("span",D," du "+u(o(Se).eventDate),1)):c("",!0)]),o(Se).userName?(y(),t("p",N," Bonjour "+u(o(Se).userName)+", partagez votre expérience ! ",1)):c("",!0),s("div",O,[(y(!0),t(r,null,v(o(Se).ratingQuestions,e=>(y(),t("div",{key:e.id,class:"review-page__rating-row"},[s("span",W,u(e.label),1),s("div",J,[(y(),t(r,null,v(5,a=>s("button",{key:a,type:"button",class:"review-page__star-btn",onClick:l=>Xe(e.id,a)},[n(o(b),{icon:"fa-solid fa-star",style:C({color:(o(De)[e.id]??0)>=a?"#C78A3A":"rgba(var(--surface-300))"}),class:"review-page__star-icon"},null,8,["style"])],8,B)),64))])]))),128))]),n(F,{modelValue:o(Ne),"onUpdate:modelValue":a[0]||(a[0]=e=>d(Ne)?Ne.value=e:null),label:"Titre de votre avis (facultatif)",maxlength:"255",placeholder:"Résumez votre expérience",variant:"outlined",class:"mt-6 mb-2"},null,8,["modelValue"]),n(P,{modelValue:o(Oe),"onUpdate:modelValue":a[1]||(a[1]=e=>d(Oe)?Oe.value=e:null),label:"Commentaire (facultatif)",placeholder:"Décrivez votre expérience en détail...",rows:"4",variant:"outlined","auto-grow":"",class:"mb-2"},null,8,["modelValue"]),s("div",H,[s("span",{class:"review-page__photos-title"},"Photos (facultatif, max "+u(10)+")"),s("input",{ref_key:"fileInput",ref:Ee,type:"file",accept:"image/jpeg,image/png,image/gif,image/webp",multiple:"",hidden:"",onCh
1ange:Ze},null,544),n(V,{variant:"outlined",size:"small",disabled:o(We).length>=10,onClick:a[2]||(a[2]=e=>o(Ee)?.click())},{default:p(()=>[n(o(b),{icon:"fa-solid fa-camera",class:"mr-2"}),a[12]||(a[12]=f(" Ajouter des photos ",-1))]),_:1},8,["disabled"]),a[13]||(a[13]=s("span",{class:"review-page__muted ml-2"},"JPG, PNG, GIF, WebP — 15 Mo max",-1)),o(We).length?(y(),t("div",Y,[(y(!0),t(r,null,v(o(We),(e,a)=>(y(),t("div",{key:a,class:"review-page__photo-item"},[s("img",{src:e.preview,alt:e.name,onClick:e=>ga(o(Je).length+a)},null,8,K),s("span",{class:"review-page__photo-name",title:e.name},u(e.name),9,X),s("span",Z,u(e.size),1),s("button",{type:"button",class:"review-page__photo-remove",onClick:e=>ea(a)}," × ",8,ee)]))),128))])):c("",!0)]),o(Qe)?(y(),m(A,{key:1,type:"error",class:"mt-4",closable:"","onClick:close":a[3]||(a[3]=e=>Qe.value="")},{default:p(()=>[f(u(o(Qe)),1)]),_:1})):c("",!0),s("div",ae,[n(V,{color:"primary",size:"large",loading:o($e),disabled:!o(Ke)||o($e),onClick:aa},{default:p(()=>[...a[14]||(a[14]=[f(" Soumettre mon avis ",-1)])]),_:1},8,["loading","disabled"]),o($e)&&o(qe)>0?(y(),m(z,{key:0,"model-value":o(qe),class:"mt-2"},null,8,["model-value"])):c("",!0)])],64)):(y(),t("div",Q,[n(o(b),{icon:"fa-solid fa-circle-check",class:"review-page__icon-success"}),a[10]||(a[10]=s("h2",null,"Avis déjà déposé",-1)),a[11]||(a[11]=s("p",{class:"review-page__muted"}," Vous avez déjà laissé un avis pour cet événement. Merci ! ",-1))])),(y(),m(_,{to:"body"},[o(va)&&o(fa)?(y(),t("div",{key:0,class:"review-lightbox",onClick:g(ka,["self"])},[s("button",{type:"button",class:"review-lightbox__close",onClick:ka},[n(o(b),{icon:"fa-regular fa-xmark"})]),o(da)>0?(y(),t("button",{key:0,type:"button",class:"review-lightbox__nav review-lightbox__nav--prev",onClick:_a},[n(o(b),{icon:"fa-regular fa-chevron-left"})])):c("",!0),s("img",{src:o(fa).url,class:"review-lightbox__img"},null,8,Ce),o(da)<o(ma).length-1?(y(),t("button",{key:1,type:"button",class:"review-lightbox__nav review-lightbox__nav--next",onClick:wa},[n(o(b),{icon:"fa-regular fa-chevron-right"})])):c("",!0),s("div",xe,[s("span",null,u(o(da)+1)+" / "+u(o(ma).length),1),o(Le)||!o(Fe)?(y(),m(V,{key:0,size:"small",color:"error",variant:"flat",class:"ml-4",onClick:ha},{default:p(()=>[n(o(b),{icon:"fa-regular fa-trash-can",class:"mr-2"}),a[31]||(a[31]=f(" Supprimer ",-1))]),_:1})):c("",!0)])])):c("",!0)]))])]))}}),[["__scopeId","data-v-fd9d99cf"]]);export{je as default};

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.