fluffychat/lib/widgets/permission_slider_dialog.dart
2024-04-17 09:48:27 +02:00

35 lines
974 B
Dart

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
Future<int?> showPermissionChooser(
BuildContext context, {
int currentLevel = 0,
}) async {
final customLevel = await showTextInputDialog(
context: context,
title: L10n.of(context)!.setPermissionsLevel,
textFields: [
DialogTextField(
initialText: currentLevel.toString(),
keyboardType: TextInputType.number,
autocorrect: false,
validator: (text) {
if (text == null) {
return L10n.of(context)!.pleaseEnterANumber;
}
final level = int.tryParse(text);
if (level == null) {
return L10n.of(context)!.pleaseEnterANumber;
}
return null;
},
),
],
);
if (customLevel == null) return null;
return int.tryParse(customLevel.first);
}