import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../buisness/ToDoItem.dart'; import '../buisness/ToDoProvider.dart'; class ToDoExpandableWidget extends StatelessWidget { final ToDoItem toDoItem; final int index; const ToDoExpandableWidget({ Key? key, required this.toDoItem, required this.index, }) : super(key: key); @override Widget build(BuildContext context) { return Card( color: Colors.orange[100], child: ExpansionTile( title: Text(toDoItem.name, style: TextStyle(color: Colors.black)), subtitle: Text('Due: ${toDoItem.dueDate.toLocal()}'), children: [ Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Description: ${toDoItem.description}', style: TextStyle(color: Colors.black)), SizedBox(height: 10), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text('Status: ', style: TextStyle(color: Colors.black)), DropdownButton( value: toDoItem.status, items: ['Pending', 'In Progress', 'Completed'] .map((status) => DropdownMenuItem( value: status, child: Text(status), )) .toList(), onChanged: (value) { if (value != null) { Provider.of(context, listen: false).updateStatus(index, value); } }, ), ], ), ], ), ), ], ), ); } }