Add dashboard IPs/restart/connections, SMB read-only and recycle bin

Dashboard:
- Server IPs card showing all non-loopback IPv4 interfaces
- Restart buttons next to smbd/nfsd status dots (POST /api/service/<name>/restart)
- Active SMB connections table (smbstatus -b parsed in backend)

SMB edit modal:
- Read only toggle (writable vs read only in smb.conf)
- Recycle Bin toggle (vfs objects = recycle, files go to .recycle folder)

Docs: PLANNING.md phase 3.5, README recycle bin + read-only, CLAUDE.md JS overview

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Sonnet 4.6 committed 2026-06-20 01:13:32 +02:00
1 parent 1810d60d21
commit 1be6a05cef
7 files changed
+171 -21

No files matched your search

+4 -5
View File
@@ -14,11 +14,10 @@ daemons. Home/LAN use only.
- `templates/login.html` — login form.
- `static/css/app.css` — custom dark theme (GitHub-palette CSS variables).
- `static/js/utils.js` — shared helpers: `esc()`, `showToast()`, `apiFetch()`.
- `static/js/dashboard.js` — dashboard data loading.
- `static/js/shares.js` — SMB/NFS CRUD (create, edit, delete, toggle).
- `static/js/quotas.js` — quota modal logic.
- `static/js/users.js` — user CRUD + password modal.
- `static/js/main.js` — page init and 30 s auto-refresh.
- `static/js/dashboard.js` — dashboard: status, IPs, shares, active connections, restart buttons.
- `static/js/shares.js` — SMB/NFS CRUD (create, edit, delete, toggle). Edit modal is async (fetches users+groups for dropdowns).
- `static/js/users.js` — user CRUD + password modal + group management (loadGroups, createGroup, addMember, removeMember). Caches user list in `_cachedUsers` for group table.
- `static/js/main.js` — page init and 30 s auto-refresh (calls loadDashboard, loadShares, loadUsers, loadGroups).
- `micronas.service` — systemd unit (gunicorn, reads `/etc/micronas.env`).
## How it runs