Skip to content

fix(frontend): policy row click, Apply config visibility, logs layout density - #250

Merged
bihius merged 4 commits into
mainfrom
fix/frontend-ux-polish
Jun 25, 2026
Merged

bihius merged 4 commits into
mainfrom
fix/frontend-ux-polish

Conversation

@bihius

@bihius bihius commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Clicking anywhere on a policy row now navigates to its detail page; Edit/Delete buttons keep working via stopPropagation.
  • The "Apply config" button is hidden when the generated config checksum already matches the last applied checksum, instead of always showing for admins.
  • The Logs page filters are now a collapsible panel behind a "Filters" toggle next to the Events card title (with an active-filter-count badge), replacing the full-width Filters card that consumed over half the viewport at 1920x1080.

Addresses the frontend UX issues from the policy-row-navigation / Apply-config-visibility / logs-page-density triage (no tracked GitHub issues exist for these yet).

Test plan

  • pnpm run type-check and pnpm run lint pass
  • pnpm run test — 83/83 tests pass, including new coverage for the no-pending-changes/not-loaded states and the filters toggle/badge
  • Manually verified on a running instance at 1920x1080: policy row click navigates to /policies/:id, Logs page header+Events card fit well above the fold, Filters toggle expands/collapses the panel

@bihius
bihius marked this pull request as ready for review June 24, 2026 04:47
bihius added 4 commits June 24, 2026 06:56
Only the name link opened the policy detail page; the rest of the row
was inert despite looking clickable. Wire DataTable's onRowClick to
navigate to the policy detail route, keeping the Edit/Delete action
buttons working via stopPropagation.
ApplyConfigButton only gated on the admin role, so it stayed visible
even when the generated config matched the last applied checksum.
Compare generated_config.checksum against latest_reload.config_checksum
and render nothing when they match or the runtime status hasn't loaded
yet.
The standalone Filters card and the page header together consumed
over half of a 1920x1080 viewport before any events were visible.
Move the filter controls into a collapsible panel behind a "Filters"
toggle next to the Events card title, with a badge showing the active
filter count, and reduce the page's vertical spacing.
… filters

The null-typed rule_id/min_score filters were miscounted as active by
the generic value !== "" check, inflating the Filters badge.
@bihius
bihius force-pushed the fix/frontend-ux-polish branch from 00b09e1 to 47d2a32 Compare June 24, 2026 05:01
@bihius
bihius merged commit fd2c57a into main Jun 25, 2026
3 checks passed
bihius added a commit that referenced this pull request Jul 3, 2026
fix(frontend): policy row click, Apply config visibility, logs layout density
@bihius
bihius deleted the fix/frontend-ux-polish branch July 15, 2026 04:57
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