Change opening client modal

This commit is contained in:
Juan Gilsanz Polo 2023-10-07 23:16:52 +02:00
parent 5b715d0456
commit 2ad99e737d
6 changed files with 82 additions and 99 deletions

View file

@ -1,11 +1,15 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:adguard_home_manager/screens/clients/client/client_screen.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/models/clients.dart';
import 'package:adguard_home_manager/providers/clients_provider.dart';
import 'package:adguard_home_manager/models/safe_search.dart';
@ -85,3 +89,38 @@ bool checkValidValues({
return false;
}
}
void openClientFormModal({
required BuildContext context,
required double width,
Client? client,
required void Function(Client) onConfirm,
void Function(Client)? onDelete,
}) {
showGeneralDialog(
context: context,
barrierColor: !(width > 900 || !(Platform.isAndroid | Platform.isIOS))
?Colors.transparent
: Colors.black54,
transitionBuilder: (context, anim1, anim2, child) {
return SlideTransition(
position: Tween(
begin: const Offset(0, 1),
end: const Offset(0, 0)
).animate(
CurvedAnimation(
parent: anim1,
curve: Curves.easeInOutCubicEmphasized
)
),
child: child,
);
},
pageBuilder: (context, animation, secondaryAnimation) => ClientScreen(
fullScreen: !(width > 900 || !(Platform.isAndroid | Platform.isIOS)),
client: client,
onConfirm: onConfirm,
onDelete: onDelete,
),
);
}