57 lines
1.4 KiB
YAML
57 lines
1.4 KiB
YAML
{
|
|
"task_id": "task_create_component_daily_checkin_button",
|
|
"entity_id": "component_daily_checkin_button",
|
|
"generated_at": "2025-12-18T01:57:52.724595",
|
|
"workflow_version": "v001",
|
|
"target": {
|
|
"type": "component",
|
|
"definition": {
|
|
"id": "component_daily_checkin_button",
|
|
"name": "DailyCheckinButton",
|
|
"description": "Check-in button with streak display",
|
|
"file_path": "app/components/DailyCheckinButton.tsx",
|
|
"status": "PENDING",
|
|
"props": {
|
|
"onCheckIn": "() => Promise<void>",
|
|
"isCheckedInToday": "boolean",
|
|
"streakDays": "number"
|
|
},
|
|
"features": [
|
|
"Large prominent button",
|
|
"Streak counter display",
|
|
"Disabled state if already checked in",
|
|
"Success animation",
|
|
"Points earned display"
|
|
]
|
|
}
|
|
},
|
|
"related": {
|
|
"models": [],
|
|
"apis": [],
|
|
"components": []
|
|
},
|
|
"dependencies": {
|
|
"entity_ids": [],
|
|
"definitions": []
|
|
},
|
|
"files": {
|
|
"to_create": [
|
|
"app/components/DailyCheckinButton.tsx"
|
|
],
|
|
"reference": []
|
|
},
|
|
"acceptance": [
|
|
{
|
|
"criterion": "Component renders without errors",
|
|
"verification": "Import and render in test"
|
|
},
|
|
{
|
|
"criterion": "Props are typed correctly",
|
|
"verification": "TypeScript compilation"
|
|
},
|
|
{
|
|
"criterion": "Events fire correctly",
|
|
"verification": "Test event handlers"
|
|
}
|
|
]
|
|
} |