From 44618f7cbc84b398b26ce9e8f1372c011a201186 Mon Sep 17 00:00:00 2001
From: Michael Long <mlong@mlong.us>
Date: Fri, 11 Dec 2020 23:14:29 -0800
Subject: [PATCH] webv4 header should show count for unread mail instead of all
 mail (using new user.stats.unread_mail_waiting)

---
 webv4/lib/events/mail.js   | 2 +-
 webv4/lib/locale/en_us.ini | 1 +
 webv4/pages/000-mail.xjs   | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/webv4/lib/events/mail.js b/webv4/lib/events/mail.js
index 986b81875f..4aca79415a 100644
--- a/webv4/lib/events/mail.js
+++ b/webv4/lib/events/mail.js
@@ -6,7 +6,7 @@ function cycle() {
     if (user.number < 1 || user.alias == settings.guest) return;
     if (time() - last_run <= frequency) return;
     last_run = time();
-    const count = user.stats.mail_waiting;
+    const count = user.stats.unread_mail_waiting;
     if (count > 0 || (count == 0 && last_count > 0)) {
         emit({ event: 'mail', data: JSON.stringify({ count: count })});
     }
diff --git a/webv4/lib/locale/en_us.ini b/webv4/lib/locale/en_us.ini
index c7391e85be..655ad46eeb 100644
--- a/webv4/lib/locale/en_us.ini
+++ b/webv4/lib/locale/en_us.ini
@@ -24,6 +24,7 @@ label_message_date = on
 label_message_subject = Subject
 label_tab_inbox = Inbox
 label_tab_sent = Sent
+label_new_message = New
 
 [page_register]
 title = Register
diff --git a/webv4/pages/000-mail.xjs b/webv4/pages/000-mail.xjs
index a4c71fec2a..c7e662e58c 100644
--- a/webv4/pages/000-mail.xjs
+++ b/webv4/pages/000-mail.xjs
@@ -18,6 +18,7 @@
 				<div class="checkbox">
 					<label class="checkbox-inline">
 						<input id="check-<? write(header.number); ?>" type="checkbox" class="mail-select">
+                        <? write(header.attr&MSG_READ ? '' : '<span class="badge new">' + locale.strings.page_mail.label_new_message + '</span>') ?>
 					</label>
 				</div>
 			</div>
-- 
GitLab