The Settings page is a stack of collapsible cards, each remembering its own open/closed state in localStorage. As more modules add settings panels, the page gets long. Add a Collapse-all (and Expand-all) control in the Settings header so the whole stack can be folded/unfolded at once.
Approach: broadcast a window event that each CollapsibleCard listens for and applies (setting + persisting its per-title state), keeping the existing per-card localStorage pattern.
The Settings page is a stack of collapsible cards, each remembering its own open/closed state in localStorage. As more modules add settings panels, the page gets long. Add a Collapse-all (and Expand-all) control in the Settings header so the whole stack can be folded/unfolded at once.
Approach: broadcast a window event that each
CollapsibleCardlistens for and applies (setting + persisting its per-title state), keeping the existing per-card localStorage pattern.