No description
- JavaScript 71.1%
- CSS 17.3%
- HTML 11.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| src | ||
| static | ||
| vendor | ||
| .gitignore | ||
| bun.lock | ||
| index.html | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| styles.css | ||
| tsconfig.json | ||
| types.d.ts | ||
unimo web-app
Trivial vanilla web UI for unimo — teff (styling) + uhtml (rendering) + the unimo TS SDK. No bundler; the browser runs the source directly via an import map.
Run
- Start the gateway. Default expected origin is
http://localhost:8787(set inconfig.js). Note: this is the origin — the SDK appends/api/...itself. - Install dev deps (types + typecheck only, not bundled):
npm install - Serve statically over
localhost(WebCrypto needs https or localhost — notfile://):npm run serve(orpython3 -m http.server 5173) - Open http://localhost:5173.
Typecheck
npm run typecheck — tsc --noEmit against the JS (// @ts-check + JSDoc).
Layout
index.html— import map + teff +<app-root>entry.app.js— boot, session restore, view swap.lib/—util,seed-store(device-seed persistence),drive(KV index + blob up/download).components/—auth-view,dashboard-view,drop-zone(light-DOM custom elements).vendor/— teff + the SDK bundle (and its.d.mts). uhtml loads from jsdelivr.
Notes / roadmap
- Runtime deps: teff + SDK are vendored; uhtml loads from a pinned jsdelivr URL.
Once
unimo-sdk-tsis published, point the import map at the npm/CDN URL and dropvendor/unimo-client.*. - M1 (current): the device seed is stored in localStorage (plaintext). End-to-end register / login / upload / download / delete with a synced file index.
- M2: WebAuthn-PRF–wrapped seed behind the same
lib/seed-store.jsinterface (localStorage = fallback). - M3: recovery export/import polish, logout safety, error/empty states, responsive polish.
- Folders/VFS are out of scope — the SDK's VFS collection is not implemented yet.