PageSourceSearch

https://home.accessdifference.com/assets/compliance-and-notices-DTEKktYj.js

js accessdifference.com collected 2026-09-28 09:34:02 UTC 6,947 bytes, 1 lines download raw bytes

1import{j as t,q as g,u as F,r as a,B as O,W as q}from"./elements-5kxJS_4j.js";import{F as V}from"./FilterableGridWidget-CTujm4JR.js";import{A as T}from"./authorization-DRCBMAi9.js";import{u as $}from"./useIsNonHomeownerBoardMember-Cs-SpCXk.js";import{u as U}from"./useSelectedProperty-CronaFcx.js";import{aX as _,L as z}from"./index-CtCeyryw.js";import{a as G,u as H}from"./portal-requests-pSSQdVkY.js";import{A as x,n as J,b as W,m as K,a as Q,c as X,g as Z}from"./requests-list-utils-C5cdaefJ.js";import"./Widget-Dku3WMLx.js";import"./useIsMobile-DE0QDUth.js";import"./FilterableGridFilters-BSwkYGCZ.js";import"./useAuthorization-XS6cSJ0I.js";import"./grids-DGmfp9GI.js";import"./startOfDay-AazlW55I.js";import"./useMutation-jkV-6MpM.js";const xe={title:"Compliance and Notices",subtitle:"View compliance information and community notices.",showPropertySelector:!0,showAi:!0,requiresEarlyAccess:"redesign-v3-phase-2"},w=10,Y=[{id:1,category:"Architectural",subject:"Unapproved exterior paint color",description:"Exterior paint does not match approved color. Please submit an ARC request or repaint to comply.",status:"Open",resolved:!1,issuedDate:new Date("2025-01-28"),dueDate:new Date("2025-02-28")},{id:2,category:"Landscaping",subject:"Overgrown hedges blocking sidewalk",description:"Hedges along the front walk exceed the 4-foot height limit and obstruct the sidewalk.",status:"Under Review",resolved:!1,issuedDate:new Date("2025-01-25")},{id:3,category:"Parking",subject:"Vehicle parked on lawn",description:"Vehicle was observed parked on the lawn in violation of community standards.",status:"Resolved",resolved:!0,issuedDate:new Date("2024-12-10")}];async function ge(s){return Y.find(o=>o.id===s)??null}function S({status:s,closed:o}){return t.jsx("div",{className:g("h-[24px] px-[10px] flex items-center justify-center rounded-[50px]",o?"bg-[#dfeaf0]":"bg-[#d9ebfa]"),children:t.jsx("span",{className:"text-[13px] font-semibold text-base-header whitespace-nowrap",children:s})})}function be({status:s,resolved:o}){return t.jsx(S,{status:s,closed:o})}function ee({request:s,isLast:o,statusColumnWidth:i,hasUnread:d,onClickMarkRead:u}){const m=s.submitted?new Date(s.submitted):null,l=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],h=m&&!Number.isNaN(m.getTime())?`${l[m.getMonth()]} ${m.getDate()}`:"--";return t.jsxs(z,{to:`/community/compliance-and-notices/${s.id}`,"data-qa":`compliance-notices-row-${s.id}`,"data-feature":"v3-compliance-notices-page-row",className:g("flex gap-[20px] h-[50px] items-center px-[22px] py-[14px] min-w-0 overflow-hidden cursor-pointer hover:bg-gray-50 transition-colors",!o&&"border-b border-[#d9d9d9]"),onClick:()=>u(s),children:[t.jsx("div",{className:"w-[8px] shrink-0 flex justify-center",children:d&&t.jsx("div",{className:"size-2 rounded-full shrink-0 bg-primary"})}),t.jsxs("div",{className:"flex-1 flex gap-[3px] items-center pr-[30px] text-[14px] text-black min-w-0 overflow-hidden",children:[t.jsx("p",{className:g("shrink-0 truncate",d?"font-bold text-black":"font-normal text-base-header"),children:s.subject}),t.jsx("span",{className:"shrink-0",children:"-"}),t.jsx("p",{className:"flex-1 font-normal opacity-70 overflow-hidden text-ellipsis whitespace-nowrap min-w-0",children:s.description||s.subject})]}),t.jsx("div",{className:"shrink-0 flex justify-start overflow-hidden",style:i?{width:`${i}px`,minWidth:`${i}px`}:void 0,children:t.jsx(S,{status:s.status,closed:s.closed})}),t.jsx("div",{className:"shrink-0 overflow-hidden",children:t.jsx("p",{className:g("text-[14px] whitespace-nowrap truncate",d?"font-bold text-black":"font-normal text-base-header"),children:h})})]})}function ve(){const{t:s}=F(),o=$(),[i,d]=a.useState(x),[u,m]=a.useState(!1),[l,h]=a.useState(0),[A,y]=a.useState(),[b]=U(),j=a.useRef(null),N=b==null?void 0:b.ownerId,{mutate:E}=G(),{data:R,isLoading:I,isError:P,refetch:L}=H({ownerId:N},{enabled:!o}),D=e=>{(e.unreadMessageCount??0)<=0||E({actionItemId:e.id,actionItemNoteId:null})},C=a.useMemo(()=>J(R).filter(e=>W(e)).map(K),[R]),v=a.useMemo(()=>C.filter(e=>!e.closed),[C]),p=a.useMemo(()=>u?v.filter(e=>(e.unreadMessageCount??0)>0):v,[v,u]),f=a.useMemo(()=>{const e=new Map;for(const n of p){const c=(n.unreadMessageCount??0)>0;e.set(n.categoryName,(e.get(n.categoryName)??0)+(c?1:0))}return Array.from(e.entries()).map(([n,c])=>({label:n,count:c,value:n})).sort((n,c)=>n.label.localeCompare(c.label))},[p]),r=a.useMemo(()=>p.filter(e=>Q(e,i)),[p,i]);a.useEffect(()=>{h(0)},[i,N,u]),a.useEffect(()=>{new Set([x,...f.map(n=>n.value)]).has(i)||d(x)},[f,i]),a.useEffect(()=>{const e=X(l,r.length,w);e!==l&&h(e)},[l,r.length]);const M=a.useMemo(()=>Z(r,l,w),[r,l]),k=a.useMemo(()=>Array.from(new Set(r.map(e=>e.status))),[r]);a.useLayoutEffect(()=>{const e=j.current;if(!e)return;const n=Array.from(e.querySelectorAll("[data-status-measure]")).map(c=>c.getBoundingClientRect().width);if(!n.length){y(void 0);return}y(Math.ceil(Math.max(...n)))},[k]);const B=a.useMemo(()=>f.length>1?[{label:x,count:p.filter(e=>(e.unreadMessageCount??0)>0).length,value:x},...f]:f,[p,f]);return o?t.jsx(_,{to:"/dashboard",replace:!0}):t.jsx(T,{requireAuth:!0,children:t.jsxs("div",{"data-qa":"compliance-notices-page","data-feature":"v3-compliance-notices-page",className:"w-full flex flex-col gap-6",children:[t.jsx("div",{ref:j,"aria-hidden":!0,"data-feature":"v3-compliance-notices-page-status-measure",className:"absolute invisible pointer-events-none h-0 overflow-hidden",children:k.map(e=>t.jsx("div",{"data-status-measure":!0,className:g("h-[24px] px-[10px] inline-flex items-center justify-center rounded-[50px]","bg-[#d9ebfa]"),children:t.jsx("span",{className:"text-[13px] font-semibold text-base-header whitespace-nowrap",children:e})},e))}),t.jsx(V,{id:"compliance-violations",semanticClassPrefix:"v3-compliance-notices-page",title:s("main.complianceV3.title"),filters:B,selectedFilter:i,onFilterChange:d,filterRightContent:t.jsx(q,{id:"compliance-unread-only",value:u,onChange:m,label:s("main.inbox.unreadOnly")}),loading:I,pagination:r.length>0?{page:l,pageSize:w,totalCount:r.length,onPageChange:h}:void 0,children:P?t.jsx("div",{className:"flex items-center justify-center py-12",children:t.jsxs("div",{className:"flex flex-col items-center gap-2 text-base-body",children:[t.jsx("span",{children:s("main.complianceV3.loadError")}),t.jsx(O,{variant:"primaryLink",onClick:()=>void L(),children:s("main.inbox.tryAgain")})]})}):r.length===0?t.jsx("div",{className:"flex items-center justify-center py-12",children:t.jsx("p",{className:"text-base-body",children:s("main.complianceV3.noResults")})}):t.jsx("div",{className:"bg-white rounded-b-xl overflow-hidden",children:M.map((e,n)=>t.jsx(ee,{request:e,isLast:n===M.length-1,statusColumnWidth:A,hasUnread:(e.unreadMessageCount??0)>0,onClickMarkRead:D},e.id))})})]})})}export{S as ComplianceStatusBadge,ve as Component,be as ViolationStatusBadge,xe as handle,ge as mockGetViolationById};

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.