Make the support drawer core's notification drawer (sow-nodebb-plugin-support#10)
The first version of this drawer built its own rows in JS. This one renders core's `partials/notifications_list` partial with entries the support plugin now returns in core's notification shape, so the markup is literally the notification drawer's: avatar block, stretched link, muted timeago, per-entry read dot, All/Unread filter row, and the same two footer buttons. The handlers mirror core's too — only the API paths differ, because the list is plugin-owned (core's unread count is one aggregate with no hook to carve a type out of it). Opening the box no longer marks everything read: like the bell, an entry is read when you click it or use "Mark all read", and the dot toggles both ways. Deletes the bespoke row builder and its hand-rolled relative-time helper; `$.timeago` is what core uses for JS-inserted rows. The dropdown reuses the `.notifications-dropdown` class this theme already styles, so it needs no CSS of its own. Hardcoded English is gone (the code-review finding on the first version): every string is a translation key. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -173,8 +173,7 @@ $wg-topbar-panel-bg: rgba(21, 17, 26, 0.98);
|
||||
.wg-topbar .notifications-dropdown,
|
||||
.wg-topbar .chats-dropdown,
|
||||
.wg-topbar .drafts-dropdown,
|
||||
.wg-topbar .unread-dropdown,
|
||||
.wg-topbar .support-dropdown {
|
||||
.wg-topbar .unread-dropdown {
|
||||
width: min(24rem, calc(100vw - 1.5rem));
|
||||
}
|
||||
|
||||
@@ -190,10 +189,6 @@ $wg-topbar-panel-bg: rgba(21, 17, 26, 0.98);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.wg-topbar .wg-support-item--unread {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.wg-topbar .dropdown-item,
|
||||
.wg-topbar .btn.btn-ghost,
|
||||
.wg-topbar .btn.btn-light {
|
||||
|
||||
Reference in New Issue
Block a user