\n
\n
\n ) => handleAllCheckboxToggle(event.target.checked)}\n />\n \n
\n
\n {notifications.map((notif) => (\n - \n lastReadTimestamp.current })}\n isSelected={selectedNotificationIds.includes(notif.id)}\n onClick={() => handleCheckboxToggle(notif.id)}\n severity={notif.severity}\n title={notif.title}\n timestamp={notif.timestamp}\n traceId={notif.traceId}\n >\n {notif.text}\n \n
\n ))}\n
\n
\n );\n}\n\nfunction getStyles(theme: GrafanaTheme2) {\n return {\n topRow: css({\n alignItems: 'center',\n display: 'flex',\n gap: theme.spacing(2),\n }),\n list: css({\n display: 'flex',\n flexDirection: 'column',\n }),\n listItem: css({\n alignItems: 'center',\n display: 'flex',\n gap: theme.spacing(2),\n listStyle: 'none',\n position: 'relative',\n }),\n newItem: css({\n '&::before': {\n content: '\"\"',\n height: '100%',\n position: 'absolute',\n left: '-7px',\n top: 0,\n background: theme.colors.gradients.brandVertical,\n width: theme.spacing(0.5),\n borderRadius: theme.shape.radius.default,\n },\n }),\n noNotifsWrapper: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: theme.spacing(1),\n }),\n wrapper: css({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(2),\n }),\n };\n}\n","import React from 'react';\n\nimport { Page } from 'app/core/components/Page/Page';\n\nimport { StoredNotifications } from './StoredNotifications';\n\nexport const NotificationsPage = () => {\n return (\n