reinhardt_admin/lib.rs
1//! # reinhardt-admin
2//!
3//! Admin functionality for Reinhardt framework.
4//!
5//! This crate serves as a workspace for admin-related functionality:
6//! - **types**: Shared type definitions for admin API
7//! - **api**: Backend JSON API for admin panel
8//! - **ui**: WASM-based admin panel UI (Dominator + futures-signals)
9//!
10//! ## Features
11//!
12//! - `default`: No features enabled by default
13//! - `all`: All admin functionality
14//!
15//! ## Examples
16//!
17//! See individual subcrates for usage examples:
18//! - `reinhardt-admin-types` - Type definitions
19//! - `reinhardt-admin-api` - Backend API
20//! - `reinhardt-admin-ui` - Frontend UI
21
22#![cfg_attr(docsrs, feature(doc_cfg))]
23
24pub mod adapters;
25pub mod core;
26pub mod pages;
27pub mod server;
28pub mod types;
29
30// Register admin static files for auto-discovery by collectstatic
31#[cfg(not(target_arch = "wasm32"))]
32const _: () = {
33 /// Path to WASM build artifacts directory
34 const ADMIN_STATIC_DIR: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/crates/pages/dist");
35
36 // Register at compile time using inventory
37 reinhardt_apps::register_app_static_files!("admin", ADMIN_STATIC_DIR, "/static/admin/");
38};