1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-06-19 08:15:16 +00:00

Can change conversation color

This commit is contained in:
2021-03-13 10:09:17 +01:00
parent d8b2dd2599
commit f54cc22fc6
5 changed files with 117 additions and 1 deletions

View File

@ -0,0 +1,54 @@
import 'package:comunic/utils/intl_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
/// Color picker dialog
///
/// @author Pierre Hubert
Future<Color> showColorPickerDialog(
BuildContext context, Color initialColor) async =>
await showDialog(
context: context,
builder: (c) => _ColorPickerDialog(initialColor: initialColor),
);
class _ColorPickerDialog extends StatefulWidget {
final Color initialColor;
const _ColorPickerDialog({Key key, @required this.initialColor})
: super(key: key);
@override
__ColorPickerDialogState createState() => __ColorPickerDialogState();
}
class __ColorPickerDialogState extends State<_ColorPickerDialog> {
Color _newColor;
@override
void initState() {
_newColor = widget.initialColor;
super.initState();
}
@override
Widget build(BuildContext context) {
return AlertDialog(
content: MaterialPicker(
pickerColor: _newColor ?? Colors.blue.shade900,
onColorChanged: (c) => setState(() => _newColor = c),
),
actions: [
MaterialButton(
onPressed: () => Navigator.pop(context, widget.initialColor),
child: Text(tr("Cancel").toUpperCase()),
),
MaterialButton(
onPressed: () => Navigator.pop(context, _newColor),
child: Text(tr("Ok").toUpperCase()),
),
],
);
}
}