35 lines
1011 B
Dart
35 lines
1011 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:provider/provider.dart';
|
|
import 'package:todoapp/modals/edittodomodal.dart';
|
|
import 'package:todoapp/providers/todoprovider.dart';
|
|
|
|
class TodoWidget extends StatefulWidget {
|
|
const TodoWidget({super.key, required this.checked, required this.title});
|
|
|
|
final bool checked;
|
|
final String title;
|
|
|
|
@override
|
|
State<TodoWidget> createState() => _TodoWidgetState();
|
|
}
|
|
|
|
class _TodoWidgetState extends State<TodoWidget> {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return GestureDetector(
|
|
onLongPress: () {
|
|
EditTodoModal.add(context, widget.title);
|
|
},
|
|
child: CheckboxListTile(
|
|
value: widget.checked,
|
|
title: Text(widget.title,
|
|
style: widget.checked
|
|
? const TextStyle(decoration: TextDecoration.lineThrough)
|
|
: const TextStyle()),
|
|
onChanged: (value) =>
|
|
{context.read<TodoProvider>().setTodoState(widget.title, value!)},
|
|
),
|
|
);
|
|
}
|
|
}
|