1
0
mirror of https://github.com/go-vikunja/app synced 2024-06-18 10:24:16 +00:00
app-mirror-github/lib/components/BucketTaskCard.dart

70 lines
1.7 KiB
Dart
Raw Normal View History

2022-07-15 14:25:16 +00:00
import 'package:flutter/material.dart';
import 'package:vikunja_app/models/task.dart';
2022-07-19 09:47:37 +00:00
import 'package:vikunja_app/pages/list/task_edit.dart';
2022-07-15 14:25:16 +00:00
import 'package:vikunja_app/theme/constants.dart';
class BucketTaskCard extends StatefulWidget {
final Task task;
const BucketTaskCard({Key key, @required this.task})
: assert(task != null),
super(key: key);
@override
State<BucketTaskCard> createState() => _BucketTaskCardState(this.task);
}
class _BucketTaskCardState extends State<BucketTaskCard> {
Task _currentTask;
_BucketTaskCardState(this._currentTask)
: assert(_currentTask != null);
@override
Widget build(BuildContext context) {
final numRow = Row(
children: <Widget>[
Text('#${_currentTask.id}'),
],
);
if (_currentTask.done) {
numRow.children.insert(0, Chip(
label: Text('Done'),
labelStyle: TextStyle(
fontWeight: FontWeight.bold,
color: Theme
.of(context)
.brightness == Brightness.dark
? Colors.black : Colors.white,
),
backgroundColor: vGreen,
));
}
final titleRow = Row(
children: <Widget>[
Text(_currentTask.title),
],
);
// TODO: add due date
final labelRow = Row();
// TODO: add labels, checklist completion, attachment icon, description icon
return Card(
2022-07-19 09:47:37 +00:00
child: InkWell(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[numRow, titleRow, labelRow],
),
onTap: () => Navigator.push(
context,
MaterialPageRoute(builder: (context) => TaskEditPage(
task: _currentTask,
)),
),
2022-07-15 14:25:16 +00:00
),
);
}
}