| @@ -1,7 +1,8 @@ | ||
| 1 | +import { siteHost } from '@shared/lib/site-host'; | |
| 1 | 2 | import { track } from '@shared/lib/track'; |
| 2 | 3 | import { useEffect, useState } from '@wordpress/element'; |
| 3 | -import { resolveNotificationLink, siteHost } from './notification-link'; | |
| 4 | +import { resolveNotificationLink } from './notification-link'; | |
| 4 | 5 | import { notificationFor } from './selection'; |
| 5 | 6 | import { fillsSlot, ignoresDismissal, templateFor } from './slots'; |
| 6 | 7 | import { useNotificationsStore } from './state'; |
| 7 | 8 | |
| @@ -18,8 +19,9 @@ | ||
| 18 | 19 | const [notification] = useState(() => notificationFor(slot)); |
| 19 | 20 | |
| 20 | 21 | const slug = notification?.slug; |
| 21 | 22 | const source = notification?.source; |
| 23 | + const dismissible = notification?.dismissible ?? false; | |
| 22 | 24 | // Only wp-admin defines pagenow; frontend slots never mount there. |
| 23 | 25 | const page = |
| 24 | 26 | window.pagenow ?? (slot.startsWith('frontend-') ? 'frontend' : ''); |
| 25 | 27 | const { href, external } = resolveNotificationLink(notification, siteHost()); |
| @@ -51,8 +53,9 @@ | ||
| 51 | 53 | <Template |
| 52 | 54 | notification={notification} |
| 53 | 55 | href={href} |
| 54 | 56 | external={external} |
| 57 | + dismissible={dismissible} | |
| 55 | 58 | onDismiss={dismiss} |
| 56 | 59 | onClick={click} |
| 57 | 60 | /> |
| 58 | 61 | </div> |