Console for BNet shared services
- Svelte 65.3%
- Rust 17.3%
- TypeScript 11.7%
- CSS 3%
- Nix 1.3%
- Other 1.4%
Replace the per-zone card layout with one shadcn table: sortable columns, zones as collapsible parent rows with subdomain tree guides, virtual parent grouping for orphan subdomains (bentley.sh style), and a click-to-assign node cell that drives the reassign dialog. Verification state moves inline — check for verified, warning icon for pending that opens a popover with copyable TXT instructions and an inline verify button. Backend now 403s when a non-admin user has no matched headscale_user_id instead of silently returning everyone's domains. Chrome consolidates: sidebar is md+-only with a hamburger-triggered sheet below, and each page owns its top bar via a shared AppHeader component that puts the page title on the left, toolbar actions centered, and an account dropdown on the right. The dropdown shows an avatar sourced from the OIDC `picture` claim with an initials fallback. |
||
|---|---|---|
| frontend | ||
| src | ||
| .env.example | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| process-compose.yaml | ||