mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-04-24 15:56:05 +00:00
Fixed add clients
This commit is contained in:
parent
f67e271d42
commit
89e3add4c7
3 changed files with 8 additions and 66 deletions
|
@ -1,61 +0,0 @@
|
|||
import 'dart:convert';
|
||||
|
||||
AddClient addClientFromJson(String str) => AddClient.fromJson(json.decode(str));
|
||||
|
||||
String addClientToJson(AddClient data) => json.encode(data.toJson());
|
||||
|
||||
class AddClient {
|
||||
AddClient({
|
||||
required this.name,
|
||||
required this.ids,
|
||||
required this.useGlobalSettings,
|
||||
required this.filteringEnabled,
|
||||
required this.parentalEnabled,
|
||||
required this.safebrowsingEnabled,
|
||||
required this.safesearchEnabled,
|
||||
required this.useGlobalBlockedServices,
|
||||
required this.blockedServices,
|
||||
required this.upstreams,
|
||||
required this.tags,
|
||||
});
|
||||
|
||||
final String name;
|
||||
final List<String> ids;
|
||||
final bool useGlobalSettings;
|
||||
final bool filteringEnabled;
|
||||
final bool parentalEnabled;
|
||||
final bool safebrowsingEnabled;
|
||||
final bool safesearchEnabled;
|
||||
final bool useGlobalBlockedServices;
|
||||
final List<String> blockedServices;
|
||||
final List<String> upstreams;
|
||||
final List<String> tags;
|
||||
|
||||
factory AddClient.fromJson(Map<String, dynamic> json) => AddClient(
|
||||
name: json["name"],
|
||||
ids: List<String>.from(json["ids"].map((x) => x)),
|
||||
useGlobalSettings: json["use_global_settings"],
|
||||
filteringEnabled: json["filtering_enabled"],
|
||||
parentalEnabled: json["parental_enabled"],
|
||||
safebrowsingEnabled: json["safebrowsing_enabled"],
|
||||
safesearchEnabled: json["safesearch_enabled"],
|
||||
useGlobalBlockedServices: json["use_global_blocked_services"],
|
||||
blockedServices: List<String>.from(json["blocked_services"].map((x) => x)),
|
||||
upstreams: List<String>.from(json["upstreams"].map((x) => x)),
|
||||
tags: List<String>.from(json["tags"].map((x) => x)),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"name": name,
|
||||
"ids": List<dynamic>.from(ids.map((x) => x)),
|
||||
"use_global_settings": useGlobalSettings,
|
||||
"filtering_enabled": filteringEnabled,
|
||||
"parental_enabled": parentalEnabled,
|
||||
"safebrowsing_enabled": safebrowsingEnabled,
|
||||
"safesearch_enabled": safesearchEnabled,
|
||||
"use_global_blocked_services": useGlobalBlockedServices,
|
||||
"blocked_services": List<dynamic>.from(blockedServices.map((x) => x)),
|
||||
"upstreams": List<dynamic>.from(upstreams.map((x) => x)),
|
||||
"tags": List<dynamic>.from(tags.map((x) => x)),
|
||||
};
|
||||
}
|
|
@ -7,10 +7,10 @@ import 'package:adguard_home_manager/screens/clients/services_modal.dart';
|
|||
import 'package:adguard_home_manager/screens/clients/tags_modal.dart';
|
||||
|
||||
import 'package:adguard_home_manager/providers/servers_provider.dart';
|
||||
import 'package:adguard_home_manager/models/add_client.dart';
|
||||
import 'package:adguard_home_manager/models/clients.dart';
|
||||
|
||||
class AddClientModal extends StatefulWidget {
|
||||
final void Function(AddClient) onConfirm;
|
||||
final void Function(Client) onConfirm;
|
||||
|
||||
const AddClientModal({
|
||||
Key? key,
|
||||
|
@ -65,7 +65,7 @@ class _AddClientModalState extends State<AddClientModal> {
|
|||
final serversProvider = Provider.of<ServersProvider>(context);
|
||||
|
||||
void createClient() {
|
||||
final AddClient client = AddClient(
|
||||
final Client client = Client(
|
||||
name: nameController.text,
|
||||
ids: List<String>.from(identifiersControllers.map((e) => e['controller'].text)),
|
||||
useGlobalSettings: useGlobalSettingsFiltering,
|
||||
|
|
|
@ -7,7 +7,7 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
|||
import 'package:adguard_home_manager/screens/clients/block_client_modal.dart';
|
||||
import 'package:adguard_home_manager/screens/clients/add_client_modal.dart';
|
||||
|
||||
import 'package:adguard_home_manager/models/add_client.dart';
|
||||
import 'package:adguard_home_manager/models/clients.dart';
|
||||
import 'package:adguard_home_manager/services/http_requests.dart';
|
||||
import 'package:adguard_home_manager/models/clients_allowed_blocked.dart';
|
||||
import 'package:adguard_home_manager/classes/process_modal.dart';
|
||||
|
@ -74,7 +74,7 @@ class ClientsFab extends StatelessWidget {
|
|||
}
|
||||
}
|
||||
|
||||
void confirmAddClient(AddClient client) async {
|
||||
void confirmAddClient(Client client) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
processModal.open(AppLocalizations.of(context)!.addingClient);
|
||||
|
||||
|
@ -83,6 +83,9 @@ class ClientsFab extends StatelessWidget {
|
|||
processModal.close();
|
||||
|
||||
if (result['result'] == 'success') {
|
||||
ClientsData clientsData = serversProvider.clients.data!;
|
||||
clientsData.clients.add(client);
|
||||
serversProvider.setClientsData(clientsData);
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context)!.clientAddedSuccessfully),
|
||||
|
|
Loading…
Add table
Reference in a new issue