From 66e75055a4a3c707b046b7e333b709e1293bbde6 Mon Sep 17 00:00:00 2001 From: Ben Whittaker Date: Thu, 16 Dec 2021 19:39:45 -0500 Subject: [PATCH] messages: Hide widget when all unread messages are dismissed --- apps.json | 2 +- apps/messages/ChangeLog | 1 + apps/messages/lib.js | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps.json b/apps.json index c379a1de4..211c4749b 100644 --- a/apps.json +++ b/apps.json @@ -77,7 +77,7 @@ { "id": "messages", "name": "Messages", - "version": "0.13", + "version": "0.14", "description": "App to display notifications from iOS and Gadgetbridge", "icon": "app.png", "type": "app", diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 16d0010cc..94848a26c 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -20,3 +20,4 @@ 0.13: Add /*LANG*/ comments for internationalisation Add 'Delete All' option to message options Now update correctly when 'require("messages").clearAll()' is called +0.14: Hide widget when all unread notifications are dismissed from phone diff --git a/apps/messages/lib.js b/apps/messages/lib.js index 63f55dd03..b3cb7d9d4 100644 --- a/apps/messages/lib.js +++ b/apps/messages/lib.js @@ -30,6 +30,10 @@ exports.pushMessage = function(event) { require("Storage").writeJSON("messages.json",messages); // if in app, process immediately if (inApp) return onMessagesModified(mIdx<0 ? {id:event.id} : messages[mIdx]); + // if we've removed the last new message, hide the widget + if (event.t=="remove" && !messages.some(m=>m.new)) { + if (global.WIDGETS && WIDGETS.messages) WIDGETS.messages.hide(); + } // ok, saved now - we only care if it's new if (event.t!="add") { return;