| 
						
						
						
					 | 
					 | 
					@ -1,5 +1,7 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					part of '../../neon.dart'; | 
					 | 
					 | 
					 | 
					part of '../../neon.dart'; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					const kQuickBarWidth = kAvatarSize + 20; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					class HomePage extends StatefulWidget { | 
					 | 
					 | 
					 | 
					class HomePage extends StatefulWidget { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  const HomePage({ | 
					 | 
					 | 
					 | 
					  const HomePage({ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    required this.account, | 
					 | 
					 | 
					 | 
					    required this.account, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -291,6 +293,14 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ); | 
					 | 
					 | 
					 | 
					    ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  Future _openSettings() async { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    await Navigator.of(context).push( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      MaterialPageRoute( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        builder: (final context) => const SettingsPage(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  @override | 
					 | 
					 | 
					 | 
					  @override | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  void dispose() { | 
					 | 
					 | 
					 | 
					  void dispose() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    _capabilitiesBloc.dispose(); | 
					 | 
					 | 
					 | 
					    _capabilitiesBloc.dispose(); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -345,7 +355,9 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              final accountsSnapshot, | 
					 | 
					 | 
					 | 
					              final accountsSnapshot, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              final _, | 
					 | 
					 | 
					 | 
					              final _, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ) => | 
					 | 
					 | 
					 | 
					            ) => | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                WillPopScope( | 
					 | 
					 | 
					 | 
					                OptionBuilder<NavigationMode>( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					              option: _globalOptions.navigationMode, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					              builder: (final context, final navigationMode) => WillPopScope( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                onWillPop: () async { | 
					 | 
					 | 
					 | 
					                onWillPop: () async { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  if (_scaffoldKey.currentState!.isDrawerOpen) { | 
					 | 
					 | 
					 | 
					                  if (_scaffoldKey.currentState!.isDrawerOpen) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    Navigator.pop(context); | 
					 | 
					 | 
					 | 
					                    Navigator.pop(context); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -360,106 +372,64 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    if (accountsSnapshot.hasData) { | 
					 | 
					 | 
					 | 
					                    if (accountsSnapshot.hasData) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      final accounts = accountsSnapshot.data!; | 
					 | 
					 | 
					 | 
					                      final accounts = accountsSnapshot.data!; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      final account = accounts.singleWhere((final account) => account.id == widget.account.id); | 
					 | 
					 | 
					 | 
					                      final account = accounts.singleWhere((final account) => account.id == widget.account.id); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    return Scaffold( | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      key: _scaffoldKey, | 
					 | 
					 | 
					 | 
					                      final isQuickBar = navigationMode == NavigationMode.quickBar; | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      resizeToAvoidBottomInset: false, | 
					 | 
					 | 
					 | 
					                      final drawer = Drawer( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      appBar: AppBar( | 
					 | 
					 | 
					 | 
					                        width: isQuickBar ? kQuickBarWidth : null, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        title: Column( | 
					 | 
					 | 
					 | 
					                        child: Container( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                          crossAxisAlignment: CrossAxisAlignment.start, | 
					 | 
					 | 
					 | 
					                          padding: isQuickBar ? const EdgeInsets.all(5) : null, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                          color: isQuickBar ? Theme.of(context).appBarTheme.backgroundColor : null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                          child: Column( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            children: [ | 
					 | 
					 | 
					 | 
					                            children: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            Row( | 
					 | 
					 | 
					 | 
					                              Expanded( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                child: Scrollbar( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  child: ListView( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    // Needed for the drawer header to also render in the statusbar | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    padding: EdgeInsets.zero, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    children: [ | 
					 | 
					 | 
					 | 
					                                    children: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                if (appsData != null && activeAppIDSnapshot.hasData) ...[ | 
					 | 
					 | 
					 | 
					                                      Builder( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  Flexible( | 
					 | 
					 | 
					 | 
					                                        builder: (final context) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    child: Text( | 
					 | 
					 | 
					 | 
					                                          if (accountsSnapshot.hasData) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      appsData | 
					 | 
					 | 
					 | 
					                                            if (isQuickBar) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          .singleWhere((final a) => a.id == activeAppIDSnapshot.data!) | 
					 | 
					 | 
					 | 
					                                              return Column( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          .name(context), | 
					 | 
					 | 
					 | 
					                                                children: [ | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    ), | 
					 | 
					 | 
					 | 
					                                                  if (accounts.length != 1) ...[ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                    for (final account in accounts) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                      Container( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                        margin: const EdgeInsets.symmetric( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                          vertical: 5, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                        ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                        child: Tooltip( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                          message: account.client.humanReadableID, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                          child: IconButton( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            onPressed: () { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                              accountsBloc.setActiveAccount(account); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            icon: IntrinsicHeight( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                              child: AccountAvatar( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                                account: account, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                              ), | 
					 | 
					 | 
					 | 
					                                                              ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                ], | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                if (appsError != null) ...[ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  const SizedBox( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    width: 8, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                            ), | 
					 | 
					 | 
					 | 
					                                                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  Icon( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    Icons.error_outline, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    size: 30, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    color: Theme.of(context).colorScheme.onPrimary, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                          ), | 
					 | 
					 | 
					 | 
					                                                          ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                ], | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                if (appsLoading) ...[ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  const SizedBox( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    width: 8, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  ), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  SizedBox( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    height: 30, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    width: 30, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    child: CircularProgressIndicator( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      color: Theme.of(context).colorScheme.onPrimary, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      strokeWidth: 2, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                        ), | 
					 | 
					 | 
					 | 
					                                                        ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      ), | 
					 | 
					 | 
					 | 
					                                                      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    ], | 
					 | 
					 | 
					 | 
					                                                    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              ], | 
					 | 
					 | 
					 | 
					                                                    Container( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                      margin: const EdgeInsets.only( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                        top: 10, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      ), | 
					 | 
					 | 
					 | 
					                                                      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            if (accounts.length > 1) ...[ | 
					 | 
					 | 
					 | 
					                                                      child: Divider( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              Text( | 
					 | 
					 | 
					 | 
					                                                        height: 5, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                account.client.humanReadableID, | 
					 | 
					 | 
					 | 
					                                                        color: Theme.of(context).appBarTheme.foregroundColor, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                style: Theme.of(context).textTheme.bodySmall!, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      ), | 
					 | 
					 | 
					 | 
					                                                      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            ], | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                          ], | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        ), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        actions: [ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                          if (appsData != null && activeAppIDSnapshot.hasData) ...[ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            IconButton( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              icon: const Icon(Icons.settings), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              onPressed: () async { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                await Navigator.of(context).push( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  MaterialPageRoute( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    builder: (final context) => NextcloudAppSpecificSettingsPage( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      appImplementation: | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          appsData.singleWhere((final a) => a.id == activeAppIDSnapshot.data!), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    ), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  ), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                ); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              }, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            ), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            IconButton( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              icon: AccountAvatar( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                account: account, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                requestManager: _requestManager, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              ), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              onPressed: () async { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                await Navigator.of(context).push( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  MaterialPageRoute( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    builder: (final context) => AccountSpecificSettingsPage( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      bloc: accountsBloc, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      account: account, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    ), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  ), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                ); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              }, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    ), | 
					 | 
					 | 
					 | 
					                                                    ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                  ], | 
					 | 
					 | 
					 | 
					                                                  ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                ], | 
					 | 
					 | 
					 | 
					                                                ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      ), | 
					 | 
					 | 
					 | 
					                                              ); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      drawer: Drawer( | 
					 | 
					 | 
					 | 
					                                            } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        child: Column( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                          children: [ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            Expanded( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              child: Scrollbar( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                child: ListView( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  // Needed for the drawer header to also render in the statusbar | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  padding: EdgeInsets.zero, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  children: [ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    Builder( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      builder: (final context) { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        if (accountsSnapshot.hasData) { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                            return DrawerHeader( | 
					 | 
					 | 
					 | 
					                                            return DrawerHeader( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                              decoration: BoxDecoration( | 
					 | 
					 | 
					 | 
					                                              decoration: BoxDecoration( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                              color: Theme.of(context).colorScheme.primary, | 
					 | 
					 | 
					 | 
					                                                color: Theme.of(context).appBarTheme.backgroundColor, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                              ), | 
					 | 
					 | 
					 | 
					                                              ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                              child: Column( | 
					 | 
					 | 
					 | 
					                                              child: Column( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                crossAxisAlignment: CrossAxisAlignment.start, | 
					 | 
					 | 
					 | 
					                                                crossAxisAlignment: CrossAxisAlignment.start, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -469,7 +439,7 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    Text( | 
					 | 
					 | 
					 | 
					                                                    Text( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      capabilitiesData.capabilities!.theming!.name!, | 
					 | 
					 | 
					 | 
					                                                      capabilitiesData.capabilities!.theming!.name!, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      style: DefaultTextStyle.of(context).style.copyWith( | 
					 | 
					 | 
					 | 
					                                                      style: DefaultTextStyle.of(context).style.copyWith( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                          color: Theme.of(context).colorScheme.onPrimary, | 
					 | 
					 | 
					 | 
					                                                            color: Theme.of(context).appBarTheme.foregroundColor, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                          ), | 
					 | 
					 | 
					 | 
					                                                          ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    ), | 
					 | 
					 | 
					 | 
					                                                    ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    if (capabilitiesData.capabilities!.theming!.logo != null) ...[ | 
					 | 
					 | 
					 | 
					                                                    if (capabilitiesData.capabilities!.theming!.logo != null) ...[ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -492,27 +462,28 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      visible: capabilitiesLoading, | 
					 | 
					 | 
					 | 
					                                                      visible: capabilitiesLoading, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    ), | 
					 | 
					 | 
					 | 
					                                                    ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                  ], | 
					 | 
					 | 
					 | 
					                                                  ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                if (accountsSnapshot.data!.length != 1) ...[ | 
					 | 
					 | 
					 | 
					                                                  if (accounts.length != 1) ...[ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    DropdownButtonHideUnderline( | 
					 | 
					 | 
					 | 
					                                                    DropdownButtonHideUnderline( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      child: DropdownButton<String>( | 
					 | 
					 | 
					 | 
					                                                      child: DropdownButton<String>( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                        isExpanded: true, | 
					 | 
					 | 
					 | 
					                                                        isExpanded: true, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                        dropdownColor: Theme.of(context).colorScheme.primary, | 
					 | 
					 | 
					 | 
					                                                        dropdownColor: Theme.of(context).colorScheme.primary, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      iconEnabledColor: Theme.of(context).colorScheme.onPrimary, | 
					 | 
					 | 
					 | 
					                                                        iconEnabledColor: Theme.of(context).appBarTheme.foregroundColor, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                        value: widget.account.id, | 
					 | 
					 | 
					 | 
					                                                        value: widget.account.id, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      items: accountsSnapshot.data! | 
					 | 
					 | 
					 | 
					                                                        items: accounts | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                            .map<DropdownMenuItem<String>>( | 
					 | 
					 | 
					 | 
					                                                            .map<DropdownMenuItem<String>>( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                              (final account) => DropdownMenuItem<String>( | 
					 | 
					 | 
					 | 
					                                                              (final account) => DropdownMenuItem<String>( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                                value: account.id, | 
					 | 
					 | 
					 | 
					                                                                value: account.id, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                                child: AccountTile( | 
					 | 
					 | 
					 | 
					                                                                child: AccountTile( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                                  account: account, | 
					 | 
					 | 
					 | 
					                                                                  account: account, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                                  dense: true, | 
					 | 
					 | 
					 | 
					                                                                  dense: true, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                                textColor: Theme.of(context).colorScheme.onPrimary, | 
					 | 
					 | 
					 | 
					                                                                  textColor: | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                                      Theme.of(context).appBarTheme.foregroundColor, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                                ), | 
					 | 
					 | 
					 | 
					                                                                ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                              ), | 
					 | 
					 | 
					 | 
					                                                              ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                            ) | 
					 | 
					 | 
					 | 
					                                                            ) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                            .toList(), | 
					 | 
					 | 
					 | 
					                                                            .toList(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                        onChanged: (final id) { | 
					 | 
					 | 
					 | 
					                                                        onChanged: (final id) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                        for (final account in accountsSnapshot.data!) { | 
					 | 
					 | 
					 | 
					                                                          for (final account in accounts) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                            if (account.id == id) { | 
					 | 
					 | 
					 | 
					                                                            if (account.id == id) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                              accountsBloc.setActiveAccount(account); | 
					 | 
					 | 
					 | 
					                                                              accountsBloc.setActiveAccount(account); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                              break; | 
					 | 
					 | 
					 | 
					                                                              break; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -531,6 +502,7 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      ), | 
					 | 
					 | 
					 | 
					                                      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      ExceptionWidget( | 
					 | 
					 | 
					 | 
					                                      ExceptionWidget( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        appsError, | 
					 | 
					 | 
					 | 
					                                        appsError, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        onlyIcon: isQuickBar, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        onRetry: () { | 
					 | 
					 | 
					 | 
					                                        onRetry: () { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          _appsBloc.refresh(); | 
					 | 
					 | 
					 | 
					                                          _appsBloc.refresh(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        }, | 
					 | 
					 | 
					 | 
					                                        }, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -540,19 +512,52 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      ), | 
					 | 
					 | 
					 | 
					                                      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      if (appsData != null) ...[ | 
					 | 
					 | 
					 | 
					                                      if (appsData != null) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        for (final appImplementation in appsData) ...[ | 
					 | 
					 | 
					 | 
					                                        for (final appImplementation in appsData) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        ListTile( | 
					 | 
					 | 
					 | 
					                                          StreamBuilder<int>( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          key: Key('app-${appImplementation.id}'), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          title: StreamBuilder<int>( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                            stream: appImplementation.getUnreadCounter(_appsBloc) ?? | 
					 | 
					 | 
					 | 
					                                            stream: appImplementation.getUnreadCounter(_appsBloc) ?? | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                BehaviorSubject<int>.seeded(0), | 
					 | 
					 | 
					 | 
					                                                BehaviorSubject<int>.seeded(0), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                            builder: (final context, final unreadCounterSnapshot) => Row( | 
					 | 
					 | 
					 | 
					                                            builder: (final context, final unreadCounterSnapshot) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              final unreadCount = unreadCounterSnapshot.data ?? 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              if (isQuickBar) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                return Tooltip( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                  message: appImplementation.name(context), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                  child: IconButton( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                    onPressed: () { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                      _appsBloc.setActiveApp(appImplementation.id); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                    }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                    icon: Stack( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                      alignment: Alignment.bottomRight, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                      children: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                        Container( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                          margin: const EdgeInsets.all(5), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                          child: appImplementation.buildIcon( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            context, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            height: kAvatarSize, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            width: kAvatarSize, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            color: Theme.of(context).appBarTheme.foregroundColor, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                          ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                        ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                        if (unreadCount > 0) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                          Text( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            unreadCount.toString(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            style: TextStyle( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                              color: Theme.of(context).appBarTheme.foregroundColor, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                          ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                        ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                      ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                    ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                  ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              return ListTile( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                key: Key('app-${appImplementation.id}'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                title: Row( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                  mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
					 | 
					 | 
					 | 
					                                                  mainAxisAlignment: MainAxisAlignment.spaceBetween, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                  children: [ | 
					 | 
					 | 
					 | 
					                                                  children: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    Text(appImplementation.name(context)), | 
					 | 
					 | 
					 | 
					                                                    Text(appImplementation.name(context)), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                if (unreadCounterSnapshot.hasData && | 
					 | 
					 | 
					 | 
					                                                    if (unreadCount > 0) ...[ | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    unreadCounterSnapshot.data! > 0) ...[ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                      Text( | 
					 | 
					 | 
					 | 
					                                                      Text( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    unreadCounterSnapshot.data!.toString(), | 
					 | 
					 | 
					 | 
					                                                        unreadCount.toString(), | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                        style: TextStyle( | 
					 | 
					 | 
					 | 
					                                                        style: TextStyle( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                          color: Theme.of(context).colorScheme.primary, | 
					 | 
					 | 
					 | 
					                                                          color: Theme.of(context).colorScheme.primary, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                          fontWeight: FontWeight.bold, | 
					 | 
					 | 
					 | 
					                                                          fontWeight: FontWeight.bold, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -562,12 +567,16 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    ], | 
					 | 
					 | 
					 | 
					                                                    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                  ], | 
					 | 
					 | 
					 | 
					                                                  ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                ), | 
					 | 
					 | 
					 | 
					                                                ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          ), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                leading: appImplementation.buildIcon(context), | 
					 | 
					 | 
					 | 
					                                                leading: appImplementation.buildIcon(context), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                minLeadingWidth: 0, | 
					 | 
					 | 
					 | 
					                                                minLeadingWidth: 0, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                onTap: () { | 
					 | 
					 | 
					 | 
					                                                onTap: () { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                  _appsBloc.setActiveApp(appImplementation.id); | 
					 | 
					 | 
					 | 
					                                                  _appsBloc.setActiveApp(appImplementation.id); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                  if (navigationMode == NavigationMode.drawer) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                    // Don't pop when the drawer is always shown | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                    Navigator.of(context).pop(); | 
					 | 
					 | 
					 | 
					                                                    Navigator.of(context).pop(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                            }, | 
					 | 
					 | 
					 | 
					                                            }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          ), | 
					 | 
					 | 
					 | 
					                                          ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        ], | 
					 | 
					 | 
					 | 
					                                        ], | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -576,23 +585,146 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  ), | 
					 | 
					 | 
					 | 
					                                  ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                ), | 
					 | 
					 | 
					 | 
					                                ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                              ), | 
					 | 
					 | 
					 | 
					                              ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                              if (isQuickBar) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                IconButton( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  icon: Icon( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    Icons.settings, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    color: Theme.of(context).appBarTheme.foregroundColor, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  onPressed: _openSettings, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                              ] else ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                ListTile( | 
					 | 
					 | 
					 | 
					                                ListTile( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  key: const Key('settings'), | 
					 | 
					 | 
					 | 
					                                  key: const Key('settings'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  title: Text(AppLocalizations.of(context).settings), | 
					 | 
					 | 
					 | 
					                                  title: Text(AppLocalizations.of(context).settings), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  leading: const Icon(Icons.settings), | 
					 | 
					 | 
					 | 
					                                  leading: const Icon(Icons.settings), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  minLeadingWidth: 0, | 
					 | 
					 | 
					 | 
					                                  minLeadingWidth: 0, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  onTap: () async { | 
					 | 
					 | 
					 | 
					                                  onTap: () async { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    if (navigationMode == NavigationMode.drawer) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      Navigator.of(context).pop(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    await _openSettings(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                              ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                            ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                          ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                      ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                      return Scaffold( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        body: Row( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                          children: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                            if (navigationMode == NavigationMode.drawerAlwaysVisible) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                              drawer, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                            ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                            Expanded( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                              child: Scaffold( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                key: _scaffoldKey, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                resizeToAvoidBottomInset: false, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                drawer: navigationMode == NavigationMode.drawer ? drawer : null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                appBar: AppBar( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  scrolledUnderElevation: navigationMode != NavigationMode.drawer ? 0 : null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  automaticallyImplyLeading: navigationMode == NavigationMode.drawer, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  leadingWidth: isQuickBar ? kQuickBarWidth : null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  leading: isQuickBar | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      ? Container( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          padding: const EdgeInsets.all(5), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          child: capabilitiesData?.capabilities?.theming?.logo != null | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              ? CachedURLImage( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                  url: capabilitiesData!.capabilities!.theming!.logo!, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                  requestManager: _requestManager, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                  client: widget.account.client, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                ) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              : null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        ) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      : null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  title: Column( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    crossAxisAlignment: CrossAxisAlignment.start, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    children: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      Row( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        children: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          if (appsData != null && activeAppIDSnapshot.hasData) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            Flexible( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              child: Text( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                appsData | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                    .singleWhere((final a) => a.id == activeAppIDSnapshot.data!) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                    .name(context), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          if (appsError != null) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            const SizedBox( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              width: 8, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            Icon( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              Icons.error_outline, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              size: 30, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              color: Theme.of(context).colorScheme.onPrimary, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          if (appsLoading) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            const SizedBox( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              width: 8, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            Expanded( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              child: CustomLinearProgressIndicator( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                color: Theme.of(context).appBarTheme.foregroundColor, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      if (accounts.length > 1) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        Text( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          account.client.humanReadableID, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          style: Theme.of(context).textTheme.bodySmall!, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  actions: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    if (appsData != null && activeAppIDSnapshot.hasData) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      IconButton( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        icon: const Icon(Icons.settings), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        onPressed: () async { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          await Navigator.of(context).push( | 
					 | 
					 | 
					 | 
					                                          await Navigator.of(context).push( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                            MaterialPageRoute( | 
					 | 
					 | 
					 | 
					                                            MaterialPageRoute( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                    builder: (final context) => const SettingsPage(), | 
					 | 
					 | 
					 | 
					                                              builder: (final context) => NextcloudAppSpecificSettingsPage( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                appImplementation: appsData | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                    .singleWhere((final a) => a.id == activeAppIDSnapshot.data!), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                            ), | 
					 | 
					 | 
					 | 
					                                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          ); | 
					 | 
					 | 
					 | 
					                                          ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        }, | 
					 | 
					 | 
					 | 
					                                        }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      ), | 
					 | 
					 | 
					 | 
					                                      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                          ], | 
					 | 
					 | 
					 | 
					                                      IconButton( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        icon: IntrinsicWidth( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          child: AccountAvatar( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            account: account, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        onPressed: () async { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          await Navigator.of(context).push( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            MaterialPageRoute( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              builder: (final context) => AccountSpecificSettingsPage( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                bloc: accountsBloc, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                                account: account, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                              ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                          ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      ), | 
					 | 
					 | 
					 | 
					                                      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                ), | 
					 | 
					 | 
					 | 
					                                ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      body: Column( | 
					 | 
					 | 
					 | 
					                                body: Row( | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  children: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    if (navigationMode == NavigationMode.quickBar) ...[ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      drawer, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    Expanded( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                      child: Column( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        children: [ | 
					 | 
					 | 
					 | 
					                                        children: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          ServerStatus( | 
					 | 
					 | 
					 | 
					                                          ServerStatus( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                            account: widget.account, | 
					 | 
					 | 
					 | 
					                                            account: widget.account, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -625,6 +757,13 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                          ], | 
					 | 
					 | 
					 | 
					                                          ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                        ], | 
					 | 
					 | 
					 | 
					                                        ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                      ), | 
					 | 
					 | 
					 | 
					                                      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                  ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                                ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                              ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                          ], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      ); | 
					 | 
					 | 
					 | 
					                      ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    } | 
					 | 
					 | 
					 | 
					                    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    return Container(); | 
					 | 
					 | 
					 | 
					                    return Container(); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -634,6 +773,7 @@ class _HomePageState extends State<HomePage> with tray.TrayListener, WindowListe | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ), | 
					 | 
					 | 
					 | 
					            ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          ), | 
					 | 
					 | 
					 | 
					          ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ), | 
					 | 
					 | 
					 | 
					        ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      ), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ); | 
					 | 
					 | 
					 | 
					    ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |