# hawk_ex_dashboard v0.1.0 - Table of Contents

> LiveView dashboard for HAWK_EX — billing, audit, and CSV monitoring

## Modules

- [HawkExDashboard](HawkExDashboard.md): HAWK_EX Dashboard — LiveView developer tools for HAWK_EX.
- [HawkExDashboard.AuditLive](HawkExDashboard.AuditLive.md): The full audit log browser. Paginated, searchable (by action), sortable
table of every `HawkEx.Audit` entry, with actor, resource, and timestamp
columns.
- [HawkExDashboard.BillingLive](HawkExDashboard.BillingLive.md): Plans and active subscriptions. Lists every `HawkEx.Billing.Plan` and a
paginated, searchable, sortable table of `HawkEx.Billing.Subscription`
records. Clicking an account id opens a detail drawer for that
subscription, addressable via the `?modal=<id>` query param so it can be
linked to directly (e.g. from the command palette).
- [HawkExDashboard.CommandPaletteLive](HawkExDashboard.CommandPaletteLive.md): The `⌘K` / `Ctrl+K` command palette, mounted once inside the dashboard's
shared app layout so it's available from every page. A debounced search
(2+ characters) fans out to
`HawkEx.Billing.search_subscriptions/2`, `HawkEx.Audit.search/2`, and
`HawkEx.CSV.search_exports/2`, showing up to 4 results from each.
- [HawkExDashboard.ConfigLive](HawkExDashboard.ConfigLive.md): A read-only snapshot of the current `HawkEx.Config` — repo, account
schema, PubSub, Oban, and CSV storage adapter — useful for confirming a
deployment is wired up as expected. Never raises: unconfigured values
render as "Not set".
- [HawkExDashboard.ConfigRow](HawkExDashboard.ConfigRow.md): A single label/value row for the read-only configuration listing on the
Configuration page (`HawkExDashboard.ConfigLive`). Rendered inside a `<dl>`
as a `<dt>`/`<dd>` pair.

- [HawkExDashboard.CsvLive](HawkExDashboard.CsvLive.md): CSV export job status. Paginated, searchable table of
`HawkEx.CSV.Export` records, with a download link for any export whose
status is `"completed"` (served by the dashboard's own download
controller).
- [HawkExDashboard.EmptyState](HawkExDashboard.EmptyState.md): Placeholder shown in place of a table or panel when a data load has
finished but returned nothing — an icon, a short title, and a supporting
message. Used by `HawkExDashboard.Table` for its empty-results state.

- [HawkExDashboard.EntitlementsLive](HawkExDashboard.EntitlementsLive.md): The plan x feature entitlement matrix, sourced from
`HawkEx.Entitlements.matrix/0`. Renders one column per active plan and
one row per feature, with boolean- and limit-aware cell rendering.
- [HawkExDashboard.ErrorState](HawkExDashboard.ErrorState.md): Placeholder shown in place of a table or panel when a data load fails.
Renders the error message alongside a "Retry" button that emits the
`"table_retry"` event, handled by the `HawkExDashboard.PaginatedSearch`
`handle_event/3` clause injected into the parent LiveView.

- [HawkExDashboard.EventsLive](HawkExDashboard.EventsLive.md): A live-updating feed of `HawkEx.Events` broadcasts (subscription, audit,
and CSV export events) received over the host application's configured
PubSub. Supports pausing the feed — buffering a "N new" count without
rendering — and filtering by event name prefix (`subscription`, `csv`,
`audit`, or `all`).
- [HawkExDashboard.Formatters](HawkExDashboard.Formatters.md): Shared formatting helpers for displaying data across dashboard pages.

- [HawkExDashboard.HTML](HawkExDashboard.HTML.md): Shared imports/aliases for all HawkExDashboard LiveViews and
function components. Use this instead of `use Phoenix.Component`
directly, so CoreComponents (icon/1, etc.) and Nav are always
available without per-file imports.

- [HawkExDashboard.OverviewLive](HawkExDashboard.OverviewLive.md): The dashboard's landing page. Shows a paginated, searchable, sortable
table of recent activity pulled from `HawkEx.Audit.recent/1` — the same
audit log that backs `HawkExDashboard.AuditLive`, trimmed down here as an
at-a-glance feed.
- [HawkExDashboard.PageHeading](HawkExDashboard.PageHeading.md): The page-level `<h1>` heading used at the top of every dashboard screen.

- [HawkExDashboard.PaginatedSearch](HawkExDashboard.PaginatedSearch.md): Shared pagination + search behavior for LiveViews using the
HawkExDashboard.Table component with URL-backed page/search state.
- [HawkExDashboard.PlanCard](HawkExDashboard.PlanCard.md): A compact summary card for a single `HawkEx.Billing.Plan` — display name,
status badge, and trial length. Used in the plan list at the top of the
Billing page (`HawkExDashboard.BillingLive`).

- [HawkExDashboard.Router](HawkExDashboard.Router.md): Router integration for HAWK_EX Dashboard.
- [HawkExDashboard.Table](HawkExDashboard.Table.md): Shared table shell per design spec §5 — search, sort, pagination,
loading/empty/error states. All state (search query, current page,
sort column) is owned by the parent LiveView and passed in as
assigns; this component only renders and emits events.
- [HawkExDashboard.UsageCard](HawkExDashboard.UsageCard.md): Renders a single entitlement on the Usage page
(`HawkExDashboard.UsageLive`). Dispatches on `feature.feature_type` to
show a boolean "included" badge, a numeric/unlimited plan limit, or a
plain fallback for any other feature type.

- [HawkExDashboard.UsageLive](HawkExDashboard.UsageLive.md): Per-account usage lookup. Lists distinct account ids with an active or
trialing subscription, and shows the selected account's current plan and
entitlement values via `HawkEx.Entitlements.for_account/1`.
- [HawkExDev.App](HawkExDev.App.md)
- [HawkExDev.Endpoint](HawkExDev.Endpoint.md)
- [HawkExDev.ErrorHTML](HawkExDev.ErrorHTML.md)
- [HawkExDev.FakeAccount](HawkExDev.FakeAccount.md)
- [HawkExDev.PageController](HawkExDev.PageController.md)
- [HawkExDev.Repo](HawkExDev.Repo.md)
- [HawkExDev.Router](HawkExDev.Router.md)

