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.
15pub use lucide_icons::LUCIDE_FONT_BYTES;
16
17pub mod i18n;
18pub mod shell;
19pub mod state;
20pub mod views;
21
22#[cfg(test)]
23mod tests;
24
25pub use shell::OrbokApp;
26pub use state::{AppState, IndexHealth, Message, NavGroup, SourceCard, ViewId, WizardFileCheck, WizardState};