# 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