From ea13b5b98cac24e47a21d3bc75508904f8c95951 Mon Sep 17 00:00:00 2001 From: "ahmed.mujtaba" Date: Thu, 10 Sep 2026 18:50:19 +0500 Subject: [PATCH] hover --- frontend/src/screens/Inbox.jsx | 17 ++++++++++++++++- frontend/src/ui/Tabs.jsx | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/frontend/src/screens/Inbox.jsx b/frontend/src/screens/Inbox.jsx index 08b863c..0a62da1 100644 --- a/frontend/src/screens/Inbox.jsx +++ b/frontend/src/screens/Inbox.jsx @@ -40,6 +40,20 @@ import { const TABS = ['All Applications', 'Suggested Match', 'Unread', 'Processed', 'On-Hold', 'Rejected', 'Duplicates'] /** Sheet Forms have no mailbox read state — no Unread tab on that channel. */ const FORM_TABS = ['All Applications', 'Suggested Match', 'Processed', 'On-Hold', 'Rejected', 'Duplicates'] +const TAB_HINTS = { + 'All Applications': 'Every application in this channel', + 'Suggested Match': 'Matcher found at least one job', + Unread: 'Email not marked read yet', + Processed: 'Recruiter imported or shortlisted', + 'On-Hold': 'No suggested job found', + Rejected: 'Recruiter rejected from the inbox', + Duplicates: 'Flagged duplicates and reapplicants', +} +const CHANNEL_HINTS = { + all: 'Email and forms together', + email: 'Outlook applications with a resume', + forms: 'Google Form applicants', +} /** Inbox GET `top` / sheet GET `limit` both cap at 500. */ const PAGE_SIZE_MAX = 500 @@ -1906,6 +1920,7 @@ export default function Inbox() { role="tab" aria-selected={channel === c.key} className={`pill-tab${channel === c.key ? ' active' : ''}`} + data-tip={CHANNEL_HINTS[c.key]} onClick={() => switchChannel(c.key)} > {c.label} @@ -1940,7 +1955,7 @@ export default function Inbox() { setSelectedId(null) selection.clear() }} - tabs={channelTabs.map((t) => ({ key: t, label: t, count: counts[t] }))} + tabs={channelTabs.map((t) => ({ key: t, label: t, count: counts[t], title: TAB_HINTS[t] }))} /> diff --git a/frontend/src/ui/Tabs.jsx b/frontend/src/ui/Tabs.jsx index cadaad2..1e4f743 100644 --- a/frontend/src/ui/Tabs.jsx +++ b/frontend/src/ui/Tabs.jsx @@ -49,6 +49,7 @@ export function Tabs({ tabs, value, onChange, className = 'tabs', idBase }) { aria-controls={`${base}-panel-${i}`} tabIndex={active ? 0 : -1} className={`tab${active ? ' active' : ''}`} + data-tip={t.title || undefined} onClick={() => onChange(key)} > {label}{t.count != null && typeof t.count !== 'object' && (