adguard-home-manager/lib/screens/home/fab.dart

47 lines
1.3 KiB
Dart
Raw Normal View History

2022-10-06 00:23:19 +02:00
import 'package:provider/provider.dart';
2022-09-27 18:42:23 +02:00
import 'package:flutter/material.dart';
import 'package:adguard_home_manager/screens/home/management_modal.dart';
import 'package:adguard_home_manager/providers/status_provider.dart';
import 'package:adguard_home_manager/constants/enums.dart';
2022-10-06 00:23:19 +02:00
2022-09-27 18:42:23 +02:00
class HomeFab extends StatelessWidget {
const HomeFab({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
final statusProvider = Provider.of<StatusProvider>(context);
2022-09-27 18:42:23 +02:00
2023-05-01 14:38:46 +02:00
final width = MediaQuery.of(context).size.width;
2022-09-27 18:42:23 +02:00
void openManagementBottomSheet() {
2023-05-01 14:38:46 +02:00
if (width > 700) {
showDialog(
context: context,
builder: (context) => const ManagementModal(
dialog: true,
),
);
}
else {
showModalBottomSheet(
context: context,
isScrollControlled: true,
2023-10-29 02:47:14 +01:00
useRootNavigator: true,
2023-05-01 14:38:46 +02:00
builder: (context) => const ManagementModal(
dialog: false,
),
backgroundColor: Colors.transparent,
);
}
2022-09-27 18:42:23 +02:00
}
return statusProvider.loadStatus == LoadStatus.loaded
2022-10-06 00:23:19 +02:00
? FloatingActionButton(
onPressed: openManagementBottomSheet,
2023-01-25 19:55:34 +01:00
child: const Icon(Icons.shield_rounded),
2022-10-06 00:23:19 +02:00
)
: const SizedBox();
2022-09-27 18:42:23 +02:00
}
}