Skip to content

P2-09c — Banned-IPs admin UI #277

Description

@bihius

Summary

Surface the banned-IP data exposed by the API in #276 in the admin panel, so operators can see and manually release bans without touching the HAProxy socket directly.

Scope

  • A dashboard StatCard (tone error/warning) showing the current banned-IP count, wired into use-dashboard-stats.ts and DashboardPage.tsx.
  • A dedicated banned-IPs list page: a SectionCard + DataTable (columns: IP, reason, banned-at, expires-at, an unban Button), following the filters+table+pagination pattern already used in LogsPage.tsx.
  • A use-banned-ips.ts data-fetching hook (mirroring use-logs.ts/use-vhosts.ts).
  • New route + nav entry (src/app/routes.ts, src/app/router.tsx, NavBar.tsx).
  • Frontend tests (Vitest + Testing Library) for the hook, the table, and the unban action.

Depends on

Related to #176

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions