Fix core crash caused by windows resource manager restart Optimize logs, requests, access to pages Fix macos bypass domain issues
81 lines
2.2 KiB
Dart
81 lines
2.2 KiB
Dart
import 'package:fl_clash/enum/enum.dart';
|
|
import 'package:fl_clash/fragments/fragments.dart';
|
|
import 'package:fl_clash/models/models.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
class Navigation {
|
|
static Navigation? _instance;
|
|
|
|
getItems({
|
|
bool openLogs = false,
|
|
bool hasProxies = false,
|
|
}) {
|
|
return [
|
|
const NavigationItem(
|
|
icon: Icon(Icons.space_dashboard),
|
|
label: "dashboard",
|
|
fragment: DashboardFragment(),
|
|
),
|
|
NavigationItem(
|
|
icon: const Icon(Icons.rocket),
|
|
label: "proxies",
|
|
fragment: const ProxiesFragment(),
|
|
modes: hasProxies
|
|
? [NavigationItemMode.mobile, NavigationItemMode.desktop]
|
|
: [],
|
|
),
|
|
const NavigationItem(
|
|
icon: Icon(Icons.folder),
|
|
label: "profiles",
|
|
fragment: ProfilesFragment(),
|
|
),
|
|
const NavigationItem(
|
|
icon: Icon(Icons.view_timeline),
|
|
label: "requests",
|
|
fragment: RequestsFragment(),
|
|
description: "requestsDesc",
|
|
modes: [NavigationItemMode.desktop, NavigationItemMode.more],
|
|
),
|
|
const NavigationItem(
|
|
icon: Icon(Icons.ballot),
|
|
label: "connections",
|
|
fragment: ConnectionsFragment(),
|
|
description: "connectionsDesc",
|
|
modes: [NavigationItemMode.desktop, NavigationItemMode.more],
|
|
),
|
|
const NavigationItem(
|
|
icon: Icon(Icons.storage),
|
|
label: "resources",
|
|
description: "resourcesDesc",
|
|
keep: false,
|
|
fragment: Resources(),
|
|
modes: [NavigationItemMode.more],
|
|
),
|
|
NavigationItem(
|
|
icon: const Icon(Icons.adb),
|
|
label: "logs",
|
|
fragment: const LogsFragment(),
|
|
description: "logsDesc",
|
|
modes: openLogs
|
|
? [NavigationItemMode.desktop, NavigationItemMode.more]
|
|
: [],
|
|
),
|
|
const NavigationItem(
|
|
icon: Icon(Icons.construction),
|
|
label: "tools",
|
|
fragment: ToolsFragment(),
|
|
modes: [NavigationItemMode.desktop, NavigationItemMode.mobile],
|
|
),
|
|
];
|
|
}
|
|
|
|
Navigation._internal();
|
|
|
|
factory Navigation() {
|
|
_instance ??= Navigation._internal();
|
|
return _instance!;
|
|
}
|
|
}
|
|
|
|
final navigation = Navigation();
|