Files
pluriwave/openspec/changes/rediseno-funcional/specs/favorites-organization/spec.md
T

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