Skip to content

feat(dashboard): quiet card refresh, detail drawer, compact KPIs#100

Merged
WhiteMuush merged 8 commits into
mainfrom
feat/widget-quiet-card
Jun 29, 2026
Merged

feat(dashboard): quiet card refresh, detail drawer, compact KPIs#100
WhiteMuush merged 8 commits into
mainfrom
feat/widget-quiet-card

Conversation

@WhiteMuush

Copy link
Copy Markdown
Owner

Summary

  • Quiet card refresh for widget shells, drop redundant subtitles
  • Compact KPI cards (label left, value right)
  • Click widget elements to open a detail drawer
  • Drawer fetches rich entity detail: artifacts, machine id, remediation
  • Reduce drawer font sizes
  • Seed breach records with artifacts and sources

Test plan

  • Dashboard widgets render quiet card style
  • Clicking widget element opens drawer with rich detail
  • Seed runs without error

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.
@WhiteMuush WhiteMuush merged commit d1bbee2 into main Jun 29, 2026
11 checks passed
@WhiteMuush WhiteMuush deleted the feat/widget-quiet-card branch June 29, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant