//! Navigation surfaces: nav menu, footer, theme toggle, language selector.
//!
//! Every component here is stateless — caller passes in the resolved menu
//! items, current language, and current theme. State changes are submitted to
//! `/api/htmx/{theme,lang}/*` endpoints which return the new fragment(s) +
//! any OOB swaps needed (e.g. `<html class>` update).

mod footer;
mod lang_selector;
mod nav_menu;
mod theme_toggle;

pub use footer::{render_footer, render_footer_with_config, FooterConfig};
pub use lang_selector::render_lang_selector;
pub use nav_menu::{render_nav_menu, NavItem};
pub use theme_toggle::{render_theme_toggle, Theme};
