// Copyright 2024 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/cupertino.dart'; import 'event_task.dart'; class TaskRow extends StatefulWidget { final EventTask task; final bool isEditing; const TaskRow({super.key, required this.task, required this.isEditing}); @override State createState() => _TaskRowState(); } class _TaskRowState extends State { final _taskText = TextEditingController(); @override void initState() { _taskText.text = widget.task.text; super.initState(); } @override Widget build(BuildContext context) { return Row( children: [ CupertinoButton( onPressed: widget.isEditing ? () { setState(() { widget.task.isCompleted = !widget.task.isCompleted; }); } : null, child: Icon( widget.task.isCompleted ? CupertinoIcons.checkmark_circle_fill : CupertinoIcons.circle, color: CupertinoColors.black, ), ), Expanded( child: widget.isEditing ? CupertinoTextField( decoration: null, padding: EdgeInsets.zero, controller: _taskText, onChanged: (value) => widget.task.text = value, ) : Text(widget.task.text), ), ], ); } }