orbok_ui/lib.rs
1//! # orbok-ui
2//!
3//! The orbok GUI layer: snora 0.8 (iced 0.14) views, the navigation
4//! shell, and the typed i18n message catalog.
5//!
6//! Boundary rules (RFC-027):
7//! - this crate performs **no file-system access** and **no database
8//! access** — `orbok-app` loads data through backend services and
9//! hands plain view-model structs to these views;
10//! - every user-visible string goes through the [`i18n`] catalog
11//! (RFC-031): adding a [`i18n::Locale`] without translating every
12//! [`i18n::MessageKey`] is a compile error.
13
14/// Lucide icon font bytes — register with iced before launching the app.
15/// Re-exported from `snora::lucide`; no direct `lucide-icons` dep needed.
16pub use snora::lucide::LUCIDE_FONT_BYTES;
17
18pub mod i18n;
19pub mod notice;
20pub mod shell;
21pub mod state;
22pub mod views;
23
24#[cfg(test)]
25mod tests;
26
27pub use shell::OrbokApp;
28pub use state::{
29 AppState, IndexHealth, Message, NavGroup, SourceCard, ViewId, WizardFileCheck, WizardState,
30};