// Woodbury Resident — Announcements with read state. Registers window.RAnnouncements. (function () { const NS = window.WoodburyPropertiesDesignSystem_7290ca; const { Card, CardHeader, Button, Badge, IconTile } = NS; const TONES = { danger: ["var(--danger-bg)", "var(--danger)"], accent: ["rgba(194,125,72,0.14)", "var(--terracotta-600)"], success: ["var(--success-bg)", "var(--success)"], brand: ["var(--walnut-100)", "var(--walnut-700)"], }; function RAnnouncements() { const loading = window.WBRuseLoad(); const [items, setItems] = React.useState(window.WBR.announcements); const unread = items.filter((a) => a.unread).length; const markAll = () => { setItems((l) => l.map((a) => ({ ...a, unread: false }))); window.WBR.announcements = window.WBR.announcements.map((a) => ({ ...a, unread: false })); window.WBRToast("All announcements marked read"); }; const read = (id) => setItems((l) => l.map((a) => a.id === id ? { ...a, unread: false } : a)); return (
{a.body}