mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-04 20:30:35 +00:00
Fab improvements and changed screens scaffolds
This commit is contained in:
parent
4ff8c7e123
commit
7219150e6c
16 changed files with 232 additions and 127 deletions
|
@ -2,27 +2,26 @@ import 'package:flutter/material.dart';
|
|||
import 'package:provider/provider.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
import 'package:adguard_home_manager/config/app_screens.dart';
|
||||
import 'package:adguard_home_manager/providers/logs_provider.dart';
|
||||
import 'package:adguard_home_manager/providers/servers_provider.dart';
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
import 'package:adguard_home_manager/models/app_screen.dart';
|
||||
|
||||
class BottomNavBar extends StatelessWidget {
|
||||
final List<AppScreen> screens;
|
||||
final int selectedScreen;
|
||||
final void Function(int) onSelect;
|
||||
|
||||
const BottomNavBar({
|
||||
Key? key,
|
||||
required this.screens,
|
||||
required this.selectedScreen,
|
||||
required this.onSelect,
|
||||
}) : super(key: key);
|
||||
const BottomNavBar({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final serversProvider = Provider.of<ServersProvider>(context);
|
||||
final appConfigProvider = Provider.of<AppConfigProvider>(context);
|
||||
final logsProvider = Provider.of<LogsProvider>(context);
|
||||
|
||||
List<AppScreen> screens = serversProvider.selectedServer != null
|
||||
? screensServerConnected
|
||||
: screensSelectServer;
|
||||
|
||||
|
||||
String translatedName(String key) {
|
||||
switch (key) {
|
||||
case 'home':
|
||||
|
@ -49,7 +48,7 @@ class BottomNavBar extends StatelessWidget {
|
|||
}
|
||||
|
||||
return NavigationBar(
|
||||
selectedIndex: selectedScreen,
|
||||
selectedIndex: appConfigProvider.selectedScreen,
|
||||
destinations: screens.map((screen) => NavigationDestination(
|
||||
icon: Icon(screen.icon),
|
||||
label: translatedName(screen.name)
|
||||
|
@ -63,7 +62,7 @@ class BottomNavBar extends StatelessWidget {
|
|||
if (value != 2) {
|
||||
logsProvider.resetFilters();
|
||||
}
|
||||
onSelect(value);
|
||||
appConfigProvider.setSelectedScreen(value);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue