1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fd4c7b96-8441-4dc3-b306-1b68066e02c9",e._sentryDebugIdIdentifier="sentry-dbid-fd4c7b96-8441-4dc3-b306-1b68066e02c9")}catch(e){}}();var _global="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};_global.SENTRY_RELEASE={id:"2b92991d99f92e33e079a8241d5dc3965c249983"},(self.webpackChunkkudos_portal=self.webpackChunkkudos_portal||[]).push([[7191],{2224:(e,t,r)=>{r.d(t,{A:()=>i});var o=r(81887),n=r(79390),l=r(14041),a=r(5088);const i=({execution:e,actionType:t})=>{return l.createElement(o.A,{color:(r=e.status,r===n.Mu1.Completed?"success":r===n.Mu1.FailedRetryable?"danger":r===n.Mu1.Failed||r===n.Mu1.Cancelled?"pending":"warning"),label:(0,a.WY)(e.status,t,e.negotiationStatus)});var r}},7867:(e,t,r)=>{r.d(t,{A:()=>a});var o,n=r(14041);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},l.apply(null,arguments)}const a=function(e){return n.createElement("svg",l({width:"1em",height:"1em",viewBox:"0 0 14 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),o||(o=n.createElement("path",{d:"m1 5 4 4 8-8",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})))}},15809:(e,t,r)=>{r.d(t,{A:()=>i});var o,n,l=r(14041);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},a.apply(null,arguments)}const i=function(e){return l.createElement("svg",a({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),o||(o=l.createElement("path",{d:"M11.333 15.773h-4.26a.654.654 0 0 1-.654-.654V4.653c0-.36.292-.654.654-.654h4.947c.182 0 .356.076.48.21l2.902 3.134c.112.121.174.28.174.445v1.336",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})),n||(n=l.createElement("path",{d:"M15.575 7.924h-3.27a.654.654 0 0 1-.655-.654V4M15.583 12.807c-1.274 0-1.998.715-1.998 1.598 0 .884.724 1.599 1.998 1.599s1.998.715 1.998 1.599c0 .883-.724 1.598-1.998 1.598m0-6.394c.853 0 1.6.32 1.998.799m-1.998-.8v-.799m0 7.194v.8m0-.8c-.854 0-1.6-.321-1.998-.799",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})))}},57789:(e,t,r)=>{r.r(t),r.d(t,{default:()=>D});var o=r(13913),n=r(48774),l=r(47950),a=r(50228),i=r(97303),d=r(12243),s=r(40242),c=r(14041),u=r(43705),p=r(73657),m=r(76990),g=r(5902),h=r(2224),v=r(43136),b=r(76627),f=r(5088),y=r(58777);const w=m.Ay.div` 2 padding: 32px 112px 0; 3 4 @media ${s.z4.maxTablet} { 5 padding: 24px 16px 0; 6 } 7`,x=(0,m.Ay)(l.I1)` 8 max-width: 930px; 9 margin: 0 auto; 10 padding: 16px; 11 gap: 12px; 12 border: 1px solid ${({theme:e})=>e.colors.border.primary}; 13 background: ${({theme:e})=>e.colors.bg.primary}; 14`,k=(0,m.Ay)(l.Ye)` 15 padding: 16px 16px 16px 24px; 16 flex-direction: column; 17 align-items: flex-start; 18 gap: 10px; 19 20 border-radius: 10px; 21 border: 1px solid ${({theme:e})=>e.colors.border.accent.purpleSecondary}; 22 background: ${({theme:e})=>e.colors.bg.accent.purpleTertiary}; 23 24 /* Elevation/Z2 */ 25 box-shadow: 0 2px 8px 0 rgba(11, 19, 31, 0.12); 26 27 @media ${s.z4.maxTablet} { 28 padding: 16px; 29 } 30`,E=(0,m.Ay)(l.I1)` 31 gap: 8px; 32`,$=(0,m.Ay)(l.Ye)` 33 padding: 12px 16px; 34 border-radius: 8px; 35 border: 1px solid ${({theme:e})=>e.colors.border.primary}; 36 background: ${({theme:e})=>e.colors.bg.primary}; 37 align-items: center; 38 gap: 16px; 39 overflow: clip; 40 41 @media ${s.z4.maxTablet} { 42 flex-wrap: wrap; 43 } 44`,A=(0,m.Ay)(l.Ye)` 45 align-items: center; 46 gap: 16px; 47 width: 100%; 48 49 @media ${s.z4.maxTablet} { 50 flex-direction: column; 51 align-items: flex-start; 52 } 53`,I=m.Ay.button` 54 display: flex; 55 flex-direction: column; 56 align-items: flex-start; 57 gap: 8px; 58 flex: 1; 59 min-width: 0; 60 padding: 0; 61 margin: 0; 62 border: none; 63 background: transparent; 64 cursor: pointer; 65 text-align: left; 66 font: inherit; 67 color: inherit; 68 69 &:focus-visible { 70 outline: 2px solid ${({theme:e})=>e.colors.text.link}; 71 outline-offset: 2px; 72 border-radius: 4px; 73 } 74`,T=(0,m.Ay)(v.Si)` 75 max-width: 206px; 76 margin: 0 auto; 77 padding: 0; 78 background: transparent; 79`,C=m.Ay.div` 80 display: flex; 81 align-items: center; 82 gap: 12px; 83 padding: 5px; 84 border-radius: 50%; 85 background: ${({theme:e})=>e.colors.bg.primary}; 86 font-size: 18px; 87 font-weight: 600; 88 color: ${({theme:e})=>e.colors.text.inverse}; 89 pointer-events: none; 90`,P=e=>{var t,r,o,n;return(null===(r=null===(t=e.payment)||void 0===t?void 0:t.merchant)||void 0===r?void 0:r.name)||(null===(n=null===(o=e.workflow)||void 0===o?void 0:o.merchant)||void 0===n?void 0:n.name)||"Provider"},M=e=>{var t,r,o,n;return(null===(r=null===(t=e.payment)||void 0===t?void 0:t.merchant)||void 0===r?void 0:r.logoThumbnailUri)||(null===(n=null===(o=e.workflow)||void 0===o?void 0:o.merchant)||void 0===n?void 0:n.logoThumbnailUri)||void 0},S=({videoUrl:e})=>{const t=(0,m.DP)(),r=(0,c.useRef)(null),[o,l]=(0,c.useState)(!1),a=()=>{r.current&&(r.current.play(),l(!0))};return c.createElement(T,null,c.createElement(v.L9,{ref:r,controls:o,preload:"metadata",onPause:()=>l(!1),onPlay:()=>l(!0)},c.createElement("source",{src:e,type:"video/mp4"})),!o&&c.createElement(v.zF,{"aria-label":"Play highlight video",onClick:a,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),a())}},c.createElement(C,null,c.createElement(n.A,{icon:y.A,size:24,color:t.colors.icon.primary}))))},D=()=>{const e=(0,m.DP)(),t=(0,u.d4)(e=>{var t;return null===(t=e.userSlice)||void 0===t?void 0:t.isSignedIn}),[,r]=(0,p.ok)(),{inProgressItems:n,completedItems:s}=(0,b.k)(),v=(0,c.useMemo)(()=>s.filter(e=>"lowering"===e.actionType),[s]),y=(0,c.useMemo)(()=>n.filter(e=>"lowering"===e.actionType),[n]),T=(0,c.useCallback)(e=>{var t,n,l,a;const i=null===(t=e.workflow)||void 0===t?void 0:t.id;i&&(g.KudosAnalytics.send("event",{type:o.sV.BILL_MANAGEMENT_SEE_DETAILS_TAPPED,mixpanelData:{paymentId:null===(n=e.payment)||void 0===n?void 0:n.id,merchantName:(null===(a=null===(l=e.payment)||void 0===l?void 0:l.merchant)||void 0===a?void 0:a.name)||e.partnerName,status:e.actionType,trackingContext:o.p8}}),r(e=>{const t=new URLSearchParams(e);return t.set("workflowId",i),t},{replace:!0}))},[r]);
90return t?0===v.length&&0===y.length?null:c.createElement(w,null,c.createElement(x,null,v.length>0&&c.createElement(l.I1,{gap:8},c.createElement(d.aL,{secondary:!0},"Completed"),v.map(t=>{var r;const o=P(t),n=M(t),a=(e=>{var t,r,o,n;return null!==(n=null===(o=null===(r=null===(t=e.workflow.tasks)||void 0===t?void 0:t.find(e=>{var t;return null===(t=e.shareable)||void 0===t?void 0:t.mp4Url}))||void 0===r?void 0:r.shareable)||void 0===o?void 0:o.mp4Url)&&void 0!==n?n:void 0})(t);return c.createElement(k,{key:null===(r=t.workflow)||void 0===r?void 0:r.id},c.createElement(A,null,c.createElement(I,{type:"button","aria-label":`View details for ${o} bill negotiation`,onClick:()=>T(t)},c.createElement(i.A,{logoUrl:n,name:o,size:40}),c.createElement(l.I1,{gap:4,style:{alignItems:"flex-start",width:"100%"}},c.createElement(d._c,{primary:!0},"We called ",t.workflow.tasks.length," ",o," agent",t.workflow.tasks.length>1?"s":""," and confirmed you have the best deal"),c.createElement(d.aL,{style:{color:e.colors.text.link}},"You can feel great about your bill! Hear it for yourself"))),a&&c.createElement(S,{videoUrl:a})))})),y.length>0&&c.createElement(l.I1,{gap:8},c.createElement(d.aL,{secondary:!0},"In progress"),c.createElement(E,null,y.map(e=>{var t;const r=P(e),o=M(e),n=!!e.workflow&&(0,f.n5)(e.workflow);return c.createElement($,{key:null===(t=e.workflow)||void 0===t?void 0:t.id},c.createElement(l.Ye,{align:"center",gap:"8px",style:{flex:1,minWidth:0}},c.createElement(i.A,{logoUrl:o,name:r,size:42}),c.createElement(d.aL,{style:{minWidth:0}},r)),c.createElement(h.A,{execution:e.workflow,actionType:e.actionType}),c.createElement(a.A,{size:"40px",variant:n?"primary":"secondary",style:{flexShrink:0},onClick:()=>T(e)},n?"I'm ready":"See details"))}))))):null}},58777:(e,t,r)=>{r.d(t,{A:()=>i});var o,n,l=r(14041);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},a.apply(null,arguments)}const i=function(e){return l.createElement("svg",a({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),o||(o=l.createElement("path",{d:"M16.061 12 9.546 8.09v7.819l6.515-3.91Z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})),n||(n=l.createElement("circle",{cx:12,cy:12,r:9,stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})))}},76627:(e,t,r)=>{r.d(t,{k:()=>m});var o=r(85608),n=r(30571),l=r(26105),a=r(79390),i=r(47246),d=r(99420),s=r.n(d),c=r(14041),u=r(43705),p=r(39197);const m=()=>{var e,t,r,d;const m=(0,u.d4)(e=>{var t;return null===(t=e.userSlice)||void 0===t?void 0:t.user}),g=null==m?void 0:m.id,{startDate:h,endDate:v}=(0,c.useMemo)(()=>({startDate:s().utc().startOf("year").toISOString(),endDate:s().utc().startOf("month").add(365,"days").toISOString()}),[]),{data:b,loading:f,error:y,refetch:w}=(0,n.IT)(l.jg2,{variables:{userId:g||"",filter:{status:a.DQ6.Active,startDate:h,endDate:v},sort:{field:a.o09.Amount,direction:a.xBQ.Desc}},skip:!g}),{data:x,loading:k}=(0,n.IT)(l.sxE,{variables:{userId:null==m?void 0:m.id},skip:!(null==m?void 0:m.id)}),{workflowExecutions:E,loading:$,error:A,refetch:I}=(0,p.w)(),T=(null===(t=null===(e=null==b?void 0:b.Users_fetchById)||void 0===e?void 0:e.recurringPayments)||void 0===t?void 0:t.results)||[],C=(0,c.useMemo)(()=>{const e=new Map;return T.forEach(t=>{var r,o;null===(o=null===(r=t.merchant)||void 0===r?void 0:r.workflows)||void 0===o||o.forEach(r=>{e.set(r.id,t)})}),e},[T]),P=(0,c.useMemo)(()=>{const e=new Map;return T.forEach(t=>{t.groupId&&!e.has(t.groupId)&&e.set(t.groupId,t)}),e},[T]),{inProgressItems:M,completedItems:S,usedConfigIds:D}=(0,c.useMemo)(()=>{const e=[],t=[],r=new Set;return E.forEach(o=>{var n,l,d,s,c,u,p,m,g;const h=o.config;if(!h)return;const v=h.taskType,b=(e=>{switch(e){case a.ymE.SubscriptionCancel:case a.ymE.SubscriptionCancelManual:return"cancelling";case a.ymE.BillNegotiate:default:return"lowering"}})(v),f=o.status,y=null===(l=null===(n=o.recurringPayments)||void 0===n?void 0:n.find(e=>P.has(e.groupId)))||void 0===l?void 0:l.groupId,w=null!==(d=y?P.get(y):void 0)&&void 0!==d?d:C.get(h.id),x=null!==(c=null===(s=h.partner)||void 0===s?void 0:s.name)&&void 0!==c?c:void 0,k=null!==(p=null===(u=h.partner)||void 0===u?void 0:u.thumbnailUri)&&void 0!==p?p:void 0;if((0,i.OW)(f,v)&&v!==a.ymE.SubscriptionCancelManual&&(r.add(h.id),e.push({payment:w,workflow:o,taskType:v,status:f,actionType:b,partnerName:x,partnerThumbnailUri:k})),(0,i.vf)(f)&&f!==a.Mu1.FailedRetryable){r.add(h.id);const e=(0,i.pp)(o),n=f===a.Mu1.Cancelled;t.push({payment:w,workflow:o,taskType:v,actionType:b,completedAt:null!==(g=null!==(m=o.completedAt)&&void 0!==m?m:o.createdAt)&&void 0!==g?g:(new Date).toISOString(),succeeded:e,cancelled:n,partnerName:x,partnerThumbnailUri:k})}}),e.sort((e,t)=>
90{const r=e.workflow.createdAt?new Date(e.workflow.createdAt).getTime():0;return(t.workflow.createdAt?new Date(t.workflow.createdAt).getTime():0)-r}),t.sort((e,t)=>new Date(t.completedAt).getTime()-new Date(e.completedAt).getTime()),{inProgressItems:e,completedItems:t,usedConfigIds:r}},[E,C,P]),{lowerEligiblePayments:z,cancelEligiblePayments:L,manualCancelEligiblePayments:U}=(0,c.useMemo)(()=>{const{lowerEligible:e,cancelEligible:t,manualCancelEligible:r}=(0,i.ti)(T,a.RTX.Web,D);return{lowerEligiblePayments:e,cancelEligiblePayments:t,manualCancelEligiblePayments:[...r].sort((e,t)=>new Date(e.paymentDate).getTime()-new Date(t.paymentDate).getTime())}},[T,D]),j=(0,c.useMemo)(()=>{let e=0,t=0,r=0,o=0;return S.forEach(n=>{n.succeeded&&(o+=1,"cancelling"===n.actionType?e+=1:t+=1,r+=(0,i.$h)(n.workflow,n.payment))}),{subscriptionsCancelled:e,billsLowered:t,moneySaved:r,timeSavedHours:o*i.a}},[S]),H=S.length>0,_=null===(d=null===(r=null==x?void 0:x.Users_fetchById)||void 0===r?void 0:r.financialAccounts)||void 0===d?void 0:d.some(e=>e.plaidAccount&&e.linkedCard);return{lowerEligiblePayments:z,cancelEligiblePayments:L,manualCancelEligiblePayments:U,allPayments:T,loading:f||$,error:y||A,refetch:()=>(0,o.sH)(void 0,void 0,void 0,function*(){w(),yield I()}),stats:j,inProgressItems:M,completedItems:S,isReturningUser:H,hasPlaidConnected:_,isPlaidConnectedLoading:k}}},81887:(e,t,r)=>{r.d(t,{A:()=>d});var o=r(14041),n=r(76990),l=r(12243);const a=n.Ay.div` 91 display: flex; 92 gap: 8px; 93 align-items: center; 94 padding: 1px 8px; 95 border-radius: 100px; 96 white-space: nowrap; 97 98 ${({color:e})=>{switch(e){case"disabled":return n.AH` 99 background-color: ${({theme:e})=>e.colors.primitives.gray300}; 100 color: ${({theme:e})=>e.colors.text.secondary}; 101 `;
101case"pending":return n.AH` 102 background-color: ${({theme:e})=>e.colors.bg.secondary}; 103 color: ${({theme:e})=>e.colors.text.secondary}; 104 border: 1px solid ${({theme:e})=>e.colors.border.primary}; 105 `;case"notice":return n.AH` 106 background-color: ${({theme:e})=>e.colors.bg.accent.purpleSecondary}; 107 color: ${({theme:e})=>e.colors.text.accent.purple}; 108 border: 1px solid ${({theme:e})=>e.colors.border.accent.purpleSecondary}; 109 `;case"success":return n.AH` 110 background-color: ${({theme:e})=>e.colors.bg.success}; 111 color: ${({theme:e})=>e.colors.text.success}; 112 border: 1px solid rgba(0, 184, 110, 0.2); 113 `;case"danger":return n.AH` 114 background-color: #f9ebea; 115 color: ${({theme:e})=>e.colors.text.danger}; 116 border: 1px solid #f3d9d7; 117 `;case"warning":return n.AH` 118 background-color: ${({theme:e})=>e.colors.bg.accent.yellowSecondary}; 119 border: 1px solid #ffebb1; 120 color: ${({theme:e})=>e.colors.text.warning}; 121 `}}}; 122 123 ${({size:e})=>"small"===e&&n.AH` 124 padding: 0 6px; 125 gap: 4px; 126 ${l.a6} { 127 ${l.R$} 128 } 129 `}; 130`,i=n.Ay.div` 131 height: 10px; 132 width: 10px; 133 border-radius: 50%; 134 background-color: ${({theme:e})=>e.colors.icon.disabled}; 135 136 ${({color:e,theme:t})=>{switch(e){case"disabled":case"pending":return n.AH` 137 background-color: ${t.colors.icon.disabled}; 138 `;case"notice":return n.AH` 139 background-color: ${t.colors.bg.accent.purple}; 140 `;case"success":return n.AH` 141 background-color: ${t.colors.bg.successSecondary}; 142 `;case"danger":return n.AH` 143 background-color: ${t.colors.bg.danger}; 144 `;case"warning":return n.AH` 145 background-color: ${t.colors.bg.primaryYellow}; 146 `}}}; 147`,d=({color:e,size:t="medium",label:r})=>o.createElement(a,{size:t,color:e},o.createElement(i,{color:e}),o.createElement(l.a6,{responsive:!1},r))},97303:(e,t,r)=>{r.d(t,{A:()=>m});var o=r(14041),n=r(76990);const l=n.Ay.div` 148 position: relative; 149 width: ${({$size:e})=>e}px; 150 height: ${({$size:e})=>e}px; 151 flex-shrink: 0; 152`,a=n.Ay.div` 153 width: ${({$size:e})=>e}px; 154 height: ${({$size:e})=>e}px; 155 border-radius: 50%; 156 overflow: hidden; 157 background: ${({theme:e})=>e.colors.bg.secondary}; 158 display: flex; 159 align-items: center; 160 justify-content: center; 161 max-width: 100%; 162 max-height: 100%; 163 164 ${({$withBorder:e,theme:t})=>e&&n.AH` 165 border: 1px solid ${t.colors.border.primary}; 166 `} 167`,i=n.Ay.img` 168 width: 100%; 169 height: 100%; 170 object-fit: contain; 171`,d=n.Ay.span` 172 color: ${({theme:e})=>e.colors.text.secondary}; 173 text-transform: uppercase; 174 font-weight: 600; 175 font-size: ${({$size:e})=>Math.max(10,Math.round(.35*e))}px; 176 line-height: 1; 177`,s=n.Ay.div` 178 position: absolute; 179 ${({$position:e})=>"top-right"===e?"top: -2px;":"bottom: -2px;"} 180 right: -8px; 181 min-width: 20px; 182 min-height: 20px; 183 border-radius: 50%; 184 display: flex; 185 align-items: center; 186 justify-content: center; 187`,c=n.Ay.div` 188 position: absolute; 189 bottom: ${-2}px; 190 right: ${-6}px; 191 width: ${23}px; 192 height: ${23}px; 193 border-radius: 50%; 194 background: #000; 195 display: flex; 196 align-items: center; 197 justify-content: center; 198 overflow: hidden; 199`,u=n.Ay.img` 200 width: 100%; 201 height: 100%; 202 object-fit: cover; 203`,p=n.Ay.span` 204 color: #fff; 205 text-transform: uppercase; 206 font-weight: 600; 207 font-size: ${Math.max(10,Math.round(11.5))}px; 208 line-height: 1; 209`,m=({logoUrl:e,name:t,size:r=42,className:n,showBadge:m=!1,badgeContent:g,badgePosition:h="bottom-right",withBorder:v=!0,subMerchantLogoUrl:b,subMerchantName:f})=>{var y,w;const x=(null===(y=null==t?void 0:t.charAt(0))||void 0===y?void 0:y.toUpperCase())||"?",k=(null===(w=null==f?void 0:f.charAt(0))||void 0===w?void 0:w.toUpperCase())||"?",E=Boolean(b||f);return o.createElement(l,{$size:r,className:n},o.createElement(a,{$size:r,$withBorder:v},e?o.createElement(i,{src:e,alt:t}):o.createElement(d,{$size:r},x)),m&&o.createElement(s,{$position:h},g),E&&o.createElement(c,null,b?o.createElement(u,{src:b,alt:f||""}):o.createElement(p,null,k)))}}}]); 210//# sourceMappingURL=7191.0e68416a6523bca87936.js.map
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.