import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:adguard_home_manager/screens/clients/client/remove_client_modal.dart'; import 'package:adguard_home_manager/screens/clients/client/safe_search_modal.dart'; import 'package:adguard_home_manager/screens/clients/client/services_modal.dart'; import 'package:adguard_home_manager/screens/clients/client/tags_modal.dart'; import 'package:adguard_home_manager/providers/clients_provider.dart'; import 'package:adguard_home_manager/models/safe_search.dart'; void openTagsModal({ required BuildContext context, required List selectedTags, required void Function(List) onSelectedTags }) { showDialog( context: context, builder: (context) => TagsModal( selectedTags: selectedTags, tags: Provider.of(context, listen: false).clients!.supportedTags, onConfirm: onSelectedTags, ) ); } void openServicesModal({ required BuildContext context, required List blockedServices, required void Function(List) onUpdateBlockedServices }) { showDialog( context: context, builder: (context) => ServicesModal( blockedServices: blockedServices, onConfirm: onUpdateBlockedServices, ) ); } void openDeleteClientScreen({ required BuildContext context, required void Function() onDelete }) { showDialog( context: context, builder: (ctx) => RemoveClientModal( onConfirm: () { Navigator.pop(context); onDelete(); } ) ); } void openSafeSearchModal({ required BuildContext context, required List blockedServices, required void Function(SafeSearch) onUpdateSafeSearch, required SafeSearch? safeSearch, required SafeSearch defaultSafeSearch }) { showDialog( context: context, builder: (context) => SafeSearchModal( safeSearch: safeSearch ?? defaultSafeSearch, disabled: false, onConfirm: onUpdateSafeSearch ) ); } bool checkValidValues({ required TextEditingController nameController, required List> identifiersControllers }) { if ( nameController.text != '' && identifiersControllers.isNotEmpty && identifiersControllers[0]['controller']!.text != '' ) { return true; } else { return false; } }