SIGN IN SIGN UP

feat(settings): fold the notification and sound sections on the General tab

Settings → General opened with every knob of both notification sections on
screen — a permission card, a delivery gate, six event switches, a volume
slider and five tone pickers — which is more page than anyone can scan to
reach the sections below them. Both now arrive folded whatever their master
switch says, and `SettingsSection` grew the disclosure grammar the appearance
tab's custom-style block already uses: a chevron on the heading, and a
hairline under it once open.

The whole heading row folds it, not just the title. The button still has to
sit inside the `h2` — `role=button` flattens its descendants, which would drop
the section out of the page's heading list — so it stretches its hit area, and
its focus ring, across the row with `before:inset-0`, and the control beside it
is positioned to stay above that overlay. Hover is painted from the trigger
rather than from the row, so pointing at the master switch leaves the row
plain: clicking there folds nothing.

Turning a section on unfolds it in the same gesture, since asking for the
feature is asking to see it; arriving at the tab never does. A master switch
that gates every child leaves nothing to disclose, so the section falls back
to the plain heading line it already was rather than offering a chevron that
opens onto an empty box — and the wrapper stays mounted across that change,
because rebuilding the header drops keyboard focus from the switch mid-toggle.

The desktop section also stops claiming its delivering identity from the
backend until it is actually unfolded, which is what its own comment always
said it did.
X
xintaofei committed
8f8acc5e1c31d57f3c82abfc4b3aae069bbc3878
Parent: 93892a0