Files
stadtbote-app/lib/popups/tasks_popups/station_notice_popup.dart
T
2025-10-23 11:28:03 +02:00

69 lines
2.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:stadtbote/model/task_info.dart';
import 'package:stadtbote/tools/util.dart';
showStationNoticePopup(BuildContext context, TaskInfo taskInfo, Function(String) onFinished) async {
await showDialog(
context: context,
builder: (BuildContext context) {
return PopScope(
canPop: false,
onPopInvokedWithResult: (bool didPop, dynamic result) async {
if (!didPop) {
final shouldPop = await taskDialogSecurityException(context);
if (shouldPop && context.mounted) {
Navigator.of(context).pop();
}
}
},
child: AlertDialog(
contentPadding: EdgeInsets.zero,
shadowColor: Colors.transparent,
backgroundColor: Colors.white,
content: StatefulBuilder(builder: (BuildContext context, StateSetter setState) {
TextEditingController textEditingController = TextEditingController();
return SizedBox(
key: GlobalKey(),
height: 285,
width: MediaQuery.of(context).size.width * 0.8,
child: Container(
height: 100,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
border: Border.all(
color: Colors.grey,
width: 0.5,
),
),
child: Padding(
padding: const EdgeInsets.all(35.0),
child: Column(
children: [
Text(taskInfo.task?.topic ?? ''),
const SizedBox(height: 20),
SizedBox(
height: 100,
child: Util.getDefaultTextField(taskInfo.task?.topic ?? '',
textInputType: TextInputType.text,
maxLines: 10,
formatter: [FilteringTextInputFormatter.singleLineFormatter],
controller: textEditingController,
autofocus: true),
),
const SizedBox(height: 20),
getDefaultButton('Übernehmen', buttonHeight: 50, () => {
Navigator.of(context).pop(),
onFinished(textEditingController.text)})
],
),
),
));
})));
},
);
}