added auto updating of themes

This commit is contained in:
SethBurkart123
2024-04-07 17:19:14 +10:00
parent 801e97e6ff
commit 438f52f29c
4 changed files with 44 additions and 12 deletions
+10
View File
@@ -93,6 +93,16 @@ browser.runtime.onMessage.addListener((request: any, _sender: any, sendResponse:
reloadSeqtaPages(); reloadSeqtaPages();
break; break;
case 'extensionPages':
browser.tabs.query({}).then(function (tabs) {
for (let tab of tabs) {
if (tab.url?.includes('chrome-extension://')) {
browser.tabs.sendMessage(tab.id!, request);
}
}
});
break;
case 'currentTab': case 'currentTab':
browser.tabs.query({ active: true, currentWindow: true }).then(function (tabs) { browser.tabs.query({ active: true, currentWindow: true }).then(function (tabs) {
browser.tabs.sendMessage(tabs[0].id!, request).then(function (response) { browser.tabs.sendMessage(tabs[0].id!, request).then(function (response) {
@@ -31,6 +31,26 @@ const ThemeSelector: ForwardRefExoticComponent<Omit<ThemeSelectorProps, "ref"> &
})); }));
useEffect(() => { useEffect(() => {
const handleThemeChange = async () => {
await new Promise((resolve) => setTimeout(resolve, 500));
fetchThemes();
};
Browser.runtime.onMessage.addListener((message) => {
if (message.info === 'themeChanged') {
handleThemeChange();
}
});
return () => {
Browser.runtime.onMessage.removeListener((message) => {
if (message.info === 'themeChanged') {
handleThemeChange();
}
});
};
}, []);
const fetchThemes = async () => { const fetchThemes = async () => {
try { try {
const { themes, selectedTheme } = await listThemes(); const { themes, selectedTheme } = await listThemes();
@@ -44,6 +64,7 @@ const ThemeSelector: ForwardRefExoticComponent<Omit<ThemeSelectorProps, "ref"> &
} }
}; };
useEffect(() => {
fetchThemes(); fetchThemes();
}, []); }, []);
+1
View File
@@ -112,6 +112,7 @@ export const sendThemeUpdate = (updatedTheme: CustomTheme, saveTheme?: boolean,
if (saveTheme) { if (saveTheme) {
browser.runtime.sendMessage({ type: 'currentTab', info: 'CloseThemeCreator' }); browser.runtime.sendMessage({ type: 'currentTab', info: 'CloseThemeCreator' });
browser.runtime.sendMessage({ type: 'extensionPages', info: 'themeChanged' });
} }
}); });
}; };
+1 -1
View File
@@ -87,7 +87,7 @@ export class MessageHandler {
break; break;
default: default:
console.log('Unknown request info:', request.info); console.debug('Unknown request info:', request.info);
} }
} }