Skip to content

Expand all / Collapse all toggle should reflect the actual section state in Course Outline #521

Description

@amnausman2002

Type of Request

Fast Track Change (small, low-risk improvements)

Feature Description

TL;DR

The Expand all / Collapse all button only updates its label when the button itself is clicked. When a user expands or collapses sections individually, the label stops matching the real state of the page — e.g. every section is collapsed but the button still reads "Collapse all."

Proposal: the toggle should always reflect the current aggregate state of the sections, not just the last button click. This is a interaction design change, not a visual design one.

Current behavior

  1. Click Collapse all → all sections collapse and the button flips to Expand all (and vice versa).
  2. If you then expand/collapse sections one at a time, the button label does not update.
  3. You can end up with every section collapsed while the button still says "Collapse all" (or everything expanded while it still says "Expand all"). The label tracks the last button click, not the actual state.

Expected behavior

The label should always describe the action available for the current state, and update live as the user toggles individual sections:

  • All sections expanded → button reads Collapse all
  • Otherwise → button reads Expand all

Edge case: mixed state

When some sections are expanded and some collapsed, recommend defaulting to the current state — i.e. only show "Collapse all" if "Collapse all" was the state the user chose initially.

Scope

Small, low-risk. Label logic bound to section-level expand/collapse state.

References

Link to Product Proposal

No response

Status

New

Proposed By

Nurture at Arbisoft

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions