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

+14 -1
View File
@@ -89,7 +89,20 @@ MicroNAS/
- [x] Status indicator per share row (green/red dot, reduced opacity when
disabled).
### Phase 4 — Nice-to-have
### Phase 3.5 — Share & dashboard polish ✅
- [x] **Permission editor in edit modal** — owner, group, chmod mode per share
folder. Owner/Group are dropdowns from live system users/groups.
- [x] **Group management** — create/delete groups, add/remove members. Users tab.
- [x] **SMB extra settings** — force user, force group, guest ok, read only,
recycle bin (vfs objects = recycle, files go to .recycle inside share).
- [x] **NFS extra settings** — no_root_squash, all_squash toggles.
- [x] **Server IPs on dashboard** — shows all non-loopback IPv4 addresses.
- [x] **Service restart buttons** — restart smbd / nfsd from the dashboard.
- [x] **Active SMB connections** — live table on dashboard via smbstatus.
- [x] **Delete confirmation modal** — replaces browser confirm().
- [x] **Auto-refresh countdown** — 30 s timer with live seconds display.
### Phase 4 — WebDAV + extras
- [ ] **WebDAV** support. Preferred approach: drop an Apache/nginx config
snippet — don't build it in Flask.
- [ ] Simple in-browser file browser for `/srv`.