From 06868ecdb3b8226c4c036966e0df08913dac0740 Mon Sep 17 00:00:00 2001 From: Adam Setch Date: Sat, 22 Nov 2025 10:34:10 -0500 Subject: [PATCH] feat(icons): add offline icon Signed-off-by: Adam Setch --- assets/images/tray-error.png | Bin 2004 -> 2664 bytes assets/images/tray-error@2x.png | Bin 3880 -> 4418 bytes assets/images/tray-offline.png | Bin 0 -> 2642 bytes assets/images/tray-offline@2x.png | Bin 0 -> 4418 bytes src/main/icons.test.ts | 2 ++ src/main/icons.ts | 1 + src/main/index.ts | 10 ++++++++++ 7 files changed, 13 insertions(+) create mode 100644 assets/images/tray-offline.png create mode 100644 assets/images/tray-offline@2x.png diff --git a/assets/images/tray-error.png b/assets/images/tray-error.png index d822f4b366556e1c4ee71996a7d2a512d901ab21..413e17055d7bc3c6483c4cd9be8e7df8af5c40dd 100644 GIT binary patch literal 2664 zcmb_edsq`!7N3BC#KMZO76F$baa}-@kc6lSNo+!R1Px$_yXY=1Loy+ekcpE)0tIPN zbg6W;ii+avgAFWIKoIE`m15O)zZQ{)T|_@bi^f{yVX-2tl$}X<6zaPF?Bu(1&zyUH zzjN-n=bkV5vC$DOWG^xR04~x|L{*yL#xD6A)-#|1zP*R9hUVzI@d$hp3 zNo+Gd6Hg*Oa8}zK3hB2)puZf}t6&sH13(p`6i7r7%B_;_ym}Z1g!A4PpC@o4H z39lD{NhqXO3B-gZk}ch&5P=w+YS2L#EC56*C>4x@F{K9Qw?9pq*~4kO={P)2+t0|j z9iXy%MP$I)5V^?+0It`FK{~X;)f)gDTubJX|K!3<_v9!BPa2cv&nMil8vKiXKD{q6o<#2=Y;tnkScpPr~sp z0Y!sh1|EZvo}NxmXVVchnZe|8xr`tdgTU|K{E z61-3nl7a!DkTHf!KttwGcuTTCgXKD5r(1Kq-m_)NQbPN zG{PwzPY?rA5$K@TqVZhKf?9J)fJ~6#zk)EWdL}7^!)X+;VuM+8Y1<-SrQ|757{U|pkER5r*PIKz{0N)C&|TE*cqgPE(joHaqyXzSu!@S9F*ZaKa7RQUMC;aRtfpb7-h z3IDGxlh2q-KeGWoamRQus21-E5OK$aOg`fmx=DN6K7ZDQtc7LM;yq4C#yw5-OCdQY zL%$L4(3Mh&NU_H4!;LbH;tw8;YZ-&dU*uQxN1xSDi^5ZiMs^=%E-Gt1QG&U>{Xy;n(wyd|y%*`(3-Z;?|*l@zyg7?-Z$72NMH3>3Q zP?&!xLXVAJN}0dGrBoABCa)N+3UMAnQm=Y``{;*2$ocny*H><_vVXZq{OZ{&OT#pZ=KLcwzV_#buyZQ(0G+yHC12W&BrN!H>23HDM=QH6L?pWo^ET8umQDe(P|J zkh;{pzYhJ>xjm({w2Z#E&EX5Xn;|4DezZ`vUO!{R|3*|w! zf<~n~W_8wgX1ZA1<9l8@xju}m&tCFnNZ5NtL+fJpYx&&Toe%Q6^o zx`(o#&G$Z@eRU!~Bj89`xO6;+^xVRIQa$$Dm;)2`f$txER7xH`OZ@qfhDA%N#EH58 E0a-Pg?f?J) delta 1573 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 literal 0 HcmV?d00001 diff --git a/assets/images/tray-offline@2x.png b/assets/images/tray-offline@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f9afb1086656393460e4c5b15199b454c6cd463c GIT binary patch literal 4418 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 K;I_VV@V^1fy9-nR literal 0 HcmV?d00001 diff --git a/src/main/icons.test.ts b/src/main/icons.test.ts index ae87ac1c7..245c75815 100644 --- a/src/main/icons.test.ts +++ b/src/main/icons.test.ts @@ -10,6 +10,8 @@ describe('main/icons.ts', () => { 'assets/images/tray-idle-white.png', ); + expect(TrayIcons.offline).toContain('assets/images/tray-offline.png'); + expect(TrayIcons.error).toContain('assets/images/tray-error.png'); }); }); diff --git a/src/main/icons.ts b/src/main/icons.ts index b285365d9..4a5c731e5 100644 --- a/src/main/icons.ts +++ b/src/main/icons.ts @@ -4,6 +4,7 @@ export const TrayIcons = { active: getIconPath('tray-active.png'), idle: getIconPath('tray-idleTemplate.png'), idleAlternate: getIconPath('tray-idle-white.png'), + offline: getIconPath('tray-offline.png'), error: getIconPath('tray-error.png'), }; diff --git a/src/main/index.ts b/src/main/index.ts index 4f9cecaab..4066c2ef9 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -5,6 +5,7 @@ import { type BrowserWindowConstructorOptions, globalShortcut, nativeTheme, + net, safeStorage, shell, } from 'electron'; @@ -151,6 +152,11 @@ app.whenReady().then(async () => { onMainEvent(EVENTS.UPDATE_ICON_COLOR, (_, notificationsCount: number) => { if (!mb.tray.isDestroyed()) { + if (!net.isOnline()) { + setOfflineIcon(); + return; + } + if (notificationsCount < 0) { setErrorIcon(); return; @@ -232,6 +238,10 @@ function setActiveIcon() { } } +function setOfflineIcon() { + mb.tray.setImage(TrayIcons.offline); +} + function setErrorIcon() { mb.tray.setImage(TrayIcons.error); }