task_id: task_create_page_playlists entity_id: page_playlists generated_at: '2025-12-18T15:16:50.302020' workflow_version: v001 target: type: page definition: id: page_playlists path: /playlists title: My Playlists description: User's playlists data_needs: - api_id: api_get_user_playlists purpose: Load playlists on_load: true components: - component_playlist_card - component_create_playlist_modal auth: required: true redirect_if_unauthorized: /login related: models: [] apis: - id: api_get_user_playlists definition: &id002 id: api_get_user_playlists method: GET path: /api/playlists description: Get current user's playlists responses: - status: 200 description: List of playlists schema: playlists: - id: uuid name: string cover_image_url: string song_count: integer auth: required: true depends_on_models: - model_playlist components: - id: component_playlist_card definition: &id001 id: component_playlist_card name: PlaylistCard description: Playlist preview card props: - name: playlist type: Playlist required: true events: - name: onClick payload: playlistId: string uses_apis: [] uses_components: [] - id: component_create_playlist_modal definition: &id003 id: component_create_playlist_modal name: CreatePlaylistModal description: Modal for creating new playlist props: - name: isOpen type: boolean required: true state: - name: name type: string - name: description type: string - name: isPublic type: boolean events: - name: onCreate payload: name: string description: string isPublic: boolean - name: onClose payload: null uses_apis: - api_create_playlist uses_components: [] dependencies: entity_ids: - component_playlist_card - api_get_user_playlists - component_create_playlist_modal definitions: - id: component_playlist_card type: component definition: *id001 - id: api_get_user_playlists type: api definition: *id002 - id: component_create_playlist_modal type: component definition: *id003 files: to_create: - app/playlists/page.tsx reference: [] acceptance: - criterion: Page renders at /playlists verification: Navigate to /playlists - criterion: Data fetching works verification: Check network tab - criterion: Components render correctly verification: Visual inspection