mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-15 14:32:48 +00:00
Extracted server status stuff to a separate provider
This commit is contained in:
parent
0271c704a7
commit
4a2d78e8cf
30 changed files with 585 additions and 405 deletions
|
@ -11,6 +11,8 @@ import 'package:adguard_home_manager/widgets/servers_list/delete_modal.dart';
|
|||
|
||||
import 'package:adguard_home_manager/classes/process_modal.dart';
|
||||
import 'package:adguard_home_manager/functions/snackbar.dart';
|
||||
import 'package:adguard_home_manager/constants/enums.dart';
|
||||
import 'package:adguard_home_manager/providers/status_provider.dart';
|
||||
import 'package:adguard_home_manager/models/app_log.dart';
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
import 'package:adguard_home_manager/services/http_requests.dart';
|
||||
|
@ -69,6 +71,7 @@ class _ServersListItemState extends State<ServersListItem> with SingleTickerProv
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final serversProvider = Provider.of<ServersProvider>(context);
|
||||
final statusProvider = Provider.of<StatusProvider>(context);
|
||||
final appConfigProvider = Provider.of<AppConfigProvider>(context);
|
||||
|
||||
final width = MediaQuery.of(context).size.width;
|
||||
|
@ -134,16 +137,18 @@ class _ServersListItemState extends State<ServersListItem> with SingleTickerProv
|
|||
if (result['result'] == 'success') {
|
||||
serversProvider.setSelectedServer(server);
|
||||
|
||||
serversProvider.setServerStatusLoad(0);
|
||||
statusProvider.setServerStatusLoad(LoadStatus.loading);
|
||||
final serverStatus = await getServerStatus(server);
|
||||
if (serverStatus['result'] == 'success') {
|
||||
serversProvider.setServerStatusData(serverStatus['data']);
|
||||
statusProvider.setServerStatusData(
|
||||
data: serverStatus['data']
|
||||
);
|
||||
serversProvider.checkServerUpdatesAvailable(server);
|
||||
serversProvider.setServerStatusLoad(1);
|
||||
statusProvider.setServerStatusLoad(LoadStatus.loaded);
|
||||
}
|
||||
else {
|
||||
appConfigProvider.addLog(serverStatus['log']);
|
||||
serversProvider.setServerStatusLoad(2);
|
||||
statusProvider.setServerStatusLoad(LoadStatus.error);
|
||||
}
|
||||
|
||||
process.close();
|
||||
|
@ -192,7 +197,7 @@ class _ServersListItemState extends State<ServersListItem> with SingleTickerProv
|
|||
Icon(
|
||||
Icons.storage_rounded,
|
||||
color: serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id
|
||||
? serversProvider.serverStatus.data != null
|
||||
? statusProvider.serverStatus != null
|
||||
? Colors.green
|
||||
: Colors.orange
|
||||
: null,
|
||||
|
@ -225,7 +230,7 @@ class _ServersListItemState extends State<ServersListItem> with SingleTickerProv
|
|||
return Icon(
|
||||
Icons.storage_rounded,
|
||||
color: serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id
|
||||
? serversProvider.serverStatus.data != null
|
||||
? statusProvider.serverStatus != null
|
||||
? Colors.green
|
||||
: Colors.orange
|
||||
: null,
|
||||
|
@ -344,7 +349,7 @@ class _ServersListItemState extends State<ServersListItem> with SingleTickerProv
|
|||
margin: const EdgeInsets.only(right: 12),
|
||||
padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 10),
|
||||
decoration: BoxDecoration(
|
||||
color: serversProvider.serverStatus.data != null
|
||||
color: statusProvider.serverStatus != null
|
||||
? Colors.green
|
||||
: Colors.orange,
|
||||
borderRadius: BorderRadius.circular(30)
|
||||
|
@ -352,14 +357,14 @@ class _ServersListItemState extends State<ServersListItem> with SingleTickerProv
|
|||
child: Row(
|
||||
children: [
|
||||
Icon(
|
||||
serversProvider.serverStatus.data != null
|
||||
statusProvider.serverStatus != null
|
||||
? Icons.check
|
||||
: Icons.warning,
|
||||
color: Colors.white,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Text(
|
||||
serversProvider.serverStatus.data != null
|
||||
statusProvider.serverStatus != null
|
||||
? AppLocalizations.of(context)!.connected
|
||||
: AppLocalizations.of(context)!.selectedDisconnected,
|
||||
style: const TextStyle(
|
||||
|
|
|
@ -10,6 +10,8 @@ import 'package:adguard_home_manager/widgets/servers_list/delete_modal.dart';
|
|||
|
||||
import 'package:adguard_home_manager/classes/process_modal.dart';
|
||||
import 'package:adguard_home_manager/functions/snackbar.dart';
|
||||
import 'package:adguard_home_manager/constants/enums.dart';
|
||||
import 'package:adguard_home_manager/providers/status_provider.dart';
|
||||
import 'package:adguard_home_manager/models/app_log.dart';
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
import 'package:adguard_home_manager/services/http_requests.dart';
|
||||
|
@ -36,6 +38,7 @@ class _ServersTileItemState extends State<ServersTileItem> with SingleTickerProv
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final serversProvider = Provider.of<ServersProvider>(context);
|
||||
final statusProvider = Provider.of<StatusProvider>(context);
|
||||
final appConfigProvider = Provider.of<AppConfigProvider>(context);
|
||||
|
||||
final width = MediaQuery.of(context).size.width;
|
||||
|
@ -101,16 +104,18 @@ class _ServersTileItemState extends State<ServersTileItem> with SingleTickerProv
|
|||
if (result['result'] == 'success') {
|
||||
serversProvider.setSelectedServer(server);
|
||||
|
||||
serversProvider.setServerStatusLoad(0);
|
||||
statusProvider.setServerStatusLoad(LoadStatus.loading);
|
||||
final serverStatus = await getServerStatus(server);
|
||||
if (serverStatus['result'] == 'success') {
|
||||
serversProvider.setServerStatusData(serverStatus['data']);
|
||||
statusProvider.setServerStatusData(
|
||||
data: serverStatus['data']
|
||||
);
|
||||
serversProvider.checkServerUpdatesAvailable(server);
|
||||
serversProvider.setServerStatusLoad(1);
|
||||
statusProvider.setServerStatusLoad(LoadStatus.loaded);
|
||||
}
|
||||
else {
|
||||
appConfigProvider.addLog(serverStatus['log']);
|
||||
serversProvider.setServerStatusLoad(2);
|
||||
statusProvider.setServerStatusLoad(LoadStatus.error);
|
||||
}
|
||||
|
||||
process.close();
|
||||
|
@ -159,7 +164,7 @@ class _ServersTileItemState extends State<ServersTileItem> with SingleTickerProv
|
|||
Icon(
|
||||
Icons.storage_rounded,
|
||||
color: serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id
|
||||
? serversProvider.serverStatus.data != null
|
||||
? statusProvider.serverStatus != null
|
||||
? Colors.green
|
||||
: Colors.orange
|
||||
: null,
|
||||
|
@ -192,7 +197,7 @@ class _ServersTileItemState extends State<ServersTileItem> with SingleTickerProv
|
|||
return Icon(
|
||||
Icons.storage_rounded,
|
||||
color: serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id
|
||||
? serversProvider.serverStatus.data != null
|
||||
? statusProvider.serverStatus != null
|
||||
? Colors.green
|
||||
: Colors.orange
|
||||
: null,
|
||||
|
@ -305,13 +310,13 @@ class _ServersTileItemState extends State<ServersTileItem> with SingleTickerProv
|
|||
),
|
||||
SizedBox(
|
||||
child: serversProvider.selectedServer != null &&
|
||||
serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id && serversProvider.serverStatus.data != null &&
|
||||
serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id && statusProvider.serverStatus != null &&
|
||||
serversProvider.selectedServer?.id == server.id
|
||||
? Container(
|
||||
margin: const EdgeInsets.only(right: 12),
|
||||
padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 10),
|
||||
decoration: BoxDecoration(
|
||||
color: serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id && serversProvider.serverStatus.data != null
|
||||
color: serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id && statusProvider.serverStatus != null
|
||||
? Colors.green
|
||||
: Colors.orange,
|
||||
borderRadius: BorderRadius.circular(30)
|
||||
|
@ -319,14 +324,14 @@ class _ServersTileItemState extends State<ServersTileItem> with SingleTickerProv
|
|||
child: Row(
|
||||
children: [
|
||||
Icon(
|
||||
serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id && serversProvider.serverStatus.data != null
|
||||
serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id && statusProvider.serverStatus != null
|
||||
? Icons.check
|
||||
: Icons.warning,
|
||||
color: Colors.white,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Text(
|
||||
serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id && serversProvider.serverStatus.data != null
|
||||
serversProvider.selectedServer != null && serversProvider.selectedServer?.id == server.id && statusProvider.serverStatus != null
|
||||
? AppLocalizations.of(context)!.connected
|
||||
: AppLocalizations.of(context)!.selectedDisconnected,
|
||||
style: const TextStyle(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue