feat: mobile-like window size and always-visible stats
- Changed window size to mobile phone format (400x800) - Removed width condition for ActiveProxyFooter - now always visible - Added run-umbrix.sh launch script with icon copying - Stats cards now display on all screen sizes
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:hiddify/core/preferences/general_preferences.dart';
|
||||
import 'package:hiddify/core/router/routes.dart';
|
||||
import 'package:hiddify/features/deep_link/notifier/deep_link_notifier.dart';
|
||||
import 'package:hiddify/utils/utils.dart';
|
||||
import 'package:umbrix/core/preferences/general_preferences.dart';
|
||||
import 'package:umbrix/core/router/routes.dart';
|
||||
import 'package:umbrix/features/deep_link/notifier/deep_link_notifier.dart';
|
||||
import 'package:umbrix/utils/utils.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:sentry_flutter/sentry_flutter.dart';
|
||||
|
||||
@@ -50,22 +50,26 @@ GoRouter router(RouterRef ref) {
|
||||
}
|
||||
|
||||
final tabLocations = [
|
||||
const HomeRoute().location,
|
||||
const ProxiesRoute().location,
|
||||
const PerAppProxyRoute().location,
|
||||
const ConfigOptionsRoute().location,
|
||||
const SettingsRoute().location,
|
||||
const AboutRoute().location,
|
||||
const HomeRoute().location, // 0: Главная
|
||||
const ProxiesRoute().location, // 1: Локации
|
||||
const PerAppProxyRoute().location, // 2: Исключения
|
||||
const SettingsRoute().location, // 3: Настройки
|
||||
const AboutRoute().location, // 4: О программе
|
||||
];
|
||||
|
||||
int getCurrentIndex(BuildContext context) {
|
||||
final String location = GoRouterState.of(context).uri.path;
|
||||
|
||||
// Проверяем точное совпадение для главной
|
||||
if (location == const HomeRoute().location) return 0;
|
||||
var index = 0;
|
||||
for (final tab in tabLocations.sublist(1)) {
|
||||
index++;
|
||||
if (location.startsWith(tab)) return index;
|
||||
}
|
||||
|
||||
// Проверяем остальные маршруты по порядку
|
||||
// ВАЖНО: более длинные пути проверяем раньше!
|
||||
if (location.startsWith(const PerAppProxyRoute().location)) return 2; // /settings/per-app-proxy
|
||||
if (location.startsWith(const ProxiesRoute().location)) return 1; // /proxies
|
||||
if (location.startsWith(const SettingsRoute().location)) return 3; // /settings
|
||||
if (location.startsWith(const AboutRoute().location)) return 4; // /about
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user