22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
# RustBox UI
|
|
|
|
RustBox owns its browser interface under `src/web/`.
|
|
|
|
Design direction:
|
|
|
|
- mail-first three-pane layout: folders, message list, message reader;
|
|
- compact typography and spacing, small radii, flat surfaces and restrained color use;
|
|
- dark, light and system themes;
|
|
- compact/comfortable density, preview-pane position and UI scale preferences;
|
|
- a single embedded SVG icon sprite for interface actions;
|
|
- no CSS gradients and no Unicode pseudo-icons;
|
|
- HTML compose formatting, threaded reading, folder operations and ManageSieve filters.
|
|
|
|
The supplied RustProxy source was used as a reference for disciplined asset organization, modular CSS, compact typography and Cargo-driven UI assembly. RustBox does not depend on RustProxy at runtime and retains its own mail-oriented layout and components.
|
|
|
|
## Build
|
|
|
|
`build.rs` reads `src/web/css/manifest.txt`, concatenates the CSS modules in the declared order and writes the bundle to Cargo `OUT_DIR`. `src/ui.rs` embeds that bundle together with `index.html`, `app.js` and `icons.svg` into the RustBox executable.
|
|
|
|
No Node.js, Bun, TypeScript, React or Next.js build step exists.
|