improvement: notify counter badge added to treatment and tasks tabs for upadted and edited cases.

This commit is contained in:
2026-07-13 17:44:44 +03:30
parent 547457d637
commit 2ad572f4c8
33 changed files with 908 additions and 31 deletions

View File

@@ -0,0 +1,31 @@
export type TabBadgeCounts = {
cases?: number;
tasks?: number;
treatment?: number;
};
export type LabCaseTabReadTarget = 'CASES' | 'TASKS' | 'TREATMENT';
const TAB_BADGES_CHANGED_EVENT = 'tab-badges-changed';
export function notifyTabBadgesChanged() {
window.dispatchEvent(new Event(TAB_BADGES_CHANGED_EVENT));
}
export function tabBadgesChangedEventName() {
return TAB_BADGES_CHANGED_EVENT;
}
export function tabFromPathname(pathname: string): LabCaseTabReadTarget | null {
if (pathname === '/cases' || pathname.startsWith('/cases/')) return 'CASES';
if (pathname === '/tasks' || pathname.startsWith('/tasks/')) return 'TASKS';
if (pathname === '/treatment' || pathname.startsWith('/treatment/')) return 'TREATMENT';
return null;
}
export function badgeCountForPath(counts: TabBadgeCounts, pathname: string): number {
if (pathname === '/cases' || pathname.startsWith('/cases/')) return counts.cases ?? 0;
if (pathname === '/tasks' || pathname.startsWith('/tasks/')) return counts.tasks ?? 0;
if (pathname === '/treatment' || pathname.startsWith('/treatment/')) return counts.treatment ?? 0;
return 0;
}