Erweiterungen
This commit is contained in:
1 parent
44333f06a7
commit
7b580b37db
1 file changed
+59
-2
@@ -84,6 +84,9 @@ class _MessagesPageState extends State<MessagesPage> {
|
||||
showUserAvatars: false,
|
||||
showUserNames: false,
|
||||
user: _user,
|
||||
onMessageTap: (context, message) => {
|
||||
_showDeleteMessageDialog(context, message)
|
||||
},
|
||||
),
|
||||
],
|
||||
);
|
||||
@@ -129,8 +132,10 @@ class _MessagesPageState extends State<MessagesPage> {
|
||||
|
||||
_messages.insert(0, types.TextMessage(
|
||||
author: message.from == _sid ? _user : _central,
|
||||
createdAt: DateTime.parse(message.time).millisecondsSinceEpoch,
|
||||
id: const Uuid().v4().toString(),
|
||||
createdAt: DateTime
|
||||
.parse(message.time)
|
||||
.millisecondsSinceEpoch,
|
||||
id: message.id.toString(),
|
||||
text: text,
|
||||
));
|
||||
|
||||
@@ -142,4 +147,56 @@ class _MessagesPageState extends State<MessagesPage> {
|
||||
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
_showDeleteMessageDialog(BuildContext context, types.Message message) async {
|
||||
await showDialog<void>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return AlertDialog(
|
||||
contentPadding: EdgeInsets.zero,
|
||||
shadowColor: Colors.transparent,
|
||||
backgroundColor: Colors.white,
|
||||
content: StatefulBuilder(builder: (BuildContext context, StateSetter setState) {
|
||||
return SizedBox(
|
||||
key: GlobalKey(),
|
||||
height: 120,
|
||||
width: MediaQuery
|
||||
.of(context)
|
||||
.size
|
||||
.width * 1.2,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Container(
|
||||
height: 100,
|
||||
padding: const EdgeInsets.all(5),
|
||||
child: Column(
|
||||
children: [
|
||||
const Text('Soll die Nachricht gelöscht werden?'),
|
||||
const SizedBox(height: 20),
|
||||
Row(children: [
|
||||
Expanded(
|
||||
child: getDefaultButton('Nein', () => {Navigator.of(context).pop()}),
|
||||
),
|
||||
const SizedBox(width: 20),
|
||||
Expanded(
|
||||
child: getDefaultButton('Ja', () => {
|
||||
MyApp.isarInstance.writeTxnSync(() => {MyApp.isarInstance.messages.deleteSync(int.parse(message.id))}),
|
||||
|
||||
_fetchMessages(),
|
||||
|
||||
setState(() {}),
|
||||
|
||||
Navigator.of(context).pop()
|
||||
}),
|
||||
)
|
||||
])
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
);
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user