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';
|
|
|
|
|
2023-05-24 13:51:22 +02:00
|
|
|
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) {
|
2023-05-24 13:51:22 +02:00
|
|
|
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
|
|
|
}
|
|
|
|
|
2023-05-24 13:51:22 +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
|
|
|
}
|
|
|
|
}
|