Started adding a label component

This commit is contained in:
konrad 2019-03-18 11:16:47 +01:00
parent 5b0c94a5c7
commit e5da5b921a
Signed by untrusted user: konrad
GPG Key ID: F40E70337AB24C9B
2 changed files with 70 additions and 1 deletions

57
lib/components/label.dart Normal file
View File

@ -0,0 +1,57 @@
import 'package:flutter/material.dart';
import 'package:vikunja_app/models/label.dart';
import 'package:vikunja_app/theme/constants.dart';
class LabelComponent extends StatefulWidget {
final Label label;
final VoidCallback onTap;
final VoidCallback onDelete;
final Color backgroundColor;
const LabelComponent(
{Key key,
@required this.label,
this.onTap,
this.onDelete,
this.backgroundColor = vGreen})
: super(key: key);
@override
State<StatefulWidget> createState() {
return new LabelComponentState();
}
}
class LabelComponentState extends State<LabelComponent> {
LabelComponentState() {}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: widget.onTap,
child: Container(
padding: EdgeInsets.all(8),
decoration: BoxDecoration(
color: widget.backgroundColor,
borderRadius: BorderRadius.all(Radius.circular(3))),
child: Row(
children: [
Text(
widget.label.title,
style: TextStyle(
color: vWhite,
),
),
GestureDetector(
child: Icon(
Icons.close,
color: vWhite,
),
onTap: widget.onDelete,
),
],
),
),
);
}
}

View File

@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:vikunja_app/components/datetimePicker.dart';
import 'package:vikunja_app/components/label.dart';
import 'package:vikunja_app/global.dart';
import 'package:vikunja_app/models/label.dart';
@ -228,7 +229,18 @@ class _TaskEditPageState extends State<TaskEditPage> {
}).toList(),
),
),
// TODO: Labels
LabelComponent(
label: Label(
id: 12134,
title: 'Lorem Ipsum'
),
onTap: () {
print('tapped');
},
onDelete: () {
print('deleted');
},
),
Builder(
builder: (context) => Padding(
padding: EdgeInsets.symmetric(vertical: 10.0),