feat(dashboard): quiet card refresh, detail drawer, compact KPIs#100
Merged
Conversation
Soften widget borders (border/60) and add a subtle shadow-sm across all widget shells for a calmer, modern look. Radius, card fill and padding unchanged; theme tokens preserved.
Remove the descriptive subtitle line under each widget title (static descriptions and dynamic counts) for a cleaner, less cluttered look. Body stat labels are kept. Drop now-unused coverage calc in MfaCoverage.
Drop descriptions and boxed icons from the dashboard StatCards: label on the left, value on the right, single row. StatCard keeps an optional icon/description path so the report sections render unchanged.
Add a shared right-side DetailDrawer (portal, overlay, Esc/overlay close) driven by a generic payload (title, subtitle, variant, tags, fields). Wire clickable elements across 8 widgets: TopRiskyEmployees, BreachSourcesList, CriticalAlertsList, AlertsFeed (list rows) and DepartmentRisk, TopBreaches, SeverityDonut, DataTypeBreakdown (chart segments/bars). Each opens the drawer with that item's details.
Add GET /api/dashboard/detail/[kind]/[id] (employee, breach, alert), company-scoped via requireAuth, returning grouped detail: an employee's full breach records (exposed data, sources, malware, dates) and alerts; a breach's affected employees; an alert's employee and breach context. Extend the drawer with openRef(): it shows the row data instantly, then fetches and renders the rich grouped detail with a loading state. Wire the employee/breach/alert widgets to openRef; chart-only segments keep the static open().
Surface more analyst-relevant fields in the drawer: per breach record show exposed artifacts (cookies, autofill, wallet...) and the stealer-log machine id; add a Remediation group listing past actions and their status for employee and alert detail. Maps to dark-web monitoring practice of showing credential-type granularity, infected-endpoint signal and remediation state.
Drop title to text-sm, headings/values to text-xs and labels/subtitle to text-[11px] so the detail drawer reads denser.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan