PageSourceSearch

https://yoron.lovable.app/assets/cv._kantoorSlug.inboedel-D9rCAE43.js

js yoron.lovable.app collected 2026-10-03 03:49:42 UTC 33,372 bytes, 4 lines download raw bytes

1import{j as t,C as j,g as z,B as C,aT as K,w as f,z as _,cN as $,Q as J,cO as Z,cP as Q,W as X,x as Y,r as q,a1 as ee,Z as ne,a3 as te,cQ as ie,a8 as re,A as ae,cT as oe,N as se,s as de,P as le,L as ge,b as ce}from"./index-tp3ZBVoO.js";import{b as S}from"./recharts-D0niEN4L.js";import{g as ue}from"./kantoor-data-CnuNrH8Z.js";import{P as he}from"./progress-CnbOAX2o.js";import{S as M,D as me}from"./ScanDisclaimer-BAmGalge.js";import{S as ke,a as be}from"./ScanToelichting-D6BIym3o.js";import{s as ve}from"./scanToon-CW1dzd3u.js";import{R as pe}from"./rotate-ccw-DStGrL0z.js";import{u as fe}from"./useScanScrollTop-B4FcxOgT.js";import{A as we}from"./arrow-right-F5BcStkK.js";import"./info-NHuVvVc9.js";const B=[{id:"woonsituatie",title:"Wat past op uw woonsituatie? Selecteer alles wat van toepassing is.",intro:"Begin met huur of koop, en vink daarna eventuele recente wijzigingen aan. Veranderingen leiden vaak tot onverwachte hiaten in de inboedeldekking.",multi:!0,exclusiveValues:["geen"],exclusiveGroups:[["huur","koop"]],options:[{value:"koop",label:"Koopwoning"},{value:"huur",label:"Huurwoning"},{value:"recent-verhuisd",label:"Recent verhuisd"},{value:"samenwonen",label:"Recent gaan samenwonen"},{value:"uitwonende-student",label:"Uitwonend studerend kind"},{value:"kamerverhuur-inwoning",label:"Kamerverhuur of inwoning"},{value:"waardestijging-inrichting",label:"Sterke waardestijging van inrichting"},{value:"geen",label:"Geen recente wijzigingen"}],explanations:{koop:"Bij een koopwoning is het vaak verstandig uw inboedel- en opstalverzekering te combineren bij dezelfde verzekeraar. Dit helpt om gaten in de dekking te voorkomen en maakt de afhandeling van schade vaak duidelijker en eenvoudiger.",huur:"Bij een huurwoning ligt de opstalverzekering bij de verhuurder. Het is verstandig te controleren of uw inboedelverzekering goed aansluit en hoe glasschade is geregeld, zodat u niet onbedoeld onverzekerd bent.","recent-verhuisd":"Na een verhuizing klopt het verzekerd bedrag of adres vaak niet meer. Een polischeck voorkomt onderverzekering of dekkingsproblemen.",samenwonen:"Bij samenwonen ontstaan vaak twee polissen of juist hiaten. Controleer of partner én bezittingen zijn meeverzekerd.","uitwonende-student":"Een uitwonend studerend kind is niet altijd automatisch meeverzekerd. Voorwaarden verschillen per verzekeraar.","kamerverhuur-inwoning":"Bij kamerverhuur of inwoning vervalt soms (een deel van) de dekking. Meld dit altijd aan uw verzekeraar.","waardestijging-inrichting":"Een sterke waardestijging (nieuwe meubels, apparatuur, kunst) kan leiden tot onderverzekering wanneer het verzekerd bedrag niet is bijgesteld.",geen:"Geen recente wijzigingen, alleen uw eigendomsvorm telt mee."},show:()=>!0},{id:"heeftInboedel",title:"Heeft u op dit moment een inboedelverzekering?",options:[{value:"ja",label:"Ja"},{value:"nee",label:"Nee"}],explanations:{ja:"Goed bezig, een inboedelverzekering dekt de meeste schade aan uw spullen door brand, diefstal en water.",nee:"U heeft geen inboedelverzekering. Schade door brand, diefstal of waterschade komt dan volledig voor eigen rekening. De kosten kunnen snel oplopen. Ons kantoor kan u helpen om dit betaalbaar en passend te regelen."},show:()=>!0},{id:"waarde",title:"Wat is ongeveer de totale waarde van uw inboedel?",intro:"Hoe hoger de waarde, hoe groter het risico op onderverzekering. Ons kantoor kan helpen met een professionele waardebepaling.",options:[{value:"lt25",label:"Minder dan € 25.000"},{value:"25-50",label:"€ 25.000: € 50.000"},{value:"50-100",label:"€ 50.000: € 100.000"},{value:"gt100",label:"Meer dan € 100.000"},{value:"weet-niet",label:"Weet ik niet"}],explanations:{lt25:"Een beperkte inboedelwaarde, relatief laag risico op onderverzekering.","25-50":"Een gemiddelde inboedelwaarde. Controleer of het verzekerd bedrag op uw polis hierbij aansluit.","50-100":"Een aanzienlijke inboedelwaarde. Bij onderverzekering kan een schadeclaim flink lager uitvallen.",gt100:"Een hoge inboedelwaarde. Een professionele waardebepaling voorkomt dat u bij schade tekortkomt.","weet-niet":"Niet weten w
1at uw inboedel waard is, is een groot risico op onderverzekering."},show:()=>!0},{id:"garantieOnderverzekering",title:"Weet u of uw inboedelverzekering bescherming biedt tegen onderverzekering?",intro:"Veel polissen kennen een 'garantie tegen onderverzekering' wanneer het verzekerd bedrag op een correcte manier is vastgesteld.",options:[{value:"ja",label:"Ja"},{value:"nee",label:"Nee"},{value:"weet-niet",label:"Weet ik niet"}],explanations:{ja:"Mooi. Met deze bescherming voorkomt u dat schade slechts deels wordt vergoed door onderverzekering.",nee:"Zonder deze bescherming kan schade soms deels voor eigen rekening komen wanneer het verzekerd bedrag te laag blijkt.","weet-niet":"Onduidelijk of er een garantie tegen onderverzekering geldt. Een polischeck schept snel duidelijkheid."},show:e=>e.heeftInboedel==="ja"},{id:"bedragGecontroleerd",title:"Is het verzekerd bedrag van uw inboedelverzekering de afgelopen jaren nog gecontroleerd?",intro:"Uw inboedelwaarde kan veranderen door nieuwe aankopen of prijsstijgingen.",options:[{value:"ja-recent",label:"Ja, recent"},{value:"nee",label:"Nee"},{value:"weet-niet",label:"Weet ik niet"}],explanations:{"ja-recent":"Goed bezig. Een recente controle verkleint de kans dat het verzekerd bedrag niet meer past bij uw situatie.",nee:"Zonder periodieke controle bestaat het risico dat het verzekerd bedrag te laag (onderverzekering) of juist te hoog (te hoge premie) is.","weet-niet":"Het is dan onduidelijk of het verzekerd bedrag nog passend is. Een eenvoudige check kan dit verhelderen."},show:e=>e.heeftInboedel==="ja"},{id:"kostbaarheden",title:"Heeft u waardevolle bezittingen die mogelijk extra aandacht vragen?",intro:"Denk aan sieraden, elektronica, designmeubels of kunst.",options:[{value:"ja",label:"Ja"},{value:"nee",label:"Nee"}],explanations:{ja:"Bijzondere bezittingen kennen vaak een maximumvergoeding op een standaard inboedelpolis. Een aanvullende dekking is doorgaans verstandig.",nee:"Geen bijzondere bezittingen om rekening mee te houden, dit aandachtspunt is niet van toepassing."},show:()=>!0},{id:"kostbaarhedenMee",title:"Zijn deze bezittingen apart meeverzekerd?",options:[{value:"ja",label:"Ja"},{value:"nee",label:"Nee"},{value:"weet-niet",label:"Weet ik niet"}],explanations:{ja:"Goed geregeld. Schade aan of verlies van uw bijzondere bezittingen is dan volledig gedekt.",nee:"Bijzondere bezittingen hebben vaak een maximumvergoeding. Zonder aanvullende dekking kan dit onvoldoende zijn.","weet-niet":"Onduidelijk of uw bijzondere bezittingen voldoende zijn meeverzekerd. Een polischeck biedt snel zekerheid."},show:e=>e.kostbaarheden==="ja"&&e.heeftInboedel==="ja"},{id:"beveiliging",title:"Hoe is uw woning beveiligd tegen inbraak?",options:[{value:"geen",label:"Geen beveiliging"},{value:"basis",label:"Basisbeveiliging (cilindersloten, verlichting)"},{value:"skg",label:"SKG-sloten / Politiekeurmerk"},{value:"alarm",label:"Alarmsysteem"},{value:"alarm-meldkamer",label:"Alarmsysteem + meldkamer"}],explanations:{geen:"Hoger risico op inbraakschade. Eenvoudige maatregelen kunnen het risico al aanzienlijk verlagen.",basis:"Basisbeveiliging helpt, maar inbrekers zijn vaak snel binnen. Aanvullende maatregelen zijn aan te raden.",skg:"Lagere kans op inbraak. Vaak premiekorting mogelijk bij uw verzekeraar.",alarm:"Een alarmsysteem schrikt veel inbrekers af en kan premievoordeel opleveren.","alarm-meldkamer":"Optimale inbraakbeveiliging. Bij sommige verzekeraars levert dit aanvullende premiekorting op."},show:()=>!0},{id:"rookmelders",title:"Zijn in uw woning werkende rookmelders aanwezig op de verplichte plaatsen?",intro:"Werkende rookmelders zijn wettelijk verplicht en verkleinen de kans op ernstige schade.",options:[{value:"ja",label:"Ja"},{value:"nee",label:"Nee"},{value:"weet-niet",label:"Weet ik niet"}],explanations:{ja:"Goed geregeld. Werkende rookmelders op de verplichte plaatsen verkleinen het risico op ernstige brandschade aanzienlijk.",nee:"Werkende rookmelders zijn wettelijk verplicht. Zonder rookmelders is het risico op ernstige brandschade groter en kan dit gevolgen hebben voor de schadeafhandeling.","weet-niet":"On
1duidelijk of uw woning voldoet aan de verplichting. Een korte controle (per verdieping minimaal één werkende rookmelder) brengt snel duidelijkheid."},show:()=>!0},{id:"onderhoud",title:"Is uw woning goed onderhouden (dak, kitranden, leidingen)?",options:[{value:"ja",label:"Ja"},{value:"nee",label:"Nee"},{value:"weet-niet",label:"Weet ik niet"}],explanations:{ja:"Prima. Goed onderhoud voorkomt veel schadegevallen, vooral lekkages en waterschade.",nee:"Slecht onderhoud verhoogt de kans op waterschade aanzienlijk. Waterschade is een van de meest voorkomende schadevormen.","weet-niet":"Onbekend onderhoud is een risico. Een eenvoudige check kan dure verrassingen voorkomen."},show:()=>!0}];function E(e){return B.filter(i=>i.show(e))}function L(e){let i=0;e.heeftInboedel==="nee"&&(i+=50);const d=(e.woonsituatie??[]).filter(n=>n!=="geen"&&n!=="huur"&&n!=="koop");return i+=Math.min(20,d.length*6),e.waarde==="25-50"?i+=5:e.waarde==="50-100"?i+=10:e.waarde==="gt100"?i+=20:e.waarde==="weet-niet"&&(i+=15),e.heeftInboedel==="ja"&&(e.garantieOnderverzekering==="nee"?i+=12:e.garantieOnderverzekering==="weet-niet"&&(i+=8),e.bedragGecontroleerd==="nee"?i+=10:e.bedragGecontroleerd==="weet-niet"&&(i+=8)),e.kostbaarheden==="ja"&&(i+=10),e.kostbaarheden==="ja"&&(e.kostbaarhedenMee==="nee"?i+=20:e.kostbaarhedenMee==="weet-niet"&&(i+=10)),e.beveiliging==="geen"?i+=20:e.beveiliging==="basis"?i+=10:e.beveiliging==="skg"&&(i+=5),e.rookmelders==="nee"?i+=15:e.rookmelders==="weet-niet"&&(i+=8),e.onderhoud==="nee"?i+=15:e.onderhoud==="weet-niet"&&(i+=10),Math.min(100,Math.max(0,i))}function W(e){return e<=20?"laag":e<=40?"matig":e<=60?"verhoogd":"hoog"}const H={laag:{label:"Laag risico",tone:"ok",advies:"Uw inboedel is over het algemeen goed beschermd. Wilt u dat ons kantoor meekijkt of er nog optimalisaties mogelijk zijn? We helpen u graag."},matig:{label:"Matig risico",tone:"warn",advies:"U loopt enkele risico's die relatief eenvoudig te verbeteren zijn. Ons kantoor kan u helpen om uw dekking te optimaliseren."},verhoogd:{label:"Verhoogd risico",tone:"alert",advies:"U heeft meerdere aandachtspunten die kunnen leiden tot ongedekte schade. We kunnen u adviseren hoe u dit snel en betaalbaar kunt verbeteren."},hoog:{label:"Hoog risico",tone:"danger",advies:"U loopt een aanzienlijk financieel risico. Vooral brand-, inbraak- en waterschade kunnen zeer kostbaar zijn. Ons kantoor kan u helpen om dit direct goed te regelen."}};function V(e){const i=[];e.heeftInboedel==="nee"?i.push({id:"verzekering",titel:"Inboedelverzekering",tone:"danger",tekst:"U heeft geen inboedelverzekering. Brand, diefstal of waterschade komt volledig voor eigen rekening."}):e.heeftInboedel==="ja"&&i.push({id:"verzekering",titel:"Inboedelverzekering",tone:"ok",tekst:"U heeft een inboedelverzekering, basisbescherming is aanwezig."});const d=(e.woonsituatie??[]).filter(n=>n!=="geen"&&n!=="huur"&&n!=="koop");if(d.length>0&&i.push({id:"woonsituatie",titel:"Wijziging in uw situatie",tone:d.length>=2?"alert":"warn",tekst:"Recente wijziging in uw woon- of leefsituatie, laat controleren of uw inboedeldekking nog passend is."}),e.heeftInboedel==="ja"){const n=e.garantieOnderverzekering==="nee"||e.garantieOnderverzekering==="weet-niet",o=e.bedragGecontroleerd==="nee"||e.bedragGecontroleerd==="weet-niet";(n||o||e.waarde==="gt100"||e.waarde==="weet-niet")&&i.push({id:"onderverzekering",titel:"Onderverzekering",tone:n&&o?"alert":"warn",tekst:"Risico dat het verzekerd bedrag niet (meer) past bij uw werkelijke inboedelwaarde, bij schade kan dit deels voor eigen rekening komen."})}return e.kostbaarheden==="ja"&&i.push({id:"kostbaarheden",titel:"Kostbaarheden",tone:e.kostbaarhedenMee==="nee"?"danger":e.kostbaarhedenMee==="weet-niet"?"warn":"ok",tekst:e.kostbaarhedenMee==="ja"?"Bijzondere bezittingen zijn apart meeverzekerd, netjes geregeld.":"Standaard maximumvergoeding kan tekortschieten voor sieraden, elektronica, designmeubels of kunst."}),e.beveiliging&&i.push({id:"inbraak",titel:"Inbraakbeveiliging",tone:e.beveiliging==="geen"?"danger":e.beveiliging==="basis"?"warn":"ok",tekst:e.beveiliging==="geen"?"Geen inbraakbeveiliging aanwezig, sterk verhoogd risico op inbraakschade.":e.beveiliging==="basis"?"Beperkte inbraakbeveiliging, uitbreiding (SKG-sloten of alarm) kan het risico flink verlagen.":"Goede inbraakbeveiliging aanwezig."}),e.rookmelders&&i.push({id:"brand",titel:"Brandveiligheid",tone:e.rookmelders==="nee"?"alert":e.rookmelders==="weet-niet"?"warn":"ok",tekst:e.rookmelders==="ja"?"Werkende rookmelders op de verplichte plaatsen, goed geregeld.":e.rookmelders==="nee"?"Geen werkende rookmelders, wettelijk verplicht en cruciaal om brandschade te beperken.":"Onduidelijk of de woning voldoet aan de rookmelderplicht."}),e.onderhoud&&i.push({id:"waterschade",titel:"Onderhoud & waterschade",tone:e.onderhoud==="nee"?"alert":e.onderhoud==="weet-niet"?"warn":"ok",tekst:e.onderhoud==="ja"?"Goed onderhoud, verkleint de kans op water- en lekkageschade.":e.onderhoud==="nee"?"Achter
1stallig onderhoud, verhoogd risico op waterschade door dak, kitranden of leidingen.":"Onderhoudsstatus onbekend, periodieke check is verstandig."}),i}function P(e){const i=[];e.heeftInboedel==="nee"&&i.push("U heeft geen inboedelverzekering. Brand, diefstal of waterschade komt volledig voor eigen rekening.");const s=e.woonsituatie??[];s.includes("huur")&&i.push("Huurwoning: opstal is vaak door verhuurder verzekerd, maar uw inboedel en zelf aangebrachte verbeteringen meestal niet automatisch.");const d=s.filter(n=>n!=="geen"&&n!=="huur"&&n!=="koop");if(d.length>0){const n={"recent-verhuisd":"recent verhuisd",samenwonen:"recent gaan samenwonen","uitwonende-student":"uitwonend studerend kind","kamerverhuur-inwoning":"kamerverhuur of inwoning","waardestijging-inrichting":"sterke waardestijging van de inrichting"};i.push(`Recente wijziging in uw situatie (${d.map(o=>n[o]??o).join(", ")}), laat controleren of uw inboedeldekking nog passend is.`)}if(e.waarde==="gt100"?i.push("Hoge inboedelwaarde (> € 100.000): risico op onderverzekering bij verkeerd ingeschat verzekerd bedrag."):e.waarde==="weet-niet"&&i.push("Inboedelwaarde onbekend: een waardebepaling voorkomt onder- of oververzekering."),e.heeftInboedel==="ja"){const n=e.garantieOnderverzekering==="nee"||e.garantieOnderverzekering==="weet-niet",o=e.bedragGecontroleerd==="nee"||e.bedragGecontroleerd==="weet-niet";n&&o?i.push("Attentie: mogelijk is niet duidelijk of uw inboedel voldoende verzekerd is. Laat controleren of uw polis bescherming biedt tegen onderverzekering en of het verzekerd bedrag nog past bij uw situatie."):n?i.push("Mogelijk geen of onbekende garantie tegen onderverzekering, bij schade kan een deel voor eigen rekening komen."):o&&i.push("Verzekerd bedrag is niet recent gecontroleerd, risico op onderverzekering of juist te hoge premie.")}return e.kostbaarheden==="ja"&&(e.kostbaarhedenMee==="nee"?i.push("Bijzondere bezittingen niet apart meeverzekerd: standaard maximumvergoeding kan tekortschieten."):e.kostbaarhedenMee==="weet-niet"&&i.push("Onduidelijk of uw bijzondere bezittingen voldoende zijn meeverzekerd.")),e.beveiliging==="geen"?i.push("Geen inbraakbeveiliging aanwezig, sterk verhoogd risico op inbraakschade."):e.beveiliging==="basis"&&i.push("Beperkte inbraakbeveiliging, uitbreiding (SKG-sloten of alarm) kan het risico flink verlagen."),e.rookmelders==="nee"?i.push("Geen werkende rookmelders op de verplichte plaatsen, wettelijk verplicht en cruciaal om ernstige brandschade te beperken."):e.rookmelders==="weet-niet"&&i.push("Onduidelijk of uw woning voldoet aan de rookmelderplicht, een korte controle voorkomt risico's en discussie bij schade."),e.onderhoud==="nee"?i.push("Achterstallig onderhoud, verhoogd risico op waterschade door dak, kitranden of leidingen."):e.onderhoud==="weet-niet"&&i.push("Onderhoudsstatus onbekend, een check voorkomt waterschade en latere discussies bij claims."),i.length===0&&i.push("Geen directe aandac
1htspunten gevonden. Een periodieke check blijft altijd verstandig."),i}function D(e){const i=[];return e.heeftInboedel==="nee"&&i.push("Vraag een passende inboedelverzekering aan, afgestemd op uw woonsituatie en inboedelwaarde."),e.heeftInboedel==="ja"&&(e.bedragGecontroleerd!=="ja-recent"||e.waarde==="weet-niet")&&i.push("Laat het verzekerd bedrag (her)berekenen via een inboedelwaardemeter of polischeck."),e.heeftInboedel==="ja"&&(e.garantieOnderverzekering==="nee"||e.garantieOnderverzekering==="weet-niet")&&i.push("Vraag uw verzekeraar om bevestiging van de garantie tegen onderverzekering."),e.kostbaarheden==="ja"&&e.kostbaarhedenMee!=="ja"&&i.push("Sluit een aparte kostbaarhedendekking of verhoog de specifieke limiet voor sieraden, audio-/videoapparatuur of kunst."),(e.beveiliging==="geen"||e.beveiliging==="basis")&&i.push("Investeer in goedgekeurde SKG-sloten en/of een alarmsysteem, vaak ook premiekorting bij uw verzekeraar."),e.rookmelders!=="ja"&&i.push("Plaats minimaal één werkende rookmelder per verdieping (wettelijk verplicht sinds 2022)."),(e.onderhoud==="nee"||e.onderhoud==="weet-niet")&&i.push("Loop dak, kitranden en leidingen periodiek na, waterschade is een van de grootste schadeoorzaken."),(e.woonsituatie??[]).some(d=>d==="recent-verhuisd"||d==="samenwonen"||d==="uitwonende-student")&&i.push("Meld de wijziging in uw situatie bij uw verzekeraar zodat de dekking aansluit."),i.length===0&&i.push("Plan elke 2-3 jaar een polischeck om uw dekking actueel te houden."),i}function U(e,i){if(!i||Array.isArray(i)&&i.length===0)return"-";const s=B.find(d=>d.id===e);return s?Array.isArray(i)?i.map(d=>s.options.find(n=>n.value===d)?.label??d).join(", "):s.options.find(d=>d.value===i)?.label??String(i):String(i)}function xe({question:e,answers:i,onSelect:s,kantoorNaam:d,navigatie:n}){const o=i[e.id],g=!!e.multi,a=g?Array.isArray(o)?o:[]:typeof o=="string"?[o]:[],c=ve(e,a,{neutraalVragen:["kostbaarheden","heeftKostbaarheden"],risk:{heeftInboedel:["nee"],waarde:["gt100","weet-niet"],garantieOnderverzekering:["nee"],bedragGecontroleerd:["nee"],kostbaarhedenMee:["nee"],beveiliging:["geen"],rookmelders:["nee"],onderhoud:["nee"]}}),u=d??"uw adviseur";return t.jsx(ke,{toelichting:t.jsx(be,{waarom:e.intro,feedback:c}),navigatie:n,aiHulp:t.jsx(_,{onderwerp:`Inboedel Risicoscan - ${e.title}`,resetKey:e.id,kantoorNaam:u,systeemExtra:`Je bent een uitleg-assistent bij de Inboedel Risicoscan. Geef UITSLUITEND uitleg en achtergrond bij de huidige vraag, in gewone woorden op B1-niveau. Geef NOOIT advies of de schijn van advies over wat iemand moet kiezen of afsluiten. Verwijs voor persoonlijk advies altijd door naar een menselijke Wft-adviseur van ${u}. Houd antwoorden kort (max ~120 woorden). Gebruik nooit lange streepjes; gebruik '-' of een nieuwe zin.
2
3Huidige vraag: "${e.title}"${e.intro?`
4Intro: ${e.intro}`:""}`,context:{vraag:e.title},suggesties:["Wat wordt hier precies bedoeld?","Waarom is dit belangrijk?","Kun je dit in gewone woorden uitleggen?"]}),children:t.jsx(j,{className:"border-border/70 shadow-sm",children:t.jsxs(z,{className:"p-6 sm:p-8",children:[t.jsx("h2",{className:"text-xl sm:text-2xl font-semibold text-foreground tracking-tight",children:e.title}),e.intro&&t.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:e.intro}),t.jsx("div",{className:"mt-6 grid gap-2 sm:grid-cols-2",children:e.options.map(v=>{const l=a.includes(v.value);return t.jsxs(C,{type:"button",variant:l?"default":"outline",size:"lg",onClick:()=>s(v.value),className:f("justify-start h-auto py-3 px-4 text-left whitespace-normal gap-3",l&&"ring-2 ring-primary/40"),children:[g&&t.jsx("span",{className:f("flex h-5 w-5 shrink-0 items-center justify-center rounded border",l?"bg-primary-foreground/20 border-primary-foreground/40":"border-border bg-background"),children:l&&t.jsx(K,{className:"h-3.5 w-3.5"})}),t.jsx("span",{className:"flex-1",children:v.label})]},v.value)})}),t.jsx(M,{className:"mt-8 pt-4 border-t border-border/60"})]})})})}async function je(e,i,s){const d=await $(i?.logo_url),n=new J({unit:"pt",format:"a4"}),o=n.internal.pageSize.getWidth(),g=n.internal.pageSize.getHeight(),a=48;let r=a;const c=L(e),u=W(c),v=H[u],l=V(e),b=P(e),N=D(e),O={ok:[34,139,90],warn:[202,162,30],alert:[217,119,6],danger:[200,50,50]},[I,A,h]=O[v.tone];n.setFillColor(76,145,255),n.rect(0,0,o,8,"F");const p=Z(n,d);p&&(r=Math.max(r,36+p+24)),n.setFont("helvetica","bold"),n.setFontSize(20),n.setTextColor(20,30,50),r+=16,n.text("Inboedel Risicoscan",a,r),n.setFont("helvetica","normal"),n.setFontSize(10),n.setTextColor(120,130,145),r+=18,n.text(`Gegenereerd op ${new Date().toLocaleDateString("nl-NL",{day:"numeric",month:"long",year:"numeric"})}
4`,a,r),i?.naam&&(r+=14,n.setFont("helvetica","bold"),n.setFontSize(11),n.setTextColor(40,50,65),n.text(`Aangeboden door ${i.naam}`,a,r)),s?.naam&&(r+=14,n.setFont("helvetica","normal"),n.setFontSize(10),n.setTextColor(80,90,105),n.text(`Voor: ${s.naam}`,a,r)),r+=28,n.setDrawColor(232,236,241),n.setFillColor(250,251,252),n.roundedRect(a,r,o-a*2,110,8,8,"FD"),n.setFont("helvetica","bold"),n.setFontSize(48),n.setTextColor(I,A,h),n.text(String(c),a+24,r+70),n.setFontSize(10),n.setTextColor(120,130,145),n.setFont("helvetica","normal"),n.text("Risicoscore (0-100)",a+24,r+90),n.setFont("helvetica","bold"),n.setFontSize(16),n.setTextColor(I,A,h),n.text(v.label,a+180,r+40),n.setFont("helvetica","normal"),n.setFontSize(10),n.setTextColor(60,70,85);const w=n.splitTextToSize(v.advies,o-a*2-200);if(n.text(w,a+180,r+60),r+=130,l.length>0){r>g-160&&(n.addPage(),r=a),n.setFont("helvetica","bold"),n.setFontSize(13),n.setTextColor(20,30,50),n.text("Risicogebieden",a,r),r+=14,n.setFont("helvetica","normal"),n.setFontSize(10);for(const k of l){r>g-80&&(n.addPage(),r=a);const[m,T,x]=O[k.tone];n.setFont("helvetica","bold"),n.setTextColor(m,T,x),n.text(k.titel,a,r+12),n.setFont("helvetica","normal"),n.setTextColor(80,90,105);const F=n.splitTextToSize(k.tekst,o-a*2);n.text(F,a,r+24),r+=12+F.length*11+8}}if(N.length>0){r>g-120&&(n.addPage(),r=a),r+=8,n.setFont("helvetica","bold"),n.setFontSize(13),n.setTextColor(20,30,50),n.text("Aanbevolen acties",a,r),r+=6,n.setFont("helvetica","normal"),n.setFontSize(10),n.setTextColor(50,60,75);for(const k of N){r>g-80&&(n.addPage(),r=a);const m=n.splitTextToSize(`•  ${k}`,o-a*2);n.text(m,a,r+12),r+=12*m.length+4}}r>g-120&&(n.addPage(),r=a),r+=12,n.setFont("helvetica","bold"),n.setFontSize(13),n.setTextColor(20,30,50),n.text("Aandachtspunten",a,r),r+=6,n.setFont("helvetica","normal"),n.setFontSize(10),n.setTextColor(50,60,75);for(const k of b){r>g-80&&(n.addPage(),r=a);const m=n.splitTextToSize(`•  ${k}`,o-a*2);n.text(m,a,r+12),r+=12*m.length+4}r>g-80&&(n.addPage(),r=a),r+=16,n.setFont("helvetica","bold"),n.setFontSize(13),n.setTextColor(20,30,50),n.text("Uw antwoorden",a,r),r+=6;for(const k of E(e)){r>g-80&&(n.addPage(),r=a),r+=14,n.setFont("helvetica","bold"),n.setFontSize(10),n.setTextColor(40,50,65);const m=n.splitTextToSize(k.title,o-a*2);n.text(m,a,r),r+=12*m.length,n.setFont("helvetica","normal"),n.setTextColor(90,100,115
4);const T=U(k.id,e[k.id]);n.text(`Antwoord: ${T}`,a,r+2),r+=10}r+=24,r>g-90&&(n.addPage(),r=a),n.setDrawColor(232,236,241),n.setFillColor(248,249,251);const y=n.splitTextToSize(me,o-a*2-24),G=22+y.length*10+10;n.roundedRect(a,r,o-a*2,G,6,6,"FD"),n.setFont("helvetica","bold"),n.setFontSize(9),n.setTextColor(80,90,105),n.text("Disclaimer",a+12,r+16),n.setFont("helvetica","normal"),n.setFontSize(8),n.setTextColor(110,120,135),n.text(y,a+12,r+30),Q(n,i),await X(n,i,"Inboedel Risicoscan",`inboedel-risicoscan-${c}.pdf`,{score:c,categorie:v.label,klantNaam:s?.naam,klantEmail:s?.email,klantTelefoon:s?.telefoon,actie:s?.actie,voorkeurDag:s?.voorkeurDag,voorkeurTijdvak:s?.voorkeurTijdvak,opmerking:s?.opmerking}),n.save(`inboedel-risicoscan-${c}.pdf`)}const R={ok:{text:"text-emerald-600",bg:"bg-emerald-50",ring:"ring-emerald-200",bar:"bg-emerald-500",border:"border-emerald-200"},warn:{text:"text-yellow-600",bg:"bg-yellow-50",ring:"ring-yellow-200",bar:"bg-yellow-500",border:"border-yellow-200"},alert:{text:"text-orange-600",bg:"bg-orange-50",ring:"ring-orange-200",bar:"bg-orange-500",border:"border-orange-200"},danger:{text:"text-red-600",bg:"bg-red-50",ring:"ring-red-200",bar:"bg-red-500",border:"border-red-200"}};function ze({answers:e,onRestart:i,kantoor:s}){const d=L(e),n=W(d),o=H[n],g=R[o.tone],a=P(e),r=D(e),c=V(e),u=E(e),v=async l=>{await je(e,s??void 0,l)};return t.jsxs("div",{className:"space-y-6",children:[t.jsx(j,{className:"border-border/70 shadow-sm overflow-hidden",children:t.jsxs(z,{className:"p-6 sm:p-8",children:[t.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-6",children:[t.jsxs("div",{className:f("flex flex-col items-center justify-center rounded-xl ring-1 px-6 py-5 shrink-0",g.bg,g.ring),children:[t.jsx("div",{className:f("text-5xl font-bold leading-none",g.text),children:d}),t.jsx("div",{className:"mt-2 text-xs uppercase tracking-wide text-muted-foreground",children:"van 100"})]}),t.jsxs("div",{className:"flex-1",children:[t.jsx("div",{className:f("text-sm font-semibold uppercase tracking-wide",g.text),children:o.label}),t.jsx("h2",{className:"mt-1 text-2xl font-semibold tracking-tight",children:"Uw Inboedel Risicoscan"}),t.jsx("p",{className:"mt-3 text-sm text-muted-foreground leading-relaxed",children:o.advies})]})]}),t.jsxs("div",{className:"mt-6",children:[t.jsx("div",{className:"relative h-2 w-full rounded-full bg-secondary overflow-hidden",children:t.jsx("div",{className:f("absolute inset-y-0 left-0 rounded-full transition-all",g.bar),style:{width:`${d}%`}})}),t.jsxs("div",{className:"mt-2 flex justify-between text-[11px] text-muted-foreground",children:[t.jsx("span",{children:"0: Laag"}),t.jsx("span",{children:"40"}),t.jsx("span",{children:"60"}),t.jsx("span",{children:"100: Hoog"})]})]})]})}),c.length>0&&t.jsx(j,{className:"border-border/70 shadow-sm",children:t.jsxs(z,{className:"p-6 sm:p-8",children:[t.jsx("h3",{className:"text-lg font-semibold tracking-tight",children:"Uw risicogebieden"}),t.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Een overzicht per onderwerp van de scan."}),t.jsx("div",{className:"mt-5 grid gap-3 sm:grid-cols-2",children:c.map(l=>{const b=R[l.tone],N=l.tone==="ok"?Y:q;return t.jsx("div",{className:f("rounded-lg border p-4",b.bg,b.border),children:t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(N,{className:f("h-5 w-5 shrink-0 mt-0.5",b.text)}),t.jsxs("div",{children:[t.jsx("div",{className:f("text-xs font-semibold uppercase tracking-wide",b.text),children:l.titel}),t.jsx("p",{className:"mt-1 text-sm leading-relaxed text-foreground/90",children:l.tekst})]})]})},l.id)})})]})}),t.jsx(j,{className:"border-border/70 shadow-sm",children:t.jsxs(z,{className:"p-6 sm:p-8",children:[t.jsx("h3",{className:"text-lg font-semibold tracking-tight",children:"Aandachtspunten"}),t.jsx("ul",{className:"mt-4 space-y-3",children:a.map((l,b)=>t.jsxs("li",{className:"flex gap-3 text-sm",children:[t.jsx(ee,{className:f("h-5 w-5 shrink-0 mt-0.5",g.text)}),t.jsx("span",{className:"text-foreground/90 leading-relaxed",children:l})]},b))})]})}),t.jsx(j,{className:"border-border/70 shadow-sm",children:t.jsxs(z,{className:"p-6 sm:p-8",children:[t.jsx("h3",{className:"text-lg font-semibold tracking-tight",children:"Aanbevolen acties"}),t.jsx("ul",{className:"mt-4 space-y-3",children:r.map((l,b)=>t.jsxs("li",{className:"flex gap-3 text-sm",children:[t.jsx(ne,{className:"h-5 w-5 shrink-0 mt-0.5 text-primary"}
4),t.jsx("span",{className:"text-foreground/90 leading-relaxed",children:l})]},b))}),s&&t.jsxs("div",{className:"mt-6 rounded-md border border-primary/20 bg-primary/5 p-4 text-sm text-foreground/90 leading-relaxed",children:["Wilt u uw inboedeldekking persoonlijk laten doorlichten?",t.jsx("br",{className:"hidden sm:block"}),t.jsxs("span",{className:"text-muted-foreground",children:[s.naam," kijkt graag vrijblijvend met u mee en regelt waar nodig de juiste aanpassingen."]})]})]})}),t.jsx(j,{className:"border-border/70 shadow-sm",children:t.jsxs(z,{className:"p-6 sm:p-8",children:[t.jsx("h3",{className:"text-lg font-semibold tracking-tight",children:"Uw antwoorden"}),t.jsx("dl",{className:"mt-4 divide-y divide-border",children:u.map(l=>t.jsxs("div",{className:"py-3 grid grid-cols-1 sm:grid-cols-2 gap-1",children:[t.jsx("dt",{className:"text-sm text-muted-foreground",children:l.title}),t.jsx("dd",{className:"text-sm font-medium text-foreground",children:U(l.id,e[l.id])})]},l.id))})]})}),t.jsx(j,{className:"border-border/70 shadow-sm",children:t.jsxs(z,{className:"p-6 sm:p-8 space-y-5",children:[t.jsx(te,{kantoor:s,onVerstuur:v,documentWoord:"rapport"}),t.jsx("div",{children:t.jsxs(C,{variant:"ghost",size:"sm",onClick:i,children:[t.jsx(pe,{className:"h-3.5 w-3.5"}),"Scan opnieuw doen"]})})]})}),t.jsx(M,{variant:"boxed"})]})}function Ne({kantoor:e}){const[i,s]=S.useState({}),[d,n]=S.useState(0);ie(d);const[o,g]=S.useState(!1),a=S.useMemo(()=>E(i),[i]),r=a.length,c=Math.min(d,Math.max(0,r-1));fe(c);const u=a[c],l=(h=>{if(!h)return!1;const p=i[h.id];return Array.isArray(p)?p.length>0:!!p})(u),b=o?100:r===0?0:Math.round((c+(l?1:0))/r*100),N=h=>{u&&s(p=>{const w={...p};if(u.multi){const y=Array.isArray(p[u.id])?[...p[u.id]]:[],G=u.exclusiveValues??[];let k;if(G.includes(h))k=y.includes(h)?[]:[h];else{let m=y.filter(x=>!G.includes(x));const T=u.exclusiveGroups??[];for(const x of T)x.includes(h)&&(m=m.filter(F=>!x.includes(F)||F===h));k=m.includes(h)?m.filter(x=>x!==h):[...m,h]}w[u.id]=k}else w[u.id]=h,u.id==="kostbaarheden"&&h==="nee"&&delete w.kostbaarhedenMee,u.id==="heeftInboedel"&&h==="nee"&&(delete w.garantieOnderverzekering,delete w.bedragGecontroleerd);return w})},O=()=>{c<r-1?n(c+1):g(!0)},I=()=>{c>0&&n(c-1)},A=()=>{s({}),n(0),g(!1)};return t.jsxs("div",{className:"min-h-screen bg-gradient-to-b from-background to-secondary/40",children:[t.jsx("header",{className:"border-b border-border/60 bg-background/80 backdrop-blur",children:t.jsxs("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 py-4 flex items-center gap-3",children:[e?.logo_url?t.jsx("img",{src:e.logo_url,alt:e.naam,className:"max-h-12 max-w-[200px] h-auto w-auto rounded-md object-contain bg-background"}):t.jsx("div",{className:"h-9 w-9 rounded-md bg-primary/10 text-primary flex items-center justify-center",children:t.jsx(re,{className:"h-5 w-5"})}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("h1",{className:"text-base font-semibold leading-none tracking-tight",children:"Inboedel Risicoscan"}),t.jsx("p",{className:"text-xs text-muted-foreground mt-1 truncate",children:"Ontdek in 1 minuut hoe goed uw inboedel beschermd is"})]})]})}),t.jsxs("main",{className:o?"max-w-3xl mx-auto px-4 sm:px-6 py-8 sm:py-12":"max-w-6xl mx-auto px-4 sm:px-6 py-8 sm:py-12",children:[!o&&t.jsxs("div",{className:"mb-6",children:[t.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground mb-2",children:[t.jsxs("span",{children:["Vraag ",c+1," van ",r]}),t.jsxs("span",{children:[b,"%"]})]}),t.jsx(he,{value:b,className:"h-2"})]}),!o&&u&&t.jsx(t.Fragment,{children:t.jsx(xe,{question:u,answers:i,onSelect:N,kantoorNaam:e?.naam,navigatie:t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsxs(C,{variant:"ghost",onClick:I,disabled:c===0,children:[t.jsx(ae,{className:"h-4 w-4"}),"Vorige"]}),t.jsxs(C,{onClick:O,disabled:!l,size:"lg",children:[c===r-1?"Bekijk resultaat":"Volgende",t.jsx(we,{className:"h-4 w-4"})]})]})})}),o&&t.jsx(ze,{answers:i,onRestart:A,kantoor:e})]})]})}function Be(){const{kantoorSlug:e}=oe.useParams(),[i,s]=S.useState({status:"loading"});if(S.useEffect(()=>{let n=!1;return(async()=>{s({status:"loading"});const o=await ue(e);if(n)return;if(!o){se(),s({status:"niet-gevonden"});return}const{data:g}=await de.from("kantoren_publiek").select("email, telefoon, contactpersoon").eq("id",o.id
4).maybeSingle();n||(le(o),s({status:"ok",kantoor:{id:o.id,naam:o.naam,logo_url:o.logo_url,primaire_kleur:o.primaire_kleur,website:o.website,email:g?.email??null,telefoon:g?.telefoon??null,contactpersoon:g?.contactpersoon??null}}))})(),()=>{n=!0}},[e]),i.status==="loading")return t.jsx("div",{className:"min-h-screen flex items-center justify-center",children:t.jsx(ge,{className:"h-6 w-6 animate-spin text-muted-foreground"})});if(i.status==="niet-gevonden")return t.jsxs(Se,{titel:"Kantoor niet gevonden",children:[t.jsxs("p",{className:"text-muted-foreground",children:["Het adres"," ",t.jsxs("code",{className:"bg-muted px-1.5 py-0.5 rounded",children:["/cv/",e,"/inboedel"]})," ","hoort niet bij een bekend kantoor."]}),t.jsx("div",{className:"mt-6",children:t.jsx(ce,{to:"/",children:t.jsx(C,{variant:"outline",children:"Terug naar home"})})})]});const d=i.kantoor.primaire_kleur||void 0;return t.jsx("div",{style:d?{"--primary":d}:void 0,children:t.jsx(Ne,{kantoor:i.kantoor})})}function Se({titel:e,children:i}){return t.jsx("div",{className:"min-h-screen bg-gradient-to-b from-background to-muted/40",children:t.jsxs("section",{className:"mx-auto max-w-2xl px-6 py-24",children:[t.jsx("h1",{className:"text-3xl font-bold tracking-tight mb-4",children:e}),i]})})}export{Be as component};

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.