PageSourceSearch

https://www.papybnb.com/assets/RechercheIAResultats-A7aFoWIC.js

js papybnb.com collected 2026-10-02 20:34:33 UTC 18,097 bytes, 1 lines download raw bytes

1import{j as e}from"./vendor-markdown-CZ2s8AoI.js";import{r as n}from"./vendor-charts-De27heLs.js";import{i as L,f,D as B,b as P,aC as R,c as $,l as k,B as g,M as V,r as C,c4 as _,ba as q,e as T,a as F,bd as U,R as A,an as S,y as G,j as M,aj as E,c3 as O,v as I,o as w,q as y,au as H,E as D,m as N,bI as J,c5 as Y,ax as W,bw as Q,t as K}from"./index-CqeQQLZN.js";import{D as X}from"./download-1m_1_3tQ.js";import{C as Z}from"./calendar-days-Y33tbc_k.js";import"./vendor-maps-i-uALHob.js";import"./vendor-date-DqeoTvn2.js";const z=({message:a,position:i="left",className:l="",typewriter:c=!1})=>{const[o,u]=n.useState(!1),[x,r]=n.useState(""),[h,d]=n.useState(!1),m=n.useRef(null);return n.useEffect(()=>{const s=new IntersectionObserver(([t])=>{t.isIntersecting&&(u(!0),s.disconnect())},{threshold:.2});return m.current&&s.observe(m.current),()=>s.disconnect()},[]),n.useEffect(()=>{if(!c||!o){r(a),d(!0);return}r(""),d(!1);let s=0;const t=setInterval(()=>{s<a.length?(r(a.slice(0,s+1)),s++):(d(!0),clearInterval(t))},25);return()=>clearInterval(t)},[a,c,o]),e.jsxs("div",{ref:m,className:`flex items-start gap-3 ${i==="right"?"flex-row-reverse":""} ${l}`,children:[e.jsx("div",{className:`flex-shrink-0 transition-all duration-500 ${o?"opacity-100 scale-100":"opacity-0 scale-75"}`,style:{transitionDelay:"0ms"},children:e.jsx("img",{src:L,alt:"Chloé, votre assistante IA",className:"w-10 h-10 rounded-full border-2 border-purple-300 shadow-md"})}),e.jsxs("div",{className:`relative bg-purple-100 dark:bg-purple-950/50 border border-purple-200 dark:border-purple-800 rounded-2xl px-4 py-3 max-w-sm transition-all duration-500 ${i==="right"?"rounded-tr-sm":"rounded-tl-sm"} ${o?"opacity-100 translate-x-0":`opacity-0 ${i==="right"?"translate-x-4":"-translate-x-4"}`}`,style:{transitionDelay:"150ms"},children:[e.jsx("div",{className:`absolute top-3 w-3 h-3 bg-purple-100 dark:bg-purple-950/50 border-purple-200 dark:border-purple-800 transform rotate-45 ${i==="right"?"right-[-6px] border-t border-r":"left-[-6px] border-b border-l"}`}),e.jsxs("p",{className:"text-sm text-purple-800 dark:text-purple-200",children:[x,c&&!h&&e.jsx("span",{className:"inline-block w-0.5 h-4 bg-purple-600 ml-0.5 animate-pulse"})]}),e.jsx("p",{className:`text-xs text-purple-600 dark:text-purple-400 mt-1 font-medium transition-opacity duration-300 ${h?"opacity-100":"opacity-0"}`,children:"— Chloé, votre conseillère IA de Papybnb"})]})]})},ee="ChIJLUob21F75kcRizpV8AiV9tc",se=({sessionId:a=null,enabled:i=!0})=>{const[l,c]=n.useState(!1),[o,u]=n.useState(!1),x=n.useCallback(async d=>{try{await f.from("referral_clicks").insert({ai_session_id:a,click_type:d,source:"exit_popup",user_agent:navigator.userAgent})}catch(m){console.error("Error tracking referral click:",m)}},[a]),r=()=>{x("share_whatsapp"),window.open(`https://wa.me/?text=${encodeURIComponent("Je viens de découvrir un outil gratuit pour trouver une maison de retraite adaptée à mes besoins grâce à l'IA. Essayez-le : https://www.papybnb.com/recherche-ia")}`,"_blank"),c(!1)},h=()=>{x("google_review"),window.open(`https://search.google.com/local/writereview?placeid=${ee}`,"_blank"),c(!1)};return n.useEffect(()=>{if(!i||o)return;const d=s=>{s.clientY<=0&&!o&&(c(!0),u(!0))},m=setTimeout(()=>{document.addEventListener("mouseleave",d)},5e3);return()=>{clearTimeout(m),document.removeEventListener("mouseleave",d)}},[i,o]),e.jsx(B,{open:l,onOpenChange:c,children:e.jsxs(P,{className:"sm:max-w-md",children:[e.jsx(R,{children:e.jsxs($,{className:"text-center flex flex-col items-center gap-3",children:[e.jsx("div",{className:"w-16 h-16 bg-primary/10 rounded-full flex items-center justify-center",children:e.jsx(k,{className:"h-8 w-8 text-primary"})}),e.jsx("span",{className:"text-xl",children:"Avant de partir..."})]})}),e.jsxs("div",{className:"text-center space-y-4 py-4",children:[e.jsx("p",{className:"text-muted-foreground",children:"Aidez d'autres familles à découvrir notre outil gratuit de recherche d'EHPAD !"}),e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsxs(g,{variant:"outline",size:"lg",className:"w-full h-auto py-3 flex items-center justify-center gap-3 border-green-300 hover:bg-green-50 hover:border-green-400",onClick:r,children:[e.jsx(V,{className:"h-5 w-5 text-green-600"}),e.jsxs("div",{className:"text-left",children:[e.jsx("span",{className:"font-medium block",children:"Partager sur WhatsApp"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Recommandez à un proche"})]})]}),e.jsxs(g,{variant:"outline",size:"lg",className:"w-full h-auto py-3 flex items-center justify-center gap-3 border-amber-300 hover:bg-amber-50 hover:border-amber-400",onClick:h,children:[e.jsx(C,{className:"h-5 w-5 text-amber-500"}),e.jsxs("div",{className:"text-left",children:[e.jsx("span",{className:"font-medium block",children:"Laisser un avis Google"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Votre avis nous aide à rester gratuit"})]})]})]}),e.jsx("button",{onClick:()=>c(!1),className:"text-sm text-muted-foreground hover:text-foreground underline",children:"Non merci, continuer"})]})]})})},re="ChIJLUob21F75kcRizpV8AiV9tc",te=({sessionId:a,email:i,nom:l,className:c=""})=>{const[o,u]=n.useState(!1),[x,r]=n.useState(!1),h=()=>{u(!0)},d=n.useCallback(async()=>{r(!0);try{await f.from("referral_clicks").insert({ai_session_id:a,click_type:"google_review",source:"guide_visite",user_agent:navigator.userAgent}),i&&await f.from("guide_requests").insert({email:i,nom:l||null,ai_session_id:a}),window.open(`https://search.google.com/local/writereview?placeid=${re}`,"_blank"),_({title:"Merci beaucoup ! 🎉",description:"Votre guide vous sera envoyé par email sous 24h."}),u(!1)}catch(m){console.error("Error:",m)}finally{r(!1)}},[a,i,l]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`bg-gradient-to-r from-blue-50 to-indigo-50 rounded-xl p-6 border border-blue-200 shadow-sm ${c}`,children:e.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-4",children:[e.jsx("div",{className:"flex-shrink-0 w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center",children:e.jsx(q,{className:"h-8 w-8 text-blue-600"})}),e.jsxs("div",{className:"flex-1 text-center md:text-left",children:[e.jsx("h3",{className:"text-lg font-bold text-blue-900 mb-1",children:"📋 Guide gratuit : Bien réussir votre visite en maison de retraite"}),e.jsx("p",{className:"text-sm text-blue-700",children:"Checklist complète, questions à poser, pièges à éviter. Tout pour faire le bon choix."})]}),e.jsxs(g,{onClick:h,className:"bg-blue-600 hover:bg-blue-700 text-white gap-2 whitespace-nowrap",children:[e.jsx(X,{className:"h-4 w-4"}),"Télécharger le guide"]})]})}),e.jsx(B,{open:o,onOpenChange:u,children:e.jsxs(P,{className:"sm:max-w-md",children:[e.jsxs(R,{children:[e.jsx($,{className:"text-xl text-center",children:"📋 Recevez votre guide gratuitement"}),e.jsx(T,{className:"text-center text-base pt-2",children:"Pour recevoir le guide, il vous suffit de nous laisser un petit avis sur Google."})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsx("div",{className:"bg-amber-50 border border-amber-200 rounded-lg p-4 text-center",children:e.jsxs("p",{className:"text-sm text-amber-800 leading-relaxed",children:["Cliquez sur le bouton ci-dessous pour laisser un avis à notre plateforme PapyBNB. Le guide vous sera envoyé ",e.jsx("strong",{children:"gratuitement par email sous 24h"}),"."]})}),e.jsxs(g,{onClick:d,disabled:x,className:"w-full bg-amber-500 hover:bg-amber-600 text-white gap-2 h-12 text-base",children:[e.jsx(C,{className:"h-5 w-5"}),"Laisser un avis Google"]}),e.jsxs("p",{className:"text-center text-sm text-muted-foreground flex items-center justify-center gap-1",children:["Un grand merci, cela nous aide à garder notre plateforme 100% gratuite pour les familles",e.jsx(k,{className:"h-4 w-4 text-red-400 fill-red-400"})]})]})]})})]})},ae=a=>{if(!a)return null;
1if(typeof a=="string")try{const i=JSON.parse(a);if(Array.isArray(i)&&i.length>0)return typeof i[0]=="string"?i[0]:i[0]?.photo_reference}catch{return null}return Array.isArray(a)&&a.length>0?typeof a[0]=="string"?a[0]:a[0]?.photo_reference:null},ie=a=>{if(!a)return null;const i=a.match(/[A-E]/);return i?i[0]:null},j=a=>{switch(a){case"A":return"bg-green-500 text-white";case"B":return"bg-green-400 text-white";case"C":return"bg-yellow-500 text-white";case"D":return"bg-orange-500 text-white";case"E":return"bg-red-500 text-white";default:return"bg-gray-400 text-white"}};function xe(){const a=F(),[i]=U(),l=i.get("session"),[c,o]=n.useState(!0),[u,x]=n.useState([]),[r,h]=n.useState(null);n.useEffect(()=>{if(!l){a("/recherche-ia");return}(async()=>{try{const{data:t,error:b}=await f.from("ai_search_sessions").select("*").eq("id",l).single();if(b||!t){_({title:"Session non trouvée",description:"Veuillez recommencer votre recherche.",variant:"destructive"}),a("/recherche-ia");return}if(!t.code_verified){a(`/recherche-ia/verification?session=${l}`);return}if(h(t),K("ai_search_results",{session_id:l}),window.gtag&&window.gtag("event","conversion",{send_to:"AW-10938161360/-CeoCIiH1YkcENCx3N8o"}),t.recommended_ehpad_ids?.length>0){const{data:p}=await f.from("ehpads").select("*").in("id",t.recommended_ehpad_ids);p&&x(p),o(!1)}else{const{data:p,error:v}=await f.functions.invoke("generate-ai-results",{body:{sessionId:l}});if(v)throw v;p?.ehpads&&x(p.ehpads),o(!1)}}catch(t){console.error("Error fetching results:",t),_({title:"Erreur",description:"Impossible de charger les résultats.",variant:"destructive"}),o(!1)}})()},[l,a]);const d=s=>{const t=ie(s);return t?t==="A"?{label:"Excellent",letter:t,color:j(t)}:t==="B"?{label:"Très bien",letter:t,color:j(t)}:t==="C"?{label:"Bien",letter:t,color:j(t)}:t==="D"?{label:"Moyen",letter:t,color:j(t)}:{label:"À améliorer",letter:t,color:j(t)}:null},m=()=>{if(!r)return"/questionnaire";const s=new URLSearchParams;return r.nom&&s.set("name",r.nom),r.email&&s.set("email",r.email),r.telephone&&s.set("phone",r.telephone),r.age&&s.set("age",r.age.toString()),r.gir&&s.set("gir",r.gir),r.niveau_cognitif&&s.set("niveau_cognitif",r.niveau_cognitif),r.mobilite&&s.set("mobilite",r.mobilite),r.alimentation&&s.set("alimentation",r.alimentation),r.pathologies?.length>0&&s.set("pathologies",r.pathologies.join(",")),r.ville&&s.set("ville_ehpad",r.ville),r.code_postal&&s.set("code_postal",r.code_postal),r.rayon_km&&s.set("rayon_km",r.rayon_km.toString()),r.budget&&s.set("budget",r.budget),r.delai&&s.set("delai",r.delai),s.set("from_ai","true"),`/questionnaire?${s.toString()}`};return c?e.jsxs(e.Fragment,{children:[e.jsx(A,{title:"Vos recommandations personnalisées | PapyBNB",description:"Découvrez les maisons de retraite recommandées par notre IA."}),e.jsx(S,{}),e.jsx("main",{className:"min-h-screen bg-gradient-to-b from-primary/5 to-background flex items-center justify-center",children:e.jsxs("div",{className:"text-center space-y-4",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 bg-primary/10 rounded-full mx-auto animate-pulse",children:e.jsx(G,{className:"h-10 w-10 text-primary"})}),e.jsx("h1",{className:"text-2xl font-bold",children:"Analyse en cours..."}),e.jsx("p",{className:"text-muted-foreground",children:"Notre IA analyse vos critères pour trouver les meilleures maisons de retraite"}),e.jsx(M,{className:"h-8 w-8 animate-spin text-primary mx-auto"})]})}),e.jsx(E,{})]}):e.jsxs(e.Fragment,{children:[e.jsx(A,{title:"Vos recommandations personnalisées | PapyBNB",description:"Découvrez les 3 maisons de retraite recommandées par notre IA selon vos critères."}),e.jsx(S,{}),e.jsx("main",{className:"min-h-screen bg-gradient-to-b from-primary/5 to-background py-12",children:e.jsxs("div",{className:"container mx-auto max-w-4xl px-4",children:[e.jsx("div",{className:"mb-8",children:e.jsx(z,{message:"Voici les établissements que j'ai sélectionnés pour vous. Ils correspondent le mieux à vos critères de recherche. N'hésitez pas à consulter leurs fiches détaillées !",typewriter:!0,className:"mb-6"})}),e.jsxs("div",{className:"text-center mb-10",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 bg-green-100 text-green-700 px-4 py-2 rounded-full mb-4",children:[e.jsx(O,{className:"h-5 w-5"}),e.jsx("span",{className:"font-medium",children:"Analyse terminée"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Vos 3 meilleures recommandations"}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Basé sur vos critères ",r?.ville&&`près de ${r.ville}`,", voici les maisons de retraite les mieux adaptées à votre proche."]})]}),u.length>0?e.jsx("div",{className:"space-y-6",children:u.map((s,t)=>{const b=d(s.niveau_global),p=ae(s.google_photos),v=p?`https://gpxnfsfpjvydsfjhvbww.supabase.co/functions/v1/google-place-photo?photo_reference=${encodeURIComponent(p)}&maxwidth=400`:null;return e.jsx(I,{className:"overflow-hidden hover:shadow-lg transition-shadow",children:e.jsxs("div",{className:"md:flex",children:[e.jsxs("div",{className:"md:w-1/3 h-48 md:h-auto relative bg-muted",children:[v?e.jsx("img",{src:v,alt:s.name,className:"w-full h-full object-cover",loading:"lazy"}):e.jsx("div",{className:"w-full h-full flex items-center justify-center bg-gradient-to-br from-primary/10 to-primary/5",children:e.jsx(w,{className:"h-12 w-12 text-primary/30"})}),e.jsx("div",{className:"absolute top-3 left-3 flex items-center justify-center w-10 h-10 bg-primary text-primary-foreground rounded-full font-bold shadow-lg",children:t+1}),t===0&&e.jsxs(y,{className:"absolute top-3 right-3 bg-primary shadow-lg",children:[e.jsx(k,{className:"h-3 w-3 mr-1"}),"Meilleur choix"]})]}),e.jsxs("div",{className:"flex-1 p-5",children:[e.jsx(H,{className:"text-xl mb-2",children:s.name}),e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm mb-4",children:[e.jsx(w,{className:"h-4 w-4"}),e.jsxs("span",{children:[s.city,", ",s.department]})]}),e.jsxs("div",{className:"flex flex-wrap gap-3 mb-4",children:[s.google_rating&&e.jsxs("div",{className:"flex items-center gap-1.5 bg-amber-50 border border-amber-200 px-3 py-1.5 rounded-lg",children:[e.jsx(C,{className:"h-4 w-4 fill-amber-400 text-amber-400"}),e.jsx("span",{className:"font-semibold text-amber-700",children:s.google_rating.toFixed(1)}),s.google_reviews_count&&e.jsxs("span",{className:"text-amber-600 text-sm",children:["(",s.google_reviews_count," avis)"]})]}),b&&e.jsxs("div",{className:`flex items-center gap-1.5 px-3 py-1.5 rounded-lg ${b.color}`,children:[e.jsx("span",{className:"font-bold",children:b.letter}),e.jsx("span",{className:"text-sm",children:"Qualité"})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[s.statut&&e.jsx(y,{variant:"outline",children:s.statut}),s.alzheimer&&e.jsx(y,{variant:"outline",className:"border-purple-300 text-purple-700",children:"Unité Alzheimer"})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-3 text-sm mb-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(w,{className:"h-4 w-4 flex-shrink-0"}),e.jsx("span",{className:"truncate",children:s.address})]}),s.tarif_chambre_simple?e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(D,{className:"h-4 w-4 flex-shrink-0"}),e.jsxs("span",{children:["À partir de ",s.tarif_chambre_simple,"€/jour"]})]}):e.jsxs(N,{to:m(),className:"flex items-center gap-2 text-amber-600 hover:text-amber-700 font-medium",children:[e.jsx(D,{className:"h-4 w-4 flex-shrink-0"}),e.jsx("span",{className:"underline",children:"Tarif non public – obtenir le prix"})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(g,{asChild:!0,className:"flex-1 md:flex-none",children:e.jsxs(N,{to:`/ehpad/${s.slug}`,children:[e.jsx(J,{className:"h-4 w-4 mr-2"}),"Voir la fiche"]})}),e.jsx(Y,{ehpadName:s.name,ehpadSlug:s.slug,contactName:r?.nom||"",contactEmail:r?.email||"",contactPhone:r?.telephone,sessionId:l||void 0,trigger:e.jsxs(g,{variant:"outline",className:"flex-1 md:flex-none gap-2",children:[e.jsx(Z,{className:"h-4 w-4"}),"Prendre rdv"]})})]})]})]})},s.id)})}):e.jsxs(I,{className:"p-8 text-center",children:[e.jsx("p",{className:"text-muted-foreground",children:"Aucun résultat trouvé correspondant à vos critères. Essayez d'élargir votre zone de recherche."}),e.jsx(g,{asChild:!0,className:"mt-4",children:e.jsx(N,{to:"/recherche-ia",children:"Nouvelle recherche"})})]}),e.jsx("div",{className:"mt-8 mb-6",children:e.jsx(z,{message:"Pour que nos conseillers puissent vous accompagner au mieux dans vos démarches d'admission, je vous invite à compléter quelques informations supplémentaires. C'est rapide et 100% gratuit !",position:"right",typewriter:!0})}),e.jsxs("div",{className:"mt-6 bg-gradient-to-r from-primary/10 to-primary/5 rounded-xl p-8 text-center border-2 border-primary/20",children:[e.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Finalisez votre demande"}),e.jsx("p",{className:"text-muted-foreground mb-6 max-w-xl mx-auto",children:"Complétez quelques informations supplémentaires pour que nos conseillers puissent vous accompagner dans vos démarches d'admission."}),e.jsx(g,{size:"lg",className:"text-lg px-8",asChild:!0,children:e.jsxs(N,{to:m(),children:["Finaliser ma demande",e.jsx(W,{className:"ml-2 h-5 w-5"})]})}),e.jsx("p",{className:"text-sm text-muted-foreground mt-4",children:"Vos informations sont déjà pré-remplies • Service 100% gratuit"})]}),e.jsx(te,{sessionId:l,email:r?.email,nom:r?.nom,className:"mt-8"}),e.jsx(Q,{source:"results_page",sessionId:l,className:"mt-6"}),e.jsx("div",{className:"mt-6 text-center",children:e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Vous recherchez un emploi en maison de retraite ?"," ",e.jsx("a",{href:"https://emploi.papybnb.com/candidate/register",target:"_blank",rel:"noopener noreferrer nofollow",className:"text-primary hover:underline font-medium",children:"Cliquez ici"})]})})]})}),e.jsx(se,{sessionId:l}),e.jsx(E,{})]})}
1export{xe 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.