Added scrollbar desktop management modal

This commit is contained in:
Juan Gilsanz Polo 2023-10-24 21:19:03 +02:00
parent 639f583046
commit 6f3ba647f4

View file

@ -31,6 +31,8 @@ class _ManagementModalState extends State<ManagementModal> with SingleTickerProv
late Animation<double> animation; late Animation<double> animation;
final ExpandableController expandableController = ExpandableController(); final ExpandableController expandableController = ExpandableController();
final _chipsScrollController = ScrollController();
@override @override
void initState() { void initState() {
expandableController.addListener(() async { expandableController.addListener(() async {
@ -155,46 +157,58 @@ class _ManagementModalState extends State<ManagementModal> with SingleTickerProv
Widget bottomRow() { Widget bottomRow() {
return Container( return Container(
height: 40, height: Platform.isMacOS || Platform.isLinux || Platform.isWindows ? 50 : 40,
margin: const EdgeInsets.only(top: 8), margin: const EdgeInsets.only(top: 8),
child: ListView( child: Scrollbar(
scrollDirection: Axis.horizontal, controller: _chipsScrollController,
children: [ thumbVisibility: Platform.isMacOS || Platform.isLinux || Platform.isWindows,
ActionChip( interactive: Platform.isMacOS || Platform.isLinux || Platform.isWindows,
label: Text(AppLocalizations.of(context)!.seconds(30)), thickness: Platform.isMacOS || Platform.isLinux || Platform.isWindows ? 8 : 0,
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true child: Padding(
? () => disableWithCountdown(29000) padding: EdgeInsets.only(
: null, bottom: Platform.isMacOS || Platform.isLinux || Platform.isWindows ? 16 : 0
), ),
const SizedBox(width: 8), child: ListView(
ActionChip( controller: _chipsScrollController,
label: Text(AppLocalizations.of(context)!.minute(1)), scrollDirection: Axis.horizontal,
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true children: [
? () => disableWithCountdown(59000) ActionChip(
: null, label: Text(AppLocalizations.of(context)!.seconds(30)),
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true
? () => disableWithCountdown(29000)
: null,
),
const SizedBox(width: 8),
ActionChip(
label: Text(AppLocalizations.of(context)!.minute(1)),
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true
? () => disableWithCountdown(59000)
: null,
),
const SizedBox(width: 8),
ActionChip(
label: Text(AppLocalizations.of(context)!.minutes(10)),
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true
? () => disableWithCountdown(599000)
: null,
),
const SizedBox(width: 8),
ActionChip(
label: Text(AppLocalizations.of(context)!.hour(1)),
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true
? () => disableWithCountdown(3599000)
: null,
),
const SizedBox(width: 8),
ActionChip(
label: Text(AppLocalizations.of(context)!.hours(24)),
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true
? () => disableWithCountdown(86399000)
: null,
),
],
), ),
const SizedBox(width: 8), ),
ActionChip(
label: Text(AppLocalizations.of(context)!.minutes(10)),
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true
? () => disableWithCountdown(599000)
: null,
),
const SizedBox(width: 8),
ActionChip(
label: Text(AppLocalizations.of(context)!.hour(1)),
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true
? () => disableWithCountdown(3599000)
: null,
),
const SizedBox(width: 8),
ActionChip(
label: Text(AppLocalizations.of(context)!.hours(24)),
onPressed: statusProvider.protectionsManagementProcess.contains('general') == false && statusProvider.serverStatus!.generalEnabled == true
? () => disableWithCountdown(86399000)
: null,
),
],
), ),
); );
} }