Redesign Disks section: group datasets under a shared pool header
Problem
The current Disks UI shows each dataset as an independent card with identical pool-level storage numbers (size, used, free, progress bar). In a shared ZFS pool with multiple datasets, this is misleading — it looks like each dataset has its own independent storage, when in reality they all share the same pool.
Solution
- Add a pool header showing the true shared storage stats: total size, progress bar, used size + percentage, free percentage
- Below the header, render each dataset as its own card with dataset-specific info: mode, clones, snapshots, size
- When a pool has no child datasets (e.g.
dblab_pool_01), suppress the redundant dataset name since the pool header already identifies it
Acceptance criteria
- Single-pool setup shows pool header + single card without repeated name
- Multi-dataset setup groups datasets under one pool header
- Storage stats on pool header match actual ZFS pool usage
- >80% disk usage warning displays correctly (only when at least one dataset is active)
-
Old
fileSystemAPI fallback still works - Empty pools array doesn't render a blank section