Files
UUVPN/source/lib/utils/navigator_util.dart
T
Zeus 1bf69048f3 update ios project
update ios project
2024-07-24 11:51:39 +08:00

81 lines
2.8 KiB
Dart

import 'dart:convert';
import 'package:fluro/fluro.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';
import 'package:uuvpn/pages/accountPage.dart';
import 'package:uuvpn/pages/crisp_page.dart';
import 'package:uuvpn/pages/plan/plan_page.dart';
import 'package:uuvpn/pages/server_list.dart';
import 'package:uuvpn/router/application.dart';
import 'package:uuvpn/router/routers.dart';
class NavigatorUtil {
static goHomePage(BuildContext context) {
Application.router?.navigateTo(context, Routers.home,
transition: TransitionType.inFromRight, replace: true);
}
static goLogin(BuildContext context) {
Application.router?.navigateTo(context, Routers.login,
transition: TransitionType.inFromRight, replace: true);
}
static goPlan(BuildContext context) {
showCupertinoModalBottomSheet(
context: context, builder: (context) => const PlanPage());
// Application.router.navigateTo(context, Routers.plan,
// transition: TransitionType.inFromRight);
}
static goSettings(BuildContext context) {
// showCupertinoModalBottomSheet(
// context: context, builder: (context) => const AccountPage());
// Application.router.navigateTo(context, Routers.plan,
// transition: TransitionType.inFromRight);
// Application.router?.navigateTo(context, Routers.account,
// transition: TransitionType.inFromRight, replace: true);
Navigator.of(context)
.push(MaterialPageRoute(builder: (builder) => const AccountPage()));
}
static goServerList(BuildContext context) {
// showCupertinoModalBottomSheet(
// context: context, builder: (context) => const ServerListPage());
showCupertinoModalBottomSheet(
context: context,
builder: (BuildContext context) {
return Container(
height: MediaQuery.of(context).size.height /
1.3, // set height to half of the screen
child: Center(
child: const ServerListPage(),
),
);
},
);
// Application.router.navigateTo(context, Routers.serverList,
// transition: TransitionType.inFromRight);
}
static goToCrisp(BuildContext context) {
showCupertinoModalBottomSheet(
context: context, builder: (context) => const CrispPage());
}
static goWebView(BuildContext context, String titleName, String url) {
String encodeUrl = Uri.encodeComponent(jsonEncode(url));
String encodeTitleName = Uri.encodeComponent(jsonEncode(titleName));
return Application.router?.navigateTo(
context, "${Routers.webView}?titleName=$encodeTitleName&url=$encodeUrl",
transition: TransitionType.inFromRight);
}
static goBack(BuildContext context) {
Application.router?.pop(context);
}
}