| | import { useEffect } from 'react'; |
| | import { useGetQueueStatusQuery } from 'services/api/endpoints/queue'; |
| |
|
| | const baseTitle = document.title; |
| | const invokeLogoSVG = 'assets/images/invoke-favicon.svg'; |
| | const invokeAlertLogoSVG = 'assets/images/invoke-alert-favicon.svg'; |
| |
|
| | |
| | |
| | |
| | |
| | export const useSyncQueueStatus = () => { |
| | const { queueSize } = useGetQueueStatusQuery(undefined, { |
| | selectFromResult: (res) => ({ |
| | queueSize: res.data ? res.data.queue.pending + res.data.queue.in_progress : 0, |
| | }), |
| | }); |
| | useEffect(() => { |
| | document.title = queueSize > 0 ? `(${queueSize}) ${baseTitle}` : baseTitle; |
| | const faviconEl = document.getElementById('invoke-favicon'); |
| | if (faviconEl instanceof HTMLLinkElement) { |
| | faviconEl.href = queueSize > 0 ? invokeAlertLogoSVG : invokeLogoSVG; |
| | } |
| | }, [queueSize]); |
| | }; |
| |
|