//! Per-page HTMX fragment handlers. Each page returns a chunk of HTML that
//! the dashboard shell drops into `#main`. Filled in across M5b/M5c.

pub mod address_books;
pub mod audit;
pub mod connect;
pub mod customization;
pub mod deploy;
pub mod devices;
pub mod groups;
pub mod oidc;
pub mod profile;
pub mod recordings;
pub mod shared;
pub mod strategies;
pub mod users;

use axum::response::Html;

/// Tiny placeholder fragment — replaced by the real page handlers in M5b.
pub fn placeholder(title: &str) -> Html<String> {
    Html(format!(
        r##"<div class="space-y-2">
  <h2 class="text-lg font-semibold">{title}</h2>
  <p class="text-slate-400 text-sm">This page is part of M5b — the dashboard shell, login, and per-page navigation are wired in M5a; the actual table + form for <strong>{title}</strong> lands in the next slice.</p>
</div>"##
    ))
}
