🏷️ Search for custom tailnet name offers with keywords.
at master 30 lines 1.1 kB view raw
1import { badgeColors } from '$config'; 2import { log } from '$helpers/logging'; 3import type { Token } from '$types/tokens'; 4 5export const updateBadgeText = async () => { 6 try { 7 const result = await browser.storage.local.get(['tailscaleTokens']); 8 const tokens: Token[] = Array.isArray(result.tailscaleTokens) 9 ? result.tailscaleTokens 10 : []; 11 const validTokens = tokens.filter((t) => t?.token); 12 const count = validTokens.length; 13 14 const badgeText = count > 0 ? count.toString() : '0'; 15 const badgeColor = count > 0 ? badgeColors.active : badgeColors.inactive; 16 17 if (browser.action) { 18 await browser.action.setBadgeText({ text: badgeText }); 19 await browser.action.setBadgeBackgroundColor({ color: badgeColor }); 20 } else if (browser.browserAction) { 21 await browser.browserAction.setBadgeText({ text: badgeText }); 22 await browser.browserAction.setBadgeBackgroundColor({ 23 color: badgeColor, 24 }); 25 } 26 } catch (error) { 27 const errMsg = error instanceof Error ? error.message : 'Unknown error'; 28 log(`Failed to update badge text: ${errMsg}`); 29 } 30};