2.5 KiB
Favorites Organization Specification
Purpose
Chip-filtered flat list replacing stacked per-group panels, drag-to-reorder, the sort action, and group management surfaced from Favoritos. Traceable to WU4.
Requirements
Requirement: Chip-Filtered Flat List
Favoritos MUST render horizontally-scrollable group filter chips (e.g. "Todas · N", one per favorite group) and a single flat list of favorite stations filtered by the active chip, replacing the current stacked per-group panel layout.
Scenario: Selecting a group chip filters the list
- GIVEN 2 or more favorite groups exist, each with members
- WHEN the user selects a specific group's chip
- THEN the flat list shows only that group's member stations
Scenario: "Todas" chip shows every favorite
- GIVEN the user has favorites across multiple groups
- WHEN the "Todas" chip is active
- THEN the flat list shows every favorite station regardless of group
Requirement: Drag-to-Reorder Within the Active Filter
The user MUST be able to reorder favorite stations within the currently active filter via a drag handle. The new order MUST persist across app restarts.
Scenario: Reordering persists
- GIVEN a filtered list of 3+ favorites
- WHEN the user drags the 3rd item to the 1st position
- THEN the list reflects the new order immediately
- AND reopening the app shows the same order
Requirement: Sort Action Using Existing Criteria
Favoritos MUST expose a sort action (swap_vert) using the existing
OrdenEmisoras criteria (name, quality). It MUST NOT introduce a sort
criterion with no backing implementation.
Scenario: Sort by name reorders alphabetically
- GIVEN the active filter shows 3+ favorites in a non-alphabetical order
- WHEN the user triggers sort-by-name
- THEN the list re-renders in alphabetical order
Requirement: Group Management Reachable from Favoritos
Creating and managing favorite groups MUST be reachable directly from the Favoritos screen, in addition to its existing entry point in Settings.
Scenario: Creating a group from Favoritos
- GIVEN the user is on the Favoritos screen
- WHEN they tap the create-group action
- THEN the group-creation flow opens and a newly created group appears as a new filter chip
Requirement: Custom-Station CTA Preserved
The dashed "Añadir emisora personalizada" call-to-action MUST remain reachable from Favoritos.
Scenario: Custom station CTA opens the add flow
- GIVEN the user is on Favoritos, any filter active
- WHEN they tap "Añadir emisora personalizada"
- THEN the custom-station add flow opens