project-standalo-sonic-cloud/.workflow/versions/v001/contexts/page_genre_browse.yml

108 lines
2.5 KiB
YAML

task_id: task_create_page_genre_browse
entity_id: page_genre_browse
generated_at: '2025-12-18T15:16:50.309059'
workflow_version: v001
target:
type: page
definition:
id: page_genre_browse
path: /genre/:slug
title: Browse Genre
description: Browse songs by genre
data_needs:
- api_id: api_get_songs_by_genre
purpose: Load genre songs
on_load: true
components:
- component_genre_header
- component_song_card
auth:
required: false
related:
models: []
apis:
- id: api_get_songs_by_genre
definition: &id002
id: api_get_songs_by_genre
method: GET
path: /api/discover/genres/:slug
description: Get songs by genre
query_params:
limit: integer
offset: integer
responses:
- status: 200
description: List of songs in genre
schema:
genre:
name: string
songs: array
auth:
required: false
depends_on_models:
- model_genre
- model_song
components:
- id: component_genre_header
definition: &id001
id: component_genre_header
name: GenreHeader
description: Genre browse page header
props:
- name: genre
type: Genre
required: true
events: []
uses_apis: []
uses_components: []
- id: component_song_card
definition: &id003
id: component_song_card
name: SongCard
description: Song display card with play button
props:
- name: song
type: Song
required: true
- name: showArtist
type: boolean
default: true
- name: showAlbum
type: boolean
default: false
events:
- name: onPlay
payload:
songId: string
- name: onAddToPlaylist
payload:
songId: string
uses_apis: []
uses_components: []
dependencies:
entity_ids:
- component_genre_header
- api_get_songs_by_genre
- component_song_card
definitions:
- id: component_genre_header
type: component
definition: *id001
- id: api_get_songs_by_genre
type: api
definition: *id002
- id: component_song_card
type: component
definition: *id003
files:
to_create:
- app/genre/:slug/page.tsx
reference: []
acceptance:
- criterion: Page renders at /genre/:slug
verification: Navigate to /genre/:slug
- criterion: Data fetching works
verification: Check network tab
- criterion: Components render correctly
verification: Visual inspection