mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
update browser extension badge unread count
This commit is contained in:
@@ -12,6 +12,7 @@ import { categoryUnreadCount } from "app/utils"
|
|||||||
import { ErrorBoundary } from "components/ErrorBoundary"
|
import { ErrorBoundary } from "components/ErrorBoundary"
|
||||||
import { Header } from "components/header/Header"
|
import { Header } from "components/header/Header"
|
||||||
import { Tree } from "components/sidebar/Tree"
|
import { Tree } from "components/sidebar/Tree"
|
||||||
|
import { useBrowserExtension } from "hooks/useBrowserExtension"
|
||||||
import { useI18n } from "i18n"
|
import { useI18n } from "i18n"
|
||||||
import { AdminUsersPage } from "pages/admin/AdminUsersPage"
|
import { AdminUsersPage } from "pages/admin/AdminUsersPage"
|
||||||
import { MetricsPage } from "pages/admin/MetricsPage"
|
import { MetricsPage } from "pages/admin/MetricsPage"
|
||||||
@@ -141,6 +142,18 @@ function FaviconHandler() {
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function BrowserExtensionBadgeUnreadCountHandler() {
|
||||||
|
const root = useAppSelector(state => state.tree.rootCategory)
|
||||||
|
const { setBadgeUnreadCount } = useBrowserExtension()
|
||||||
|
useEffect(() => {
|
||||||
|
if (!root) return
|
||||||
|
const unreadCount = categoryUnreadCount(root)
|
||||||
|
setBadgeUnreadCount(unreadCount)
|
||||||
|
}, [root, setBadgeUnreadCount])
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
export function App() {
|
export function App() {
|
||||||
useI18n()
|
useI18n()
|
||||||
const dispatch = useAppDispatch()
|
const dispatch = useAppDispatch()
|
||||||
@@ -153,6 +166,7 @@ export function App() {
|
|||||||
<Providers>
|
<Providers>
|
||||||
<>
|
<>
|
||||||
<FaviconHandler />
|
<FaviconHandler />
|
||||||
|
<BrowserExtensionBadgeUnreadCountHandler />
|
||||||
<HashRouter>
|
<HashRouter>
|
||||||
<GoogleAnalyticsHandler />
|
<GoogleAnalyticsHandler />
|
||||||
<RedirectHandler />
|
<RedirectHandler />
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ export const useBrowserExtension = () => {
|
|||||||
const openSettingsPage = () => w.postMessage("open-settings-page", "*")
|
const openSettingsPage = () => w.postMessage("open-settings-page", "*")
|
||||||
const openAppInNewTab = () => w.postMessage("open-app-in-new-tab", "*")
|
const openAppInNewTab = () => w.postMessage("open-app-in-new-tab", "*")
|
||||||
const openLinkInBackgroundTab = (url: string) => w.postMessage(`open-link-in-background-tab:${url}`, "*")
|
const openLinkInBackgroundTab = (url: string) => w.postMessage(`open-link-in-background-tab:${url}`, "*")
|
||||||
|
const setBadgeUnreadCount = (count: number) => w.postMessage(`set-badge-unread-count:${count}`, "*")
|
||||||
|
|
||||||
return {
|
return {
|
||||||
browserExtensionVersion,
|
browserExtensionVersion,
|
||||||
@@ -40,5 +41,6 @@ export const useBrowserExtension = () => {
|
|||||||
openSettingsPage,
|
openSettingsPage,
|
||||||
openAppInNewTab,
|
openAppInNewTab,
|
||||||
openLinkInBackgroundTab,
|
openLinkInBackgroundTab,
|
||||||
|
setBadgeUnreadCount,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user