Fixed null issue home appbar

This commit is contained in:
Juan Gilsanz Polo 2022-10-20 16:10:05 +02:00
parent 39fa5298f8
commit 682e9d49f5

View file

@ -15,7 +15,7 @@ class HomeAppBar extends StatelessWidget with PreferredSizeWidget {
PreferredSizeWidget build(BuildContext context) { PreferredSizeWidget build(BuildContext context) {
final serversProvider = Provider.of<ServersProvider>(context); final serversProvider = Provider.of<ServersProvider>(context);
final Server server = serversProvider.selectedServer!; final Server? server = serversProvider.selectedServer;
void navigateServers() { void navigateServers() {
Future.delayed(const Duration(milliseconds: 0), (() { Future.delayed(const Duration(milliseconds: 0), (() {
@ -27,7 +27,7 @@ class HomeAppBar extends StatelessWidget with PreferredSizeWidget {
void openWebAdminPanel() { void openWebAdminPanel() {
FlutterWebBrowser.openWebPage( FlutterWebBrowser.openWebPage(
url: "${server.connectionMethod}://${server.domain}${server.path ?? ""}${server.port != null ? ':${server.port}' : ""}", url: "${server!.connectionMethod}://${server.domain}${server.path ?? ""}${server.port != null ? ':${server.port}' : ""}",
customTabsOptions: const CustomTabsOptions( customTabsOptions: const CustomTabsOptions(
instantAppsEnabled: true, instantAppsEnabled: true,
showTitle: true, showTitle: true,
@ -52,13 +52,13 @@ class HomeAppBar extends StatelessWidget with PreferredSizeWidget {
Row( Row(
children: [ children: [
Icon( Icon(
serversProvider.serverStatus.data != null serversProvider.selectedServer != null && serversProvider.serverStatus.data != null
? serversProvider.serverStatus.data!.generalEnabled == true ? serversProvider.serverStatus.data!.generalEnabled == true
? Icons.gpp_good_rounded ? Icons.gpp_good_rounded
: Icons.gpp_bad_rounded : Icons.gpp_bad_rounded
: Icons.shield, : Icons.shield,
size: 30, size: 30,
color: serversProvider.serverStatus.data != null color: serversProvider.selectedServer != null && serversProvider.serverStatus.data != null
? serversProvider.serverStatus.data!.generalEnabled == true ? serversProvider.serverStatus.data!.generalEnabled == true
? Colors.green ? Colors.green
: Colors.red : Colors.red
@ -68,8 +68,9 @@ class HomeAppBar extends StatelessWidget with PreferredSizeWidget {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
if (serversProvider.selectedServer != null) ...[
Text( Text(
server.name, server!.name,
style: const TextStyle( style: const TextStyle(
fontSize: 20 fontSize: 20
), ),
@ -83,6 +84,13 @@ class HomeAppBar extends StatelessWidget with PreferredSizeWidget {
), ),
) )
], ],
if (serversProvider.selectedServer == null) Text(
AppLocalizations.of(context)!.noServerSelected,
style: const TextStyle(
fontSize: 20
),
),
],
), ),
], ],
), ),
@ -98,7 +106,7 @@ class HomeAppBar extends StatelessWidget with PreferredSizeWidget {
], ],
), ),
), ),
if (serversProvider.serverStatus.loadStatus == 1) PopupMenuItem( if (serversProvider.selectedServer != null && serversProvider.serverStatus.loadStatus == 1) PopupMenuItem(
onTap: openWebAdminPanel, onTap: openWebAdminPanel,
child: Row( child: Row(
children: [ children: [