50 lines
2.4 KiB
Markdown
50 lines
2.4 KiB
Markdown
# SnowLuma WebUI
|
|
|
|
SnowLuma's browser console is a Vite + React application for managing runtime
|
|
status, OneBot configuration, logs, storage, and server settings.
|
|
|
|
## Interaction conventions
|
|
|
|
- Destructive actions and second confirmations stay in modal dialogs.
|
|
- Operations that may take time show a bottom-right running state.
|
|
- Completed and failed operations use bottom-right result notices that close
|
|
automatically after a visible countdown.
|
|
- Routine, high-frequency adjustments should not generate a notice for every
|
|
intermediate edit.
|
|
- Data-backed surfaces use the Interior Skeleton Swap defaults (120 ms delay,
|
|
380 ms minimum visibility) so fast local responses do not flash a placeholder.
|
|
Submission, upload, and other explicit operation progress keeps its spinner.
|
|
- Variable-height content must release the skeleton's reserved box after it is
|
|
ready; do not introduce a second scrolling region inside the page.
|
|
- The mobile navigation menu uses a controlled Icon Morph whose visual state
|
|
follows the actual drawer state.
|
|
- Failures must remain visible in the affected control and in the operation
|
|
result; do not convert failed responses into successful feedback.
|
|
- JSON endpoints must return an object. Malformed or non-object responses are
|
|
reported as errors rather than displayed as empty lists or default settings.
|
|
- Password change flows use floating labels and inline validation consistently.
|
|
- Password strength details appear only while the new-password field has focus
|
|
and leave with the same motion language when focus moves away.
|
|
- The first-run wizard keeps agreement text as the primary reading surface and
|
|
aligns each step's actions inside one responsive footer. Settings includes a
|
|
visible developer page for safely replaying this wizard and exercising the
|
|
page-level crash screen; replayed consent and passwords are never persisted.
|
|
|
|
## Local development
|
|
|
|
On Windows, the native API logs the process token and EXE integrity label once
|
|
at startup. A Low (or lower) token triggers a WebUI warning; file labels and
|
|
query failures alone do not. “临时关闭” lasts for the tab session, including
|
|
reloads; “永久关闭” persists in this browser's site storage. Neither suppresses
|
|
startup logs. Failed queries and preference writes remain visible.
|
|
|
|
From the repository root:
|
|
|
|
```bash
|
|
pnpm --filter webui dev
|
|
pnpm --filter webui typecheck
|
|
pnpm --filter webui lint
|
|
pnpm --filter webui test
|
|
pnpm --filter webui build
|
|
```
|