PageSourceSearch

https://www.hompwr.com/_next/static/chunks/pages/dashboard/contacts-411742e05ed39e10.js

js hompwr.com collected 2026-10-08 08:00:49 UTC 32,336 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[328,3065,3284,7067],{63161:(e,t,a)=>{"use strict";a.d(t,{A:()=>N});var r=a(637876),n=a(414259),o=a(26675),l=a(943185),i=a(714476),s=a(444808),d=a(371643),c=a(596524),u=a(950090),p=a(14232),m=a(49398),h=a(271635),x=a(327947),g=a(738142),f=a(698208),b=a(652979),v=a(307374),w=a(756557),y=a.n(w),A=a(4260),j=a(938951),C=a(206999);let N=e=>{let{editContactId:t,setEditContact:a,handleClose:w,editOnly:N}=e,{user:T}=(0,p.useContext)(g.A),{contactList:_,setContactList:S}=(0,p.useContext)(f.A),k=(0,p.useRef)(_);k.current=_;let[I,P]=(0,p.useState)(!1),[E,M]=(0,p.useState)(!1),[D,L]=(0,p.useState)({...v.s}),{firstName:R,lastName:O,email:z,phone:F}=D,B=e=>{if("phone"===e.target.name){let a=e.target.value.replace(/\D/g,"");var t=a.length;t>0&&(a="("+a),t>3&&(a=a.slice(0,4)+") "+a.slice(4,11)),t>6&&(a=a.slice(0,9)+"-"+a.slice(9)),L({...D,[e.target.name]:a})}else L({...D,[e.target.name]:e.target.value})},Y=()=>{P(!1),L(v.s),a&&a(!1),M(!1),w&&w()},H=async()=>{if(!R)return void m.oR.warning("Must add first name to continue");z||F||m.oR.warning("Must have at least one contact method to continue"),M(!0);let e="lender"===T.role?{users:[T.userId],lenders:[T.userId]}:"reAgent"===T.role?{users:[T.userId],reAgents:[T.userId]}:{users:[T.userId]},t={firstName:D.firstName||"",lastName:D.lastName||"",email:D.email||"",phone:D.phone||"",contactType:D.contactType||"",contactSource:"",...e,ownerUserId:T.userId,createdAt:y()().unix(),lastEdit:y()().unix(),createdAtDateTime:y()().format("h:mm A D MMM YYYY"),lastEditDateTime:y()().format("h:mm A D MMM YYYY"),approvals:[],quotes:[],openHouses:[],notes:[],deals:[]},a=await (0,h.IP)(t),r=[...k.current];r.push({...t,id:a}),S(r),Y(),m.oR.success("Contact added!"),M(!1)},V=async()=>{if(!R)return void m.oR.warning("Must add contact's first name to continue");M(!0);let e={firstName:D.firstName||"",lastName:D.lastName||"",email:D.email||"",phone:D.phone||"",contactType:D.contactType||"",lastEdit:y()().unix(),lastEditDateTime:y()().format("h:mm A D MMM YYYY")};await (0,h.jl)(t,e);let a=[...k.current],r=a.findIndex(e=>e.id===t);a[r]={...a[r],...e},S(a),m.oR.success("Contact updated!"),Y()};return(0,p.useEffect)(()=>{if(t){let e=k.current.find(e=>e.id===t);P(!0),L({...e})}},[t]),(0,r.jsxs)(p.Fragment,{children:[!N&&(0,r.jsx)(n.A,{onClick:()=>{P(!0)},style:{backgroundColor:"#016899",color:"white",borderRadius:"50px",fontWeight:"400",fontSize:"12px",padding:" 14px 18px"},startIcon:(0,r.jsx)(b.A,{htmlColor:"white"}),children:"Add Contact"}),(0,r.jsxs)(o.A,{open:I,onClose:Y,children:[(0,r.jsx)(l.A,{children:(null==D?void 0:D.id)?"Edit contact":"Add a new contact"}),(0,r.jsxs)(i.A,{style:{display:"flex",flexDirection:"column",width:"360px"},children:[(0,r.jsxs)(s.A,{select:!0,style:{marginBottom:"1.5rem",width:"100%",marginTop:"1rem"},value:(null==D?void 0:D.contactType)||"",label:"Contact Type",name:"contactType",onChange:B,error:!(null==D?void 0:D.contactType),helperText:!(null==D?void 0:D.contactType)&&"Contact type is empty",InputProps:{startAdornment:(0,r.jsx)(d.A,{position:"start",children:(0,r.jsx)(A.A,{})})},children:[(0,r.jsx)(c.A,{value:"",children:"(empty)"}),(0,r.jsx)(c.A,{value:"borrower",children:"Borrower"}),(0,r.jsx)(c.A,{value:"buyer",children:"Buyer"}),(0,r.jsx)(c.A,{value:"businessContact",children:"Business Contact"}),(0,r.jsx)(c.A,{value:"agent",children:"Agent"}),(0,r.jsx)(c.A,{value:"builder",children:"Builder"}),(0,r.jsx)(c.A,{value:"other",children:"Other"})]}),(0,r.jsx)(s.A,{label:"First Name",name:"firstName",value:R,error:!R,helperText:!R&&"First name is required",onChange:B,style:{marginBottom:"1.5rem",width:"100%"},InputProps:{startAdornment:(0,r.jsx)(d.A,{position:"start",children:(0,r.jsx)(A.A,{})})}}),(0,r.jsx)(s.A,{label:"Last Name",name:"lastName",value:O,onChange:B,style:{marginBottom:"1.5rem",width:"100%"},InputProps:{startAdornment:(0,r.jsx)(d.A,{position:"start",children:(0,r.jsx)(A.A,{})})}}),(0,r.jsx)(s.A,{label:"Phone",name:"phone",value:F,onChange:B,type:"tel",style:{marginBottom:"1.5rem",width:"100%"},InputProps:{startAdornment:(0,r.jsx)(d.A,{position:"start",children:(0,r.jsx)(j.A,{})})}}
1),(0,r.jsx)(s.A,{label:"Email",name:"email",value:z,onChange:B,style:{marginBottom:"1rem",width:"100%"},InputProps:{startAdornment:(0,r.jsx)(d.A,{position:"start",children:(0,r.jsx)(C.A,{})})}})]}),(0,r.jsxs)(u.A,{style:{padding:"0 24px 20px"},children:[(0,r.jsx)(n.A,{variant:"outlined",color:"neutral",onClick:()=>{Y()},children:"Cancel"}),(0,r.jsx)(x.A,{variant:"contained",loading:E,disabled:!R,onClick:()=>{t?V():H()},children:"Save & Close"})]})]})]})}},86581:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"LoadableContext",{enumerable:!0,get:function(){return r}});let r=a(872687)._(a(14232)).default.createContext(null)},94199:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r={src:"/_next/static/media/contacts-empty-state.5b0d48a8.svg",height:659,width:591,blurWidth:0,blurHeight:0}},144070:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(905646);a(396746),a(958641);let n=r.Ay.section.withConfig({componentId:"sc-e5c40a57-0"})(["width:100%;background-color:transparent;.page-heading-text-container{display:flex;align-items:center;@media (max-width:1000px){flex-direction:column;align-items:flex-start;.page-heading{padding:0.25rem 0 !important;}}.handle-save-container{margin-left:0.5rem;@media (max-width:1000px){margin-left:-0.5rem;}}}.inner-header-container{width:100%;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;@media (max-width:1000px){padding:0.5rem;","}}.page-heading-container{display:flex;align-items:center;padding-right:2rem;@media (max-width:600px){padding-right:0;}.page-heading{font-size:26px;padding:14px 0;color:#444;max-width:300px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;@media (max-width:1000px){font-size:22px;}@media (max-width:600px){max-width:200px;}@media (max-width:420px){max-width:160px;}}}.button-icon{@media (max-width:600px){font-size:24px;}}.add-resource-btn{padding:14px 18px;font-size:12px;border-radius:50px;@media (max-width:600px){padding:10px 14px;}}.action-area{width:100%;height:100%;min-width:51px;padding:1rem;border-radius:10px;display:flex;justify-content:center;@media (max-width:600px){min-width:40px;}}.button-container{display:flex;border-radius:0;align-items:center;}.desktop-button-container{display:grid;grid-template-columns:auto auto auto 56px;grid-gap:0.5rem;height:55px;align-items:center;&-five-grid{grid-template-columns:auto auto auto auto 56px;}.MuiButton-root{height:36px;padding:6px 16px;}}.edit-label-button{@media (max-width:600px){display:none;}}input,.MuiButton-outlined{background-color:white;}.page-input-section{height:100%;overflow-y:auto;margin:0 auto;max-width:635px;padding:2rem;@media (max-width:600px){padding:1rem;}.author-box-container{display:grid;grid-template-columns:repeat(20,1fr);width:100%;max-width:540px;margin:2rem 0;@media (max-width:1000px){overflow-x:scroll;}.author-box{margin:0.25rem;margin-right:1rem;width:270px;height:208px;padding:1rem 1rem 0 1rem;display:flex;flex-direction:column;align-items:center;.author-photo{border-radius:50%;height:100px;width:100px;margin-right:1rem;}.author-content{width:124px;display:flex;flex-direction:column;h3{margin-bottom:1rem;}p,span{font-size:12px;}}}}h1{font-size:24px;}hr{width:100%;margin-bottom:2rem;border-top:2px solid #333;}}.contact-input-section{padding:2rem;h1{font-size:24px;}hr{width:100%;margin-bottom:2rem;border-top:2px solid #333;}}"],e=>{let{isTableView:t}=e;return t&&(0,r.AH)(["padding-bottom:0;margin-bottom:-0.25rem;"])})},183369:(e,t,a)=>{"use strict";a.d(t,{Q:()=>j});var r=a(144501),n=a(14232),o=a(566438),l=a(813323),i=a(875279),s=a(719993),d=a(599351),c=a(458489),u=a(607029),p=a(558624),m=a(7094),h=a(73110),x=a(549885),g=a(752894),f=a(940336),b=a(64339),v=a(454927),w=a(636934),y=a(637876);let A=(0,o.Ay)("ul",{name:"MuiDataGrid",slot:"ToolbarFilterList"})({margin:u.f.spacing(1,1,.5),padding:u.f.spacing(0,1)}),j=(0,c.R)(function(e,t){var a,o,c;let{slotProps:u={}}=e,j=u.button||{},C=u.tooltip||{},N=u.badge||{},T=(0,f.h)(),_=(0,b.A)(),S=(0,m.Nc)(T,h.Ai),k=(0,m.Nc)(T,p.gv),I=(0,m.Nc)(T,x._),P=(e=>{let{classes:t}=e;return(0,l.A)({root:["toolbarFilterList"]},v.B,t)})(_),E=(0,s.A)(),M=(0,s.A)(),{filterPanelTriggerRef:D}=(0,w.vR)(),L=(0,d.A)(t,D),R=n.useMemo(()=>I.open?T.current.getLocaleText("toolbarFiltersTooltipHide"):0===S.length?T.current.getLocaleText("toolbarFiltersTooltipShow"):(0,y.jsxs)("div",{children:[T.current.getLocaleText("toolbarFiltersTooltipActive")(S.length),(0,y.jsx)(A,{className:P.root,ownerState:_,children:S.map((e,t)=>(0,r.A)({},k[e.field]&&(0,y.jsx)("li",{children:"".concat(k[e.field].headerName||e.field,"\n                  ").concat(k[e.field].filterOperators.find(t=>t.value===e.operator).label||T.current.getLocaleText("filterOperator".concat((0,i.A)(e.operator))).toString(),"\n                  ").concat(null!=e.value?(e=>{let{getValueAsString:t}=k[e.field].filterOperators.find(t=>t.value===e.operator);return t?t(e.value):e.value})(e):"")},t)))})]}),[T,_,I.open,S,k,P]);if(_.disableColumnFilter)return null;let O=I.open&&I.panelId===M;return(0,y.jsx)(_.slots.baseTooltip,(0,r.A)({title:R,enterDelay:1e3},null==(a=_.slotProps)?void 0:a.baseTooltip,C,{children:(0,y.jsx)(_.slots.baseButton,(0,r.A)({id:E,size:"small","aria-label":T.current.getLocaleText("toolbarFiltersLabel"),"aria-controls":O?M:void 0,"aria-expanded":O,"aria-haspopup":!0,startIcon:(0,y.jsx)(_.slots.baseBadge,(0,r.A)({badgeContent:S.length,color:"primary"},null==(o=_.slotProps)?void 0:o.baseBadge,N,{children:(0,y.jsx)(_.slots.openFilterButtonIcon,{})}))},null==(c=_.slotProps)?void 0:c.baseButton,j,{onClick:e=>{var t;let{open:a,openedPanelValue:r}=I;a&&r===g.y.filters?T.current.hidePreferences():T.current.showPreferences(g.y.filters,M,E),null==(t=j.onClick)||t.call(j,e)},onPointerUp:e=>{var t;I.open&&e.stopPropagation(),null==(t=j.onPointerUp)||t.call(j,e)},ref:L,children:T.current.getLocaleText("toolbarFilters")}))}
1))})},307374:(e,t,a)=>{"use strict";a.d(t,{s:()=>r.s});var r=a(681592)},327947:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});var r=a(14232),n=a(414259),o=a(637876);let l=!1,i=r.forwardRef(function(e,t){return l||(console.warn("MUI: The LoadingButton component functionality is now part of the Button component from Material UI.\n\nYou should use `import Button from '@mui/material/Button'`\nor `import { Button } from '@mui/material'`"),l=!0),(0,o.jsx)(n.A,{ref:t,...e})})},374888:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/dashboard/contacts",function(){return a(838990)}])},390295:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return p}});let r=a(872687)._(a(14232)),n=a(86581),o=[],l=[],i=!1;function s(e){let t=e(),a={loading:!0,loaded:null,error:null};return a.promise=t.then(e=>(a.loading=!1,a.loaded=e,e)).catch(e=>{throw a.loading=!1,a.error=e,e}),a}class d{promise(){return this._res.promise}retry(){this._clearTimeouts(),this._res=this._loadFn(this._opts.loader),this._state={pastDelay:!1,timedOut:!1};let{_res:e,_opts:t}=this;e.loading&&("number"==typeof t.delay&&(0===t.delay?this._state.pastDelay=!0:this._delay=setTimeout(()=>{this._update({pastDelay:!0})},t.delay)),"number"==typeof t.timeout&&(this._timeout=setTimeout(()=>{this._update({timedOut:!0})},t.timeout))),this._res.promise.then(()=>{this._update({}),this._clearTimeouts()}).catch(e=>{this._update({}),this._clearTimeouts()}),this._update({})}_update(e){this._state={...this._state,error:this._res.error,loaded:this._res.loaded,loading:this._res.loading,...e},this._callbacks.forEach(e=>e())}_clearTimeouts(){clearTimeout(this._delay),clearTimeout(this._timeout)}getCurrentValue(){return this._state}subscribe(e){return this._callbacks.add(e),()=>{this._callbacks.delete(e)}}constructor(e,t){this._loadFn=e,this._opts=t,this._callbacks=new Set,this._delay=null,this._timeout=null,this.retry()}}function c(e){return function(e,t){let a=Object.assign({loader:null,loading:null,delay:200,timeout:null,webpack:null,modules:null},t),o=null;function s(){if(!o){let t=new d(e,a);o={getCurrentValue:t.getCurrentValue.bind(t),subscribe:t.subscribe.bind(t),retry:t.retry.bind(t),promise:t.promise.bind(t)}}return o.promise()}if(!i){let e=a.webpack&&1?a.webpack():a.modules;e&&l.push(t=>{for(let a of e)if(t.includes(a))return s()})}function c(e,t){s();let l=r.default.useContext(n.LoadableContext);l&&Array.isArray(a.modules)&&a.modules.forEach(e=>{l(e)});let i=r.default.useSyncExternalStore(o.subscribe,o.getCurrentValue,o.getCurrentValue);return r.default.useImperativeHandle(t,()=>({retry:o.retry}),[]),r.default.useMemo(()=>{var t;return i.loading||i.error?r.default.createElement(a.loading,{isLoading:i.loading,pastDelay:i.pastDelay,timedOut:i.timedOut,error:i.error,retry:o.retry}):i.loaded?r.default.createElement((t=i.loaded)&&t.default?t.default:t,e):null},[e,i])}return c.preload=()=>s(),c.displayName="LoadableComponent",r.default.forwardRef(c)}(s,e)}function u(e,t){let a=[];for(;e.length;){let r=e.pop();a.push(r(t))}return Promise.all(a).then(()=>{if(e.length)return u(e,t)})}c.preloadAll=()=>new Promise((e,t)=>{u(o).then(e,t)}),c.preloadReady=e=>(void 0===e&&(e=[]),new Promise(t=>{let a=()=>(i=!0,t());u(l,e).then(a,a)})),window.__NEXT_PRELOADREADY=c.preloadReady;let p=c},541775:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(905646);a(396746);let n=r.Ay.div.withConfig({componentId:"sc-e96a4770-0"})(["display:flex;flex-direction:column;gap:1rem;padding:",";height:100vh;"," ",' .table-container{flex-grow:1;margin:0 auto;border-radius:5px;border:1px solid #e0e0e0;background-color:white;display:flex;overflow:hidden;width:100%;max-width:1200px;&-deals{.MuiDataGrid-cell{padding:0;}}&-users{max-width:1350px;}}.dashboard-side-container{width:100%;display:flex;flex-direction:column;.dashboard-analytics-container{position:relative;width:100%;height:350px;border-radius:5px;border:1px solid #e0e0e0;margin-bottom:1rem;}.dashboard-learning-container{position:relative;width:100%;flex-grow:2;border-radius:5px;border:1px solid #e0e0e0;overflow-y:auto;position:relative;.learning-header{position:relative;padding:6px 1rem 0;.learning-heading{font-size:14px;line-height:1.25;letter-spacing:0.02857em;white-space:normal;padding:1rem;font-weight:500;color:#666666;text-transform:uppercase;font-family:"OpenSans";}hr{border-top:1px solid #e0e0e0;}}.learning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:0.5rem;grid-column-gap:1rem;padding:1rem 1rem 0;max-height:calc(100vh - 535px - 55.5px);overflow-y:auto;}}}'],e=>{var t;return(null==(t=e.windowSize)?void 0:t.width)>=1e3?"1rem":"0"},e=>{let{recentList:t,windowSize:a}=e;return a&&(null==a?void 0:a.width)>=1e3&&(null==t?void 0:t.length)>0&&(0,r.AH)(["display:grid;grid-template-rows:auto 1fr 5fr;.recent-container{height:100%;display:flex;flex-direction:column;width:100%;max-width:1200px;margin:0 auto;}.recent-header{font-size:12px;color:#999;margin-bottom:0.5rem;}.recent-list-container{height:100%;display:flex;}.recent-card{padding:0;width:fit-content;border-radius:4px;margin-right:1rem;overflow:hidden;position:relative;img{border-radius:4px;object-fit:cover;height:calc((100vh - 74.5px - 2rem) * 1 / 6);aspect-ratio:16/10;}.img-tint{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(68,68,68,0.6);border-radius:4px;}.address-subtext{position:absolute;bottom:12px;left:12px;color:white;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;}}"])},e=>{let{deals:t,windowSize:a}=e;return t&&(0,r.AH)([".tab-container{max-width:1200px;margin:0 auto;width:100%;@media (max-width:420px){display:none;}}"])})},681592:(e,t,a)=>{"use strict";a.d(t,{s:()=>r});
1let r={id:"",firstName:"",lastName:"",email:"",phone:"",contactSource:"",contactType:"",nylasContactId:"",lastEdit:"",lastEditDateTime:"",createdAt:"",createdAtDateTime:"",approvals:[],quotes:[],openHouses:[],notes:[],deals:[],ownerUserId:"",users:[]}},774884:(e,t,a)=>{"use strict";a.d(t,{O:()=>D});var r=a(144501),n=a(640670),o=a(458489),l=a(14232),i=a(869241),s=a(599093),d=a(813323),c=a(607029),u=a(454927),p=a(64339),m=a(780239),h=a(637876);let x=["className","children"],g=(0,s.A)(m.M,{name:"MuiDataGrid",slot:"ToolbarContainer",shouldForwardProp:e=>"ownerState"!==e})({display:"flex",alignItems:"center",flexWrap:"wrap",gap:c.f.spacing(1),padding:c.f.spacing(.5),minHeight:"auto"}),f=(0,o.R)(function(e,t){let{className:a,children:o}=e,l=(0,n.A)(e,x),s=(0,p.A)(),c=(e=>{let{classes:t}=e;return(0,d.A)({root:["toolbarContainer"]},u.B,t)})(s);return o?(0,h.jsx)(g,(0,r.A)({className:(0,i.A)(c.root,a),ownerState:s},l,{ref:t,children:o})):null});var b=a(719993),v=a(599351),w=a(7094),y=a(549885),A=a(752894),j=a(940336),C=a(636934);let N=(0,o.R)(function(e,t){var a,n;let{slotProps:o={}}=e,l=o.button||{},i=o.tooltip||{},s=(0,b.A)(),d=(0,b.A)(),c=(0,j.h)(),u=(0,p.A)(),{columnsPanelTriggerRef:m}=(0,C.vR)(),x=(0,w.Nc)(c,y._),g=(0,v.A)(t,m);if(u.disableColumnSelector)return null;let f=x.open&&x.panelId===d;return(0,h.jsx)(u.slots.baseTooltip,(0,r.A)({title:c.current.getLocaleText("toolbarColumnsLabel"),enterDelay:1e3},null==(a=u.slotProps)?void 0:a.baseTooltip,i,{children:(0,h.jsx)(u.slots.baseButton,(0,r.A)({id:s,size:"small","aria-label":c.current.getLocaleText("toolbarColumnsLabel"),"aria-haspopup":"menu","aria-expanded":f,"aria-controls":f?d:void 0,startIcon:(0,h.jsx)(u.slots.columnSelectorIcon,{})},null==(n=u.slotProps)?void 0:n.baseButton,l,{onPointerUp:e=>{var t;x.open&&e.stopPropagation(),null==(t=l.onPointerUp)||t.call(l,e)},onClick:e=>{var t;x.open&&x.openedPanelValue===A.y.columns?c.current.hidePreferences():c.current.showPreferences(A.y.columns,d,s),null==(t=l.onClick)||t.call(l,e)},ref:g,children:c.current.getLocaleText("toolbarColumns")}))}))});var T=a(685156),_=a(524423);let S=(0,o.R)(function(e,t){var a,n;let{slotProps:o={}}=e,i=o.button||{},s=o.tooltip||{},d=(0,j.h)(),c=(0,p.A)(),m=(0,w.Nc)(d,T._v),x=(0,b.A)(),g=(0,b.A)(),[f,y]=l.useState(!1),A=l.useRef(null),C=(0,v.A)(t,A),N=[{icon:(0,h.jsx)(c.slots.densityCompactIcon,{}),label:d.current.getLocaleText("toolbarDensityCompact"),value:"compact"},{icon:(0,h.jsx)(c.slots.densityStandardIcon,{}),label:d.current.getLocaleText("toolbarDensityStandard"),value:"standard"},{icon:(0,h.jsx)(c.slots.densityComfortableIcon,{}),label:d.current.getLocaleText("toolbarDensityComfortable"),value:"comfortable"}],S=l.useMemo(()=>{switch(m){case"compact":return(0,h.jsx)(c.slots.densityCompactIcon,{});case"comfortable":return(0,h.jsx)(c.slots.densityComfortableIcon,{});default:return(0,h.jsx)(c.slots.densityStandardIcon,{})}},[m,c]);if(c.disableDensitySelector)return null;let k=N.map((e,t)=>(0,h.jsx)(c.slots.baseMenuItem,{onClick:()=>{var t;return t=e.value,void(d.current.setDensity(t),y(!1))},selected:e.value===m,iconStart:e.icon,children:e.label},t));return(0,h.jsxs)(l.Fragment,{children:[(0,h.jsx)(c.slots.baseTooltip,(0,r.A)({title:d.current.getLocaleText("toolbarDensityLabel"),enterDelay:1e3},null==(a=c.slotProps)?void 0:a.baseTooltip,s,{children:(0,h.jsx)(c.slots.baseButton,(0,r.A)({size:"small",startIcon:S,"aria-label":d.current.getLocaleText("toolbarDensityLabel"),"aria-haspopup":"menu","aria-expanded":f,"aria-controls":f?g:void 0,id:x},null==(n=c.slotProps)?void 0:n.baseButton,i,{onClick:e=>{var t;y(e=>!e),null==(t=i.onClick)||t.call(i,e)},ref:C,children:d.current.getLocaleText("toolbarDensity")}))})),(0,h.jsx)(_.U,{open:f,target:A.current,onClose:()=>{y(!1)},position:"bottom-end",children:(0,h.jsx)(c.slots.baseMenuList,{id:g,className:u.x.menuList,"aria-labelledby":x,autoFocusItem:f,children:k})})]})});var k=a(183369),I=a(391533),P=a(517272),E=a(950386);let M=["className","csvOptions","printOptions","excelOptions","showQuickFilter","quickFilterProps"],D=(0,o.R)(function(e,t){let{csvOptions:a,printOptions:o,excelOptions:l,showQuickFilter:i=!0,quickFilterProps:s={}}=e,d=(0,n.A)(e,M),c=(0,p.A)();return c.disableColumnFilter&&c.disableColumnSelector&&c.disableDensitySelector&&!i?null:(0,h.jsxs)(f,(0,r.A)({},d,{ref:t,children:[c.label&&(0,h.jsx)(E.G1,{children:c.label}),(0,h.jsx)(N,{}),(0,h.jsx)(k.Q,{}),(0,h.jsx)(S,{}),(0,h.jsx)(I.qn,{csvOptions:a,printOptions:o,excelOptions:l}),(0,h.jsx)("div",{style:{flex:1}}),i&&(0,h.jsx)(P.b,(0,r.A)({},s))]}))})},838990:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>X});var r=a(637876),n=a(14232),o=a(89099),l=a(738142),i=a(541319),s=a(526006),d=a(49398);a(93754);var c=a(271635),u=a(246517),p=a(505820),m=a(925925),h=a(745495),x=a(503291),g=a(26675),f=a(943185),b=a(
1714476),v=a(260591),w=a(950090),y=a(414259),A=a(1432),j=a(774884),C=a(69759),N=a(861868),T=a(596524),_=a(698309),S=a(756557),k=a.n(S),I=a(698208),P=a(144158),E=a(991633);let M=["fullName","firstName","lastName","email","phone","contactType","note","lastEdit","createdAt"],D=e=>e?k().unix(e).format("MM/DD/YYYY"):"",L=(e,t)=>["string"==typeof e?e.trim():"","string"==typeof t?t.trim():""].filter(Boolean).join(" "),R=e=>{let{editContact:t,setEditContact:a,activeRowId:o,setActiveRowId:l,handleMenuClose:i}=e,{contactList:s,setContactList:u}=(0,n.useContext)(I.A),S=(0,n.useRef)(s);S.current=s;let[k,R]=(0,n.useState)(10),[O,z]=n.useState(null),[F,B]=(0,n.useState)(!1),[Y,H]=(0,n.useState)(!1),[V,W]=(0,n.useState)(""),[U,q]=(0,n.useState)(!1),G=(0,n.useCallback)(()=>{z(null),i&&i()},[i]),Q=async()=>{await (0,c.MO)(o),G(),u([...s].filter(e=>e.id!==o)),B(!1),d.oR.success("Contact removed!")},X=(0,n.useCallback)(e=>{l(e);let t=S.current,a=Array.isArray(t)?t.find(t=>t.id===e):null;W((null==a?void 0:a.note)||""),H(!0),z(null)},[l]),J=async()=>{q(!0);try{let e=new Date().toISOString();await (0,c.jl)(o,{note:V,lastEdit:e});let t=S.current.map(t=>t.id===o?{...t,note:V,lastEdit:e}:t);u(t),d.oR.success("Note saved!"),H(!1)}catch(e){console.log(e),d.oR.error("Failed to save note")}q(!1)},K=(0,n.useMemo)(()=>s&&Array.isArray(s)?s.filter(e=>""!==e.id).map(e=>({id:e.id,fullName:L(null==e?void 0:e.firstName,null==e?void 0:e.lastName),firstName:(null==e?void 0:e.firstName)||"",lastName:(null==e?void 0:e.lastName)||"",email:null==e?void 0:e.email,phone:null==e?void 0:e.phone,contactType:null==e?void 0:e.contactType,createdAt:null==e?void 0:e.createdAt,lastEdit:null==e?void 0:e.lastEdit,note:null==e?void 0:e.note})):[],[s]),Z=(0,n.useMemo)(()=>({toolbar:{csvOptions:{fields:M,utf8WithBom:!0,fileName:"contacts"}},columnsManagement:{getTogglableColumns:e=>e.filter(e=>"fullName"!==e.field&&"firstName"!==e.field).map(e=>e.field)}}),[]),$=(0,n.useMemo)(()=>[{field:"name",headerName:"Name",width:160,disableExport:!0,valueGetter:(e,t)=>(null==t?void 0:t.fullName)||"",renderCell:e=>{let t=e.value||"";return t?(0,r.jsx)("div",{children:t}):(0,r.jsx)("div",{})}},{field:"fullName",headerName:"Full Name",hideable:!1,sortable:!1,filterable:!1},{field:"firstName",headerName:"First Name",hideable:!1,sortable:!1,filterable:!1},{field:"note",headerName:"Note",width:60,sortable:!1,filterable:!1,renderCell:e=>{let{id:t,note:a}=e.row;return(0,r.jsx)(E.qg,{note:a,onClick:()=>X(t)})}},{field:"lastName",headerName:"Last Name",width:140},{field:"email",headerName:"Email",width:220},{field:"phone",headerName:"Phone",width:120},{field:"contactType",headerName:"Contact Type",width:120,renderCell:e=>{let t=e.value;return t?(0,r.jsx)(p.A,{label:"businessContact"===t?"business contact":t,size:"small"}):null}},{field:"lastEdit",headerName:"Last Edit",width:150,renderCell:e=>(0,r.jsx)("div",{children:D(e.value)}),valueFormatter:e=>D(e)},{field:"createdAt",headerName:"Created At",width:150,renderCell:e=>(0,r.jsx)("div",{children:D(e.value)}),valueFormatter:e=>D(e)},{field:"id",headerName:"More",disableExport:!0,renderCell:e=>{let{id:t}=e;return(0,r.jsx)(n.Fragment,{children:(0,r.jsx)(m.A,{onClick:e=>{l(t),z(e.currentTarget)},children:(0,r.jsx)(C.A,{})})},t)}}],[X]);return(0,r.jsxs)(n.Fragment,{children:[(0,r.jsx)("div",{className:"table-container table-container-contacts",children:(0,r.jsx)("div",{style:{width:"100%"},children:(0,r.jsx)(A.C,{rowHeight:64,disableMultipleSelection:!0,disableRowSelectionOnClick:!0,style:{border:"none"},slots:{toolbar:j.O},showToolbar:!0,slotProps:Z,initialState:{columns:{columnVisibilityModel:{fullName:!1,firstName:!1,lastName:!1}}},pageSize:k,onPageSizeChange:e=>R(e),rows:K,columns:$,getRowId:e=>e.id,pagination:!0,pageSizeOptions:[10,25,100]})})}),(0,r.jsxs)(N.A,{anchorEl:O,open:!!O,onClose:G,children:[(0,r.jsxs)(T.A,{onClick:()=>{a(!0)},children:[(0,r.jsx)(h.A,{children:(0,r.jsx)(_.A,{fontSize:"small"})}),(0,r.jsx)(x.A,{style:{marginLeft:"-4px"},children:"Edit contact"})]}),(0,r.jsxs)(T.A,{onClick:()=>{B(!0)},children:[(0,r.jsx)(h.A,{children:(0,r.jsx)(P.A,{fontSize:"small"})}),(0,r.jsx)(x.A,{style:{marginLeft:"-4px"},children:"Delete contact"})]})]}),(0,r.jsxs)(g.A,{open:F,onClose:()=>{B(!1)},children:[(0,r.jsx)(f.A,{children:"Delete contact?"}),(0,r.jsx)(b.A,{children:(0,r.jsx)(v.A,{children:"Are you sure you want to Delete this contact? This will remove their data from any active quotes or approval letters."})}),(0,r.jsxs)(w.A,{children:[(0,r.jsx)(y.A,{variant:"outlined",color:"neutral",onClick:()=>{B(!1)},children:"Cancel"}),(0,r.jsx)(y.A,{variant:"contained",color:"error",onClick:()=>{Q()},children:"Delete Contact"})]})]}),(0,r.jsx)(E.zV,{open:Y,onClose:()=>H(!1),contactName:(()=>{let e=(Array.isArray(s)?s:[]).find(e=>e.id===o);return L(null==e?void 0:e.firstName,null==e?void 0:e.lastName)})(),noteValue:V,setNoteValue:W,onSave:J,saving:U})]})};var O=a(541775),z=a(905646);a(396746);let F=z.Ay.div.withConfig({componentId:"sc-af7164a3-0"})(["padding:1rem;margin:4rem 0 0 4rem;
1@media (max-width:900px){margin:0 auto;h1{font-size:28px;}}h1{margin-bottom:1rem;}p,img{width:600px;max-width:80vw;margin-bottom:1rem;}button{padding:0.75rem 1.5rem;margin-right:1rem;}"]);var B=a(94199),Y=a(144070);let H=e=>{let{activeContactId:t,setActiveContactId:a}=e;return(0,r.jsxs)("div",{children:[(0,r.jsx)(y.A,{onClick:()=>{a("")},children:"back"}),(0,r.jsx)("h1",{children:"Active contact"})]})};var V=a(63161);let W=(0,n.memo)(e=>{let{editContact:t,setEditContact:a,activeRowId:n,handleClose:o}=e;return(0,r.jsx)(Y.A,{isTableView:!0,id:"contacts-header",children:(0,r.jsxs)("div",{className:"inner-header-container",children:[(0,r.jsx)("div",{className:"page-heading-container",children:(0,r.jsx)("h1",{className:"page-heading",children:"Contacts"})}),(0,r.jsx)("div",{className:"button-container",children:(0,r.jsx)(V.A,{setEditContact:a,editContactId:t?n:null,handleClose:o})})]})})});W.displayName="Header";let U=()=>{let{user:e}=(0,n.useContext)(l.A),{contactList:t,setContactList:a,getInitialContactList:o}=(0,n.useContext)(I.A),[i,s]=(0,n.useState)(!0),[p,m]=(0,n.use
1State)(null),[h,x]=(0,n.useState)(""),[g,f]=(0,n.useState)(!1),[b,v]=(0,n.useState)(""),w=(0,u._)(),y=(0,n.useCallback)(()=>{f(!1)},[]);return((0,n.useEffect)(()=>{if(!e)return void s(!0);let t=async e=>{try{return await (0,c.nC)(e.userId)>0}catch(e){return console.log("Error checking contacts:",e),!1}};(async()=>{try{s(!0);let a=await t(e);m(a),a&&await o(e)}catch(e){console.error("Error loading contacts:",e),m(!1)}finally{s(!1)}})()},[e,o]),h)?(0,r.jsx)(H,{setActiveContactId:x,activeContactId:h}):!1===p?(0,r.jsxs)(n.Fragment,{children:[(0,r.jsxs)(O.A,{contacts:!0,windowSize:w,children:[(0,r.jsx)(Y.A,{isTableView:!0,id:"contacts-header",style:{padding:"0"},children:(0,r.jsx)("div",{className:"inner-header-container",children:(0,r.jsx)("div",{className:"page-heading-container",children:(0,r.jsx)("h1",{className:"page-heading",children:"Contacts"})})})}),(0,r.jsxs)(F,{style:{width:"fit-content",margin:"0 auto",paddingTop:"3rem"},children:[(0,r.jsx)("h1",{children:"Welcome to your contact list"}),(0,r.jsx)("p",{children:"As you add contacts other places in HOMPWR, they will appear here. Think of it as the easiest way to take a glance at who you've been working with, and export that list when needed."}),(0,r.jsx)("p",{style:{fontSize:"12px",color:"#999"},children:"you don't yet have any contacts to view"}),(0,r.jsx)("img",{style:{maxWidth:"300px"},src:B.A.src})]})]}),(0,r.jsx)(d.N9,{autoClose:2e3})]}):p&&t.length>0?(0,r.jsxs)(n.Fragment,{children:[(0,r.jsxs)(O.A,{contacts:!0,windowSize:w,children:[(0,r.jsx)(W,{editContact:g,setEditContact:f,activeRowId:b,handleClose:y}),(0,r.jsx)(R,{editContact:g,setEditContact:f,activeRowId:b,setActiveRowId:v,handleMenuClose:y})]}),(0,r.jsx)(d.N9,{autoClose:2e3})]}):null};var q=a(977328),G=a.n(q);let Q=()=>{(0,n.useRef)(!1),(0,o.useRouter)();let{user:e,updateUser:t}=(0,n.useContext)(l.A);return(0,r.jsxs)(n.Fragment,{children:[(0,r.jsxs)(G(),{children:[(0,r.jsx)("title",{children:"Hompwr Contacts"}),(0,r.jsx)("meta",{property:"og:title",content:"Hompwr Contacts"}),(0,r.jsx)("meta",{property:"og:description",content:"View your Hompwr contacts."}),(0,r.jsx)("meta",{property:"og:image",content:"/images/hompwr-og.jpg"}),(0,r.jsx)("meta",{property:"og:image",content:"https://hompwr.com"})]}),e&&(null==e?void 0:e.role)?(0,r.jsx)(U,{}):(0,r.jsx)(s.A,{})]})};Q.getLayout=function(e){return(0,r.jsx)(i.A,{style:{marginTop:"0rem",marginBottom:"0rem",maxWidth:"100%",padding:"0",margin:"0"},children:e})};let X=Q},918847:(e,t,a)=>{e.exports=a(952496)},952496:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(t,{default:function(){return i},noSSR:function(){return l}});let r=a(872687);a(637876),a(14232);let n=r._(a(390295));function o(e){return{default:(null==e?void 0:e.default)||e}}function l(e,t){return delete t.webpack,delete t.modules,e(t)}function i(e,t){let a=n.default,r={loading:e=>{let{error:t,isLoading:a,pastDelay:r}=e;return null}};e instanceof Promise?r.loader=()=>e:"function"==typeof e?r.loader=e:"object"==typeof e&&(r={...r,...e});let i=(r={...r,...t}).loader;return(r.loadableGenerated&&(r={...r,...r.loadableGenerated},delete r.loadableGenerated),"boolean"!=typeof r.ssr||r.ssr)?a({...r,loader:()=>null!=i?i().then(o):Promise.resolve(o(()=>null))}):(delete r.webpack,delete r.modules,l(a,r))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},991633:(e,t,a)=>{"use strict";a.d(t,{qg:()=>g,zV:()=>f});var r=a(637876);a(14232);var n=a(566438),o=a(503417),l=a(340239),i=a(925925),s=a(26675),d=a(943185),c=a(714476),u=a(444808),p=a(950090),m=a(414259),h=a(230730);let x=(0,n.Ay)(e=>{let{className:t,...a}=e;return(0,r.jsx)(o.A,{...a,classes:{popper:t}})})({["& .".concat(l.A.tooltip)]:{backgroundColor:"#fff",color:"#333",border:"1px solid #e0e0e0",borderRadius:"8px",padding:"12px",maxWidth:300,whiteSpace:"pre-wrap",fontSize:"13px",boxShadow:"rgba(0,0,0,0.16) 0px 1px 4px"},["& .".concat(l.A.arrow)]:{color:"#e0e0e0"}}),g=e=>{let{note:t,onClick:a}=e,n=(0,r.jsx)(i.A,{size:"small",onClick:e=>{e.stopPropagation(),a()}
1,sx:{padding:"2px","&:hover":{backgroundColor:"rgba(1, 104, 153, 0.08)"}},children:(0,r.jsx)(h.A,{fontSize:"small",color:t?"primary":"disabled",sx:{fontSize:"18px"}})});return t?(0,r.jsx)(x,{title:t,placement:"top",arrow:!0,children:n}):(0,r.jsx)(o.A,{title:"Click to add a note",placement:"top",children:n})},f=e=>{let{open:t,onClose:a,contactName:n,noteValue:o,setNoteValue:l,onSave:i,saving:h}=e;return(0,r.jsxs)(s.A,{open:t,onClose:a,maxWidth:"sm",fullWidth:!0,children:[(0,r.jsx)(d.A,{children:n?"Edit note for ".concat(n):"Edit note"}),(0,r.jsx)(c.A,{children:(0,r.jsx)(u.A,{autoFocus:!0,fullWidth:!0,multiline:!0,minRows:4,maxRows:10,value:o,onChange:e=>{e.target.value.length<=1600&&l(e.target.value)},placeholder:"Enter your note here...",inputProps:{maxLength:1600},helperText:"".concat(o.length,"/1600 characters")})}),(0,r.jsxs)(p.A,{children:[(0,r.jsx)(m.A,{variant:"outlined",color:"neutral",onClick:a,children:"Cancel"}),(0,r.jsx)(m.A,{variant:"contained",onClick:i,disabled:h,children:h?"Saving...":"Save Note"})]})]})}}},e=>{e.O(0,[888,7336,2232,6169,3417,8230,4112,4808,9422,47,8820,9861,5064,3484,8457,2280,89,1886,1383,9414,7447,9177,1497,2834,9478,6600,1319,636,6593,8792],()=>e(e.s=374888)),_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.