Error messages

This commit is contained in:
marcoabat
2023-08-07 22:57:42 +02:00
parent f313850205
commit 8a9ab4a435
5 changed files with 133 additions and 57 deletions

View File

@@ -0,0 +1,77 @@
import 'package:flutter/material.dart';
import '../models/listitem.dart';
import '../services/dbhelper.dart';
class ItemDetailDialog extends StatelessWidget {
const ItemDetailDialog({
super.key,
this.item,
required this.checklistId,
});
final Item? item;
final int checklistId;
@override
Widget build(BuildContext context) {
final TextEditingController titleCon = TextEditingController();
final TextEditingController descCon = TextEditingController();
bool isOwner = true;
String dialogTitle = 'Add item';
if (item != null) {
titleCon.text = item!.title;
descCon.text = item!.description;
isOwner = DbHelper.isOwner(item!.ownerId);
isOwner ? dialogTitle = 'Edit Item' : dialogTitle = item!.title;
}
return AlertDialog(
title: Text(dialogTitle),
content: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (isOwner)
TextFormField(
controller: titleCon,
textInputAction: TextInputAction.next,
decoration: const InputDecoration(
label: Text('Title'),
),
),
if (isOwner)
TextFormField(
controller: descCon,
onFieldSubmitted: (value) {
_itemSaved(titleCon.text, descCon.text);
Navigator.of(context).pop();
},
decoration: const InputDecoration(
label: Text('Description'),
),
),
if (!isOwner) Text(item!.description),
],
),
actions: [
TextButton(
onPressed: () {
_itemSaved(titleCon.text, descCon.text);
Navigator.of(context).pop();
},
child: const Text('save'),
),
],
);
}
void _itemSaved(String title, String description) {
DbHelper.addOrUpdateItem(
checklistId,
title,
description,
item?.id,
);
}
}