PageSourceSearch

https://app.usehabits.com/_next/static/chunks/pages/consumer/signals-573dd98b8529dd99.js

js usehabits.com collected 2026-09-24 12:29:01 UTC 31,015 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7414],{7905:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/consumer/signals",function(){return r(94808)}])},51555:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(11037).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},57672:(e,t,r)=>{"use strict";r.d(t,{d:()=>p});var s=r(66284),a=r(59860),n=r(14232),l=r(98295),o=r(21379),i=r(62896),c=r(37876);let d=["className","style"];function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,s)}return r}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){(0,s.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let p=n.forwardRef((e,t)=>{let{className:r,style:s}=e,u=(0,a.A)(e,d),{resolvedTheme:p}=(0,o.D)(),[f,h]=n.useState(!1);n.useEffect(()=>{h(!0)},[]);let b=m({backgroundColor:u.checked?"var(--brand-primary)":f&&"dark"===p?"rgba(106, 106, 106, 0.5)":"rgba(180, 193, 206, 0.5)"},s);return(0,c.jsx)(l.bL,m(m({className:(0,i.cn)("peer focus-visible:ring-ring focus-visible:ring-offset-background inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",r),style:b},u),{},{ref:t,children:(0,c.jsx)(l.zi,{className:(0,i.cn)("pointer-events-none block h-5 w-5 rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"),style:{backgroundColor:"#FFFFFF"}})}))});p.displayName=l.bL.displayName},61676:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a});var s=r(14232);function a(e){let t=s.useRef({value:e,previous:e});return s.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}},68124:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(11037).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},78158:(e,t,r)=>{"use strict";r.d(t,{Wu:()=>j,ZB:()=>v,Zp:()=>y,aR:()=>g});var s=r(66284),a=r(59860),n=r(14232),l=r(21379),o=r(62896),i=r(37876);let c=["className","style"],d=["className"],u=["className"],m=["className"],p=["className"],f=["className"];function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,s)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach(function(t){(0,s.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let x=n.forwardRef((e,t)=>{let{className:r,style:s}=e,d=(0,a.A)(e,c),{resolvedTheme:u}=(0,l.D)(),[m,p]=n.useState(!1);n.useEffect(()=>{p(!0)},[]);let f=n.useMemo(()=>!!m&&("dark"===u||"undefined"!=typeof document&&document.documentElement.classList.contains("dark")),[m,u]),h=n.useMemo(()=>b({background:"var(--ee-card-bg, var(--surface-card, #ffffff))",border:"1px solid var(--ee-card-border, #f0f0f3)",boxShadow:f?"0px 5px 39px rgba(0, 0, 0, 0.06)":"var(--shadow-card, 0 2px 16px rgba(0, 0, 0, 0.06))",backdropFilter:"none",borderRadius:"20px",boxSizing:"border-box"},s),[f,s]);return(0,i.jsx)("div",b({ref:t,className:(0,o.cn)("text-card-foreground",r),style:h},d))});x.displayName="Card";let y=x,g=n.forwardRef((e,t)=>{let{className:r}=e,s=(0,a.A)(e,d);return(0,i.jsx)("div",b({ref:t,className:(0,o.cn)("flex flex-col space-y-1.5 p-6",r)},s))});g.displayName="CardHeader";let v=n.forwardRef((e,t)=>{let{className:r}=e,s=(0,a.A)(e,u);return(0,i.jsx)("h3",b({ref:t,className:(0,o.cn)("text-2xl leading-none font-semibold tracking-tight",r)},s))});
1v.displayName="CardTitle",n.forwardRef((e,t)=>{let{className:r}=e,s=(0,a.A)(e,m);return(0,i.jsx)("p",b({ref:t,className:(0,o.cn)("text-muted-foreground text-sm",r)},s))}).displayName="CardDescription";let j=n.forwardRef((e,t)=>{let{className:r}=e,s=(0,a.A)(e,p);return(0,i.jsx)("div",b({ref:t,className:(0,o.cn)("p-6 pt-0",r)},s))});j.displayName="CardContent",n.forwardRef((e,t)=>{let{className:r}=e,s=(0,a.A)(e,f);return(0,i.jsx)("div",b({ref:t,className:(0,o.cn)("flex items-center p-6 pt-0",r)},s))}).displayName="CardFooter"},94808:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>X});var s=r(66284),a=r(14232),n=r(89099),l=r(77203),o=r(1187),i=r(85537),c=r(21379),d=r(74899),u=r(29149),m=r(64358),p=r(37876);let f=e=>{let{card:t,usefulVote:r=null,usefulComment:s=null,onAskAdvisor:a,onGotIt:n,onNotRelevant:l,onUsefulVote:o}=e,{resolvedTheme:i}=(0,c.D)(),d="dark"===i,f=t?.unread===!1,h=[t?.kind,t?.subtype].filter(Boolean).map(e=>String(e).replace(/_/g," ").toUpperCase()).join(" \xb7 "),b=[t?.matchBasis,function(e){if(!e)return"";try{return(0,u.m)(new Date(e),{addSuffix:!0})}catch{return""}}(t?.occurredAt)].filter(Boolean);return(0,p.jsxs)("article",{"data-testid":"consumer-signal-card",className:`rounded-xl border p-4 transition-colors ${d?"border-[#1c2c40] bg-[var(--content-block-bg)]":"border-[#F0F0F3] bg-white"} ${f?"opacity-80":""}`,children:[(0,p.jsx)("div",{className:"flex items-start justify-between gap-3",children:(0,p.jsxs)("div",{className:"min-w-0 flex-1",children:[h?(0,p.jsx)("p",{className:"mb-1 text-xs font-semibold tracking-wide text-[var(--brand-primary)] uppercase",children:h}):null,(0,p.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[f?null:(0,p.jsx)("span",{className:"inline-block h-2 w-2 shrink-0 rounded-full bg-[var(--brand-primary)]","aria-label":"Unread"}),(0,p.jsx)("h3",{className:"text-sm font-semibold text-[var(--text-primary)] sm:text-base",children:t?.consumerHeadline||""})]}),b.length>0?(0,p.jsx)("p",{className:"mt-1 text-xs text-[#9ca3af]",children:b.join(" \xb7 ")}):null]})}),(0,p.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,p.jsx)("button",{type:"button",className:"rounded-lg bg-[var(--brand-primary)] px-3 py-1.5 text-xs font-medium text-black hover:opacity-90",onClick:()=>a?.(t),children:"Ask an advisor"}),(0,p.jsx)("button",{type:"button",className:"rounded-lg border border-[var(--content-block-border)] px-3 py-1.5 text-xs text-[var(--text-secondary)] hover:bg-sidebar-hover",onClick:()=>n?.(t),children:"Got it"}),(0,p.jsx)("button",{type:"button",className:"rounded-lg border border-[var(--content-block-border)] px-3 py-1.5 text-xs text-[var(--text-secondary)] hover:bg-sidebar-hover",onClick:()=>l?.(t),children:"Not relevant"})]}),o?(0,p.jsx)("div",{className:`mt-3 border-t pt-3 ${d?"border-[#1c2c40]":"border-[#F3F3F7]"}`,children:(0,p.jsx)(m.A,{eventId:t?.eventId,initialVote:r,initialComment:s,onVote:o})}):null]})};var h=r(41172);let b=e=>{let{cards:t=[],loading:r=!1,error:s="",onRetry:n,profileReady:l=!0,onUpdateProfile:o,onAskAdvisor:i,onGotIt:u,onNotRelevant:m,onUsefulVote:b,usefulVotes:x={}}=e,{resolvedTheme:y}=(0,c.D)(),{0:g,1:v}=(0,a.useState)(null),j=`rounded-xl border p-8 text-center ${"dark"===y?"border-gray-700 bg-[var(--content-block-bg)]":"border-gray-200 bg-white"}`;return r?(0,p.jsx)(d.A,{embedded:!0,count:3}):s?(0,p.jsxs)("div",{"data-testid":"consumer-signals-error",className:j,children:[(0,p.jsx)("p",{className:"text-sm text-[var(--text-primary)] sm:text-base",children:"We couldn’t load your signals. Check your connection and try again."}),(0,p.jsx)("button",{type:"button",className:"mt-4 rounded-lg bg-[var(--brand-primary)] px-4 py-2 text-sm font-medium text-black hover:opacity-90",onClick:()=>n?.(),children:"Try again"})]}):t.length?(0,p.jsxs)("div",{"data-testid":"consumer-signals-feed",className:"flex flex-col gap-3",children:[t.map(e=>(0,p.jsx)(f,{card:e,usefulVote:x?.[e.eventId]?.vote??null,usefulComment:x?.[e.eventId]?.comment??null,onAskAdvisor:i,onGotIt:u,onNotRelevant:v,onUsefulVote:b}
1,e.eventId)),(0,p.jsx)(h.A,{isOpen:!!g,actionLabel:"mark this signal as not relevant",onCancel:()=>v(null),onConfirm:()=>{v(null),g&&m?.(g)}})]}):l?(0,p.jsxs)("div",{"data-testid":"consumer-signals-empty",className:j,children:[(0,p.jsx)("h3",{className:"text-sm font-semibold text-[var(--text-primary)] sm:text-base",children:"No signals for your household yet"}),(0,p.jsx)("p",{className:"mt-2 text-sm text-[#9ca3af]",children:"When something matches your workplace or family profile, it will show up here."})]}):(0,p.jsxs)("div",{"data-testid":"consumer-signals-empty-profile",className:j,children:[(0,p.jsx)("h3",{className:"text-sm font-semibold text-[var(--text-primary)] sm:text-base",children:"Complete your household profile"}),(0,p.jsx)("p",{className:"mt-2 text-sm text-[#9ca3af]",children:"Add your employer, partner, or kids so we can surface relevant signals."}),(0,p.jsx)("button",{type:"button",className:"mt-4 rounded-lg bg-[var(--brand-primary)] px-4 py-2 text-sm font-medium text-black hover:opacity-90",onClick:()=>o?.(),children:"Update profile"})]})};var x=r(57672);function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,s)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach(function(t){(0,s.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let v=[{key:"workplaceSignals",label:"Workplace signals",help:"Company events matched to your or your partner’s employer."},{key:"familyMilestonesFromProfile",label:"Family milestones from your profile",help:"Kid/spouse added and age milestones from your Habits profile."},{key:"sensitiveLifeEvents",label:"Sensitive life events from public records",help:"Opt-in. Public-record family or vital notices that may involve your household."}],j=e=>{let{settings:t,onChange:r,disabled:s=!1}=e,a=t||{};return(0,p.jsxs)("section",{"data-testid":"consumer-signal-privacy",className:"rounded-xl border border-[var(--content-block-border)] bg-[var(--content-block-bg)] p-4",children:[(0,p.jsx)("h2",{className:"text-sm font-semibold text-[var(--text-primary)] sm:text-base",children:"Signal privacy"}),(0,p.jsx)("ul",{className:"mt-4 flex flex-col gap-4",children:v.map(e=>{let t=!!a[e.key];return(0,p.jsxs)("li",{className:"flex items-start justify-between gap-4",children:[(0,p.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,p.jsx)("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:e.label}),(0,p.jsx)("p",{className:"mt-1 text-xs text-[#9ca3af]",children:e.help})]}),(0,p.jsx)(x.d,{checked:t,disabled:s,onCheckedChange:t=>{r?.(g(g({},a),{},{[e.key]:t}))},"aria-label":e.label})]},e.key)})})]})};var w=r(92832),N=r(96553),k=r(95517),O=r(63126),C=r(30248),P=r(78158),A=r(13240);function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,s)}return r}function I(e){return"string"==typeof e?e.trim():""}function E(e){return Array.isArray(e)?e.map(I).filter(Boolean).join(" \xb7 "):I(e)}function D(e){if(null==e||""===e)return 0;if("number"==typeof e)return Number.isFinite(e)&&e>0?e:0;let t=Date.parse(String(e));return Number.isFinite(t)?t:0}function R(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),r=D(e);if(!r)return"";let a=new Date(r);return Number.isNaN(a.getTime())?"":a.toLocaleDateString(void 0,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?S(Object(r),!0).forEach(function(t){(0,s.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({month:"short",day:"numeric"},a.getFullYear()===new Date(t).getFullYear()?{}:{year:"numeric"}))}let F=e=>"string"==typeof e?e.trim():"";async function _(e){let{question:t="",intent:r="reply"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
1,s=function(e){let{consumerQuestion:t,askIntent:r="reply"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=["Hi — we connected through Habits, and something just came up for my household. I don't want to assume we've already been working together, so consider this a quick re-intro."],a=I(e?.consumerHeadline);a&&(s.push(""),s.push(a));let n=[],l=I(e?.about);l&&n.push(`It's about ${l}.`);let o=E(e?.matchBasis);o&&n.push(`Habits flagged this because ${!o?o:o.charAt(0).toLowerCase()+o.slice(1)}.`),(e?.confidence==="medium"||e?.confidence==="low")&&n.push("Heads up — this looks like a possible match, not a sure thing.");let i=R(e?.occurredAt);i&&n.push(`Looks like this was around ${i}.`),n.length&&(s.push(""),s.push(n.join(" ")));let c=I(t)||"What should we be thinking about here?";return s.push(""),s.push(c),s.push(""),s.push("meeting"===r?"If it's easier to talk it through, I'm happy to meet — no pressure either way.":"No rush — just let me know what you think when you get a chance."),s.join("\n")}(e,{consumerQuestion:t,askIntent:r});try{let a=await A.default.post("/ai/assist/generate",{field:"consumerSignalAsk",context:{headline:F(e?.consumerHeadline),kind:F(e?.kind),subtype:F(e?.subtype),about:F(e?.about),matchBasis:E(e?.matchBasis),confidence:e?.confidence??null,occurredAt:R(e?.occurredAt),question:F(t),intent:r}});return F(a?.data?.text)||s}catch{return s}}let B=[{value:"reply",label:"Just a reply"},{value:"meeting",label:"Suggest meeting"}];function M(e){let{name:t,photoUrl:r,size:s=40}=e,{firstName:a,lastName:n}=function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return{firstName:t[0]||"",lastName:t.slice(1).join(" ")}}(t);return r?(0,p.jsx)("img",{src:r,alt:"",width:s,height:s,className:"shrink-0 rounded-[10px] object-cover",style:{width:s,height:s}}):(0,p.jsx)(N.A,{firstName:a,lastName:n,size:s,className:"shrink-0"})}function U(e){let{open:t,card:r,advisorName:s,advisorFirmName:n="",advisorPhotoUrl:l=null,sending:o=!1,error:i=null,onClose:c,onConfirm:d}=e,{0:u,1:m}=(0,a.useState)(""),{0:f,1:h}=(0,a.useState)("reply"),{0:b,1:x}=(0,a.useState)(!1),{0:y,1:g}=(0,a.useState)(!1),v=(0,a.useRef)(null),j=function(e){let t=I(e);return t?t.split(/\s+/)[0]||t:""}(s)||"advisor",N=(0,a.useCallback)(async e=>{x(!0);try{m(await _(r,{intent:e}))}finally{x(!1)}},[r]);(0,a.useEffect)(()=>{if(!t)return;h("reply"),g(!1),m(""),N("reply");let e=setTimeout(()=>v.current?.focus?.(),50);return()=>clearTimeout(e)},[t,r?.eventId,N]);let A=!!u.trim()&&!b,S=(0,a.useMemo)(()=>{var e,t;return e=r?.kind,t=r?.subtype,[I(e),I(t)].filter(Boolean).join(" \xb7 ").replace(/_/g," ")},[r?.kind,r?.subtype]),F=(0,a.useMemo)(()=>E(r?.matchBasis),[r?.matchBasis]),U=(0,a.useMemo)(()=>(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),r=D(e);if(!r)return"";let s=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()},a=s(r),n=Math.round((s(t)-a)/864e5);return 0===n?"Today":1===n?"Yesterday":n>1&&n<7?`${n} days ago`:R(e,t)})(r?.occurredAt),[r?.occurredAt]),T=(0,a.useMemo)(()=>{let e=[];return F&&e.push(F),U&&e.push(U),(r?.confidence==="medium"||r?.confidence==="low")&&e.push("Possible match"),e.join(" \xb7 ")},[F,U,r?.confidence]);return(0,p.jsx)(w.lG,{open:t,onOpenChange:e=>{e||o||c?.()},children:(0,p.jsxs)(w.Cf,{className:"max-h-[85vh] overflow-y-auto sm:max-w-[500px]","aria-busy":o||void 0,children:[(0,p.jsxs)(w.c7,{className:"text-left",children:[(0,p.jsx)(w.L3,{children:s?`Ask ${j}`:"Ask advisor"}),(0,p.jsx)(w.rr,{children:"Read it over and change anything before it goes."})]}),(0,p.jsxs)("div",{className:"mt-2 space-y-5 text-left",children:[s?(0,p.jsxs)(P.Zp,{className:"flex flex-row items-center gap-3 px-3 py-2.5 shadow-none",children:[(0,p.jsx)(M,{name:s,photoUrl:l,size:40}),(0,p.jsxs)("div",{className:"min-w-0",children:[(0,p.jsx)("p",{className:"truncate font-semibold text-[var(--theme-modal-text)]",children:s}),n?(0,p.jsx)("p",{className:"truncate text-sm text-[var(--theme-modal-text)] opacity-60",children:n}):null]})]}):null,r?(0,p.jsxs)(P.Zp,{"aria-label":"What's going on",className:"p-4 shadow-none",children:[(0,p.jsx)("p",{className:"mb-2 text-[11px] font-semibold tracking-wide text-habitsgreen uppercase",children:"What's going on"}),S?(0,p.jsx)("p",{className:"mb-1 text-xs font-medium tracking-wide text-[var(--theme-modal-text)] uppercase opacity-55",children:S}):null,(0,p.jsx)("p",{className:"text-base font-semibold leading-snug text-[var(--theme-modal-text)]",children:r.consumerHeadline}),r.about?(0,p.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-[var(--theme-modal-text)] opacity-80",children:r.about}):null,T?(0,p.jsx)("p",{className:"mt-3 text-xs leading-relaxed text-[var(--theme-modal-text)] opacity-55",children:T}):null]}):null,(0,p.jsxs)("div",{children:[(0,p.jsx)(C.JU,{className:"mb-2 block text-[var(--theme-modal-text)]",children:"What are you asking for"}),(0,p.jsx)("div",{role:"radiogroup",className:"mb-4 flex gap-2",children:B.map(e=>{let t=f===e.value;return(0,p.jsx)("button",{type:"button",role:"radio","aria-checked":t,disabled:o||b,onClick:()=>{var t;(t=e.value)===f||o||b||(h(t),y||N(t))},className:t?"bg-habitsgreen text-[#002153] flex-1 cursor-pointer rounded-full px-3 py-2 text-sm font-semibold disabled:cursor-not-allowed disabled:opacity-50":"border-[var(--theme-modal-text)]/20 text-[var(--theme-modal-text)] flex-1 cursor-pointer rounded-full border px-3 py-2 text-sm font-semibold disabled:cursor-not-allowed disabled:opacity-50",children:e.label},e.value)})}),(0,p.jsx)(C.JU,{htmlFor:"ask-advisor-message",className:"mb-2 block text-[var(--theme-modal-text)]",children:"Your message"}),(0,p.jsx)(O.T,{ref:v,id:"ask-advisor-message",value:u,onChange:e=>{g(!0),m(e.target.value)},disabled:o||b,rows:8,placeholder:b?"Writing your message…":"Write your message","aria-busy":b||void 0,className:"min-h-[180px] leading-relaxed"}),(0,p.jsxs)("p",{className:"mt-2 text-xs text-[var(--theme-modal-text)] opacity-55",children:["Sent to ",j," in chat, exactly as written above."]})]}),i?(0,p.jsx)("p",{className:"rounded-lg bg-red-500/10 px-3 py-2 text-sm text-red-600",role:"alert",children:i}):null]}),(0,p.jsxs)(w.Es,{className:"mt-6 flex-col gap-2 sm:flex-col",children:[(0,p.jsx)(k.A,{type:"button",disabled:o||!A,onClick:()=>d?.(u,f),className:"h-12 w-full rounded-full",children:o?"Sending…":`Send to ${j}`}),(0,p.jsx)(k.A,{type:"button",variant:"secondary",disabled:o,onClick:c,className:"w-full rounded-full",children:"Cancel"})]})]})})}var T=r(68124),H=r(51555);function L(e){let{name:t,photoUrl:r,size:s=40}=e,{firstName:a,lastName:n}
1=function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return{firstName:t[0]||"",lastName:t.slice(1).join(" ")}}(t);return r?(0,p.jsx)("img",{src:r,alt:"",width:s,height:s,className:"shrink-0 rounded-[10px] object-cover",style:{width:s,height:s}}):(0,p.jsx)(N.A,{firstName:a,lastName:n,size:s,className:"shrink-0"})}function $(e){let{open:t,connections:r=[],onClose:s,onSelect:n}=e,{0:l,1:o}=(0,a.useState)(1),i=r.length,c=Math.max(1,Math.ceil(i/5));(0,a.useEffect)(()=>{o(1)},[t,i]);let d=(0,a.useMemo)(()=>{let e=(l-1)*5;return r.slice(e,e+5)},[r,l]),u=0===i?0:(l-1)*5+1,m=Math.min(5*l,i),f=i>5;return(0,p.jsx)(w.lG,{open:t,onOpenChange:e=>{e||s?.()},children:(0,p.jsxs)(w.Cf,{className:"sm:max-w-[460px]",children:[(0,p.jsxs)(w.c7,{className:"text-left",children:[(0,p.jsx)(w.L3,{children:"Choose who to ask"}),(0,p.jsx)(w.rr,{children:"Who should we message about this?"})]}),(0,p.jsx)("ul",{className:"mt-3 space-y-2",children:d.map(e=>(0,p.jsx)("li",{children:(0,p.jsxs)("button",{type:"button","aria-label":`Ask ${e.name}`,onClick:()=>n?.(e),className:"flex w-full cursor-pointer items-center gap-3 rounded-xl border border-[var(--theme-modal-text)]/10 px-3 py-3 text-left transition-colors hover:bg-black/[0.04] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-habitsgreen",children:[(0,p.jsx)(L,{name:e.name,photoUrl:e.photoUrl,size:40}),(0,p.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,p.jsx)("span",{className:"block truncate font-semibold text-[var(--theme-modal-text)]",children:e.name}),e.firmName?(0,p.jsx)("span",{className:"block truncate text-sm text-[var(--theme-modal-text)] opacity-60",children:e.firmName}):null]}),(0,p.jsx)(T.A,{className:"h-4 w-4 shrink-0 opacity-40","aria-hidden":!0})]})},e.advisorId))}),f?(0,p.jsxs)("div",{className:"mt-4 flex items-center justify-between gap-3",children:[(0,p.jsxs)("span",{className:"text-sm text-[var(--theme-modal-text)] opacity-60","aria-live":"polite",children:[u,"–",m," of ",i]}),(0,p.jsxs)("div",{className:"flex items-center gap-2",children:[(0,p.jsxs)("button",{type:"button",onClick:()=>o(e=>Math.max(1,e-1)),disabled:l<=1,"aria-label":"Previous page",className:"border-[var(--theme-modal-text)]/20 text-[var(--theme-modal-text)] inline-flex h-9 cursor-pointer items-center gap-1 rounded-full border px-3 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-40",children:[(0,p.jsx)(H.A,{className:"h-4 w-4","aria-hidden":!0}),"Back"]}),(0,p.jsxs)("button",{type:"button",onClick:()=>o(e=>Math.min(c,e+1)),disabled:l>=c,"aria-label":"Next page",className:"border-[var(--theme-modal-text)]/20 text-[var(--theme-modal-text)] inline-flex h-9 cursor-pointer items-center gap-1 rounded-full border px-3 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-40",children:["Next",(0,p.jsx)(T.A,{className:"h-4 w-4","aria-hidden":!0})]})]})]}):null]})})}var V=r(67308);let W=e=>"string"==typeof e?e.trim():"";async function z(){try{let{data:e}=await A.default.get("/auth/consumer/meeting/requests");return function(e){let t=e?.requests;if(!Array.isArray(t))return[];let r=[],s=new Set;for(let e of t){if(!e||"object"!=typeof e)continue;let t=Number(e.advisor_id);if(!t||Number.isNaN(t)||s.has(t))continue;let a=e.advisor;if(!a||"object"!=typeof a)continue;let n=[W(a.first_name),W(a.last_name)].filter(Boolean).join(" ");n&&(s.add(t),r.push({advisorId:t,name:n,firmName:W(a.company_name),photoUrl:a.photo_url?String(a.photo_url):null}))}return r}(e)}catch{return[]}}async function q(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Number(e);if(!r)return;let{intent:s="reply",eventId:a,kind:n,subtype:l,message:o}=t;await A.default.post("/consumer/signals/ask-advisor",{advisorId:r,intent:s,eventId:a,kind:n,subtype:l,message:o})}var G=r(63035),K=r(30821),Y=r(39117);function Z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,s)}return r}function J(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?Z(Object(r),!0).forEach(function(t){(0,s.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Z(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let X=()=>{let e=(0,n.useRouter)(),{cards:t,feedback:r,privacy:s,loading:c,error:d,refresh:u,saveFeedback:m,savePrivacy:f,setCards:h}=(0,i.Ay)(),x=(0,V.default)(e=>e.profile),{0:y,1:g}=(0,a.useState)(!1),{0:v,1:w}=(0,a.useState)([]),{0:N,1:k}=(0,a.useState)(null),{0:O,1:C}=(0,a.useState)(null),{0:P,1:A}=(0,a.useState)(!1),{0:S,1:I}=(0,a.useState)(null);(0,o.A)({title:"Your signals",description:"For you & your household",icon:(0,p.jsx)(l.A,{className:"h-5 w-5 text-habitsgreen sm:h-6 sm:w-6"}),hideBackButton:!0,rightAction:null}),(0,a.useEffect)(()=>{u()},[u]);let E=(0,a.useMemo)(()=>{if(!x||"object"!=typeof x)return!0;let e=x.company||x.employer||x.personal_info?.company||"",t=x.consumer_spouses||x.spouses||x.spouse||null,r=x.consumer_kids||x.kids||[],s=Array.isArray(t)?t.length>0:!!t,a=Array.isArray(r)&&r.length>0;return!!e||s||a},[x]),D=(0,a.useCallback)(async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=String(e.eventId),a=J(J({},r),{},{dismissedEventIds:[...new Set([...r.dismissedEventIds||[],...t.dismissedEventIds||[]])],notRelevantKeys:[...new Set([...r.notRelevantKeys||[],...t.notRelevantKeys||[]])],readEventIds:[...new Set([...r.readEventIds||[],s,...t.readEventIds||[]])],usefulVotes:J(J({},r.usefulVotes||{}),t.usefulVotes||{})});h(e=>e.map(e=>e.eventId===s?J(J({},e),{},{unread:!1}):e).filter(e=>!((t.dismissedEventIds||[]).includes(e.eventId)||(t.notRelevantKeys||[]).includes(e.eventId)))),await m(a)},[r,m,h]),R=(0,a.useCallback)((e,t)=>{k(null),w([]),I(null),C({card:e,advisorId:t.advisorId,advisorName:t.name,advisorFirmName:t.firmName||"",advisorPhotoUrl:t.photoUrl||null})},[]),F=(0,a.useCallback)(async t=>{I(null);let r=await z(),s=function(e){let t=Array.isArray(e)?e:[];if(0===t.length)return{dest:"browse"};if(1===t.length){let e=t[0];return{dest:"thread",advisorId:e.advisorId,advisorName:e.name}}return{dest:"picker"}}(r);if("browse"===s.dest)return void e.push("/consumer/matchmaking/advisors");if("picker"===s.dest){k(t),w(r);return}let a=r[0];R(t,{advisorId:s.advisorId,name:s.advisorName,firmName:a?.firmName||"",photoUrl:a?.photoUrl||null})},[R,e]),_=(0,a.useCallback)(async function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"reply";if(!O||P)return;let s=x?.consumer_id;if(!s)return void I("We could not identify your account. Refresh and try again.");let a=String(t||"").trim();if(a){A(!0),I(null);try{await (0,K.rj)((0,K.bc)(Y.Cy.ADVISOR,O.advisorId),(0,K.bc)(Y.Cy.CONSUMER,s),a);try{await q(O.advisorId,{intent:r,eventId:O.card?.eventId,kind:O.card?.kind,subtype:O.card?.subtype,message:a})}catch{}try{await D(O.card)}catch{}let{advisorId:t}=O;C(null),e.push({pathname:"/shared/matchmaking/messages",query:{uid:String(t)}})}catch{I("That did not send. Your message is still here — try again.")}finally{A(!1)}}},[O,D,x?.consumer_id,e,P]),B=(0,a.useCallback)(async e=>{let t=String(e.eventId);try{await D(e,{dismissedEventIds:[t]})}catch{}},[D]),M=(0,a.useCallback)(async e=>{let t=String(e.eventId);try{await D(e,{dismissedEventIds:[t],notRelevantKeys:[t]})}catch{}},[D]),T=(0,a.useCallback)(async e=>{let{eventId:t,vote:s,comment:a}=e;await m((0,G.Py)(r,t,s,a))},[r,m]),H=(0,a.useCallback)(async e=>{g(!0);try{await f(e)}catch{}finally{g(!1)}},[f]),L=(0,a.useCallback)(()=>{e.push("/consumer/profile/edit")},[e]);return(0,p.jsxs)("div",{"data-testid":"consumer-signals-page",className:"flex h-full min-h-0 flex-col gap-6",children:[(0,p.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(0,p.jsx)("div",{className:"flex flex-col gap-4",children:(0,p.jsx)(b,{cards:t,loading:c,error:d,onRetry:u,profileReady:E,onUpdateProfile:L,onAskAdvisor:F,onGotIt:B,onNotRelevant:M,onUsefulVote:T,usefulVotes:r.usefulVotes||{}})})}),(0,p.jsx)(j,{settings:s||i.JV,onChange:H,disabled:y||c}),(0,p.jsx)($,{open:!!N,connections:v,onClose:()=>{k(null),w([])},onSelect:e=>{N&&R(N,e)}}),(0,p.jsx)(U,{open:!!O,card:O?.card||null,advisorName:O?.advisorName||"",advisorFirmName:O?.advisorFirmName||"",advisorPhotoUrl:O?.advisorPhotoUrl||null,sending:P,error:S,onClose:()=>{P||(C(null),I(null))},onConfirm:_})]})}},96553:(e,t,r)=>{"use strict";r.d(t,{A:()=>d});var s=r(66284),a=r(59860);r(14232);var n=r(16894),l=r(37876);let o=["firstName","lastName","size","backgroundColor","textColor","style","className"];function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,s)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?i(Object(r),!0).forEach(function(t){(0,s.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let d=e=>{let{firstName:t="",lastName:r="",size:s=null,backgroundColor:i="rgba(109, 210, 51, 0.25)",textColor:d="var(--brand-primary)",style:u={},className:m=""}=e,p=(0,a.A)(e,o),f=(0,n.IM)(t,r);f||(f="BT");let h=s?.4*s:"clamp(1rem, 8vw, 4rem)";return(0,l.jsx)("div",c(c({className:`flex h-full w-full items-center justify-center rounded-[10px] font-bold select-none ${m}`,style:c({width:s||"100%",height:s||"100%",background:i,color:d,fontSize:"number"==typeof h?`${h}px`:h,lineHeight:1},u)},p),{},{children:f}))}},98295:(e,t,r)=>{"use strict";r.d(t,{bL:()=>w,zi:()=>N});var s=r(14232),a=r(33716),n=r(10714),l=r(91844),o=r(58162),i=r(61676),c=r(87552),d=r(57797),u=r(37876),m="Switch",[p,f]=(0,l.A)(m),[h,b]=p(m),x=s.forwardRef((e,t)=>{let{__scopeSwitch:r,name:l,checked:i,defaultChecked:c,required:p,disabled:f,value:b="on",onCheckedChange:x,form:y,...g}=e,[w,N]=s.useState(null),k=(0,n.s)(t,e=>N(e)),O=s.useRef(!1),C=!w||y||!!w.closest("form"),[P,A]=(0,o.i)({prop:i,defaultProp:c??!1,onChange:x,caller:m});return(0,u.jsxs)(h,{scope:r,checked:P,disabled:f,children:[(0,u.jsx)(d.sG.button,{type:"button",role:"switch","aria-checked":P,"aria-required":p,"data-state":j(P),"data-disabled":f?"":void 0,disabled:f,value:b,...g,ref:k,onClick:(0,a.mK)(e.onClick,e=>{A(e=>!e),C&&(O.current=e.isPropagationStopped(),O.current||e.stopPropagation())})}),C&&(0,u.jsx)(v,{control:w,bubbles:!O.current,name:l,value:b,checked:P,required:p,disabled:f,form:y,style:{transform:"translateX(-100%)"}})]})});x.displayName=m;var y="SwitchThumb",g=s.forwardRef((e,t)=>{let{__scopeSwitch:r,...s}=e,a=b(y,r);return(0,u.jsx)(d.sG.span,{"data-state":j(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:t})});g.displayName=y;var v=s.forwardRef(({__scopeSwitch:e,control:t,checked:r,bubbles:a=!0,...l},o)=>{let d=s.useRef(null),m=(0,n.s)(d,o),p=(0,i.Z)(r),f=(0,c.X)(t);return s.useEffect(()=>{let e=d.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(p!==r&&t){let s=new Event("click",{bubbles:a});t.call(e,r),e.dispatchEvent(s)}},[p,r,a]),(0,u.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...l,tabIndex:-1,ref:m,style:{...l.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function j(e){return e?"checked":"unchecked"}v.displayName="SwitchBubbleInput";var w=x,N=g}},e=>{e.O(0,[9149,6070,5137,636,6593,8792],()=>e(e.s=7905)),_N_E=e.O()}]);

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.