update dio to dio: ^5.5.0+1
update dio to dio: ^5.5.0+1
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:sail/channels/Platform.dart';
|
||||
import 'package:sail/utils/common_util.dart';
|
||||
import 'package:uuvpn/channels/Platform.dart';
|
||||
import 'package:uuvpn/utils/common_util.dart';
|
||||
|
||||
enum VpnStatus {
|
||||
connected(code: 2),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*后台接口api*/
|
||||
import 'package:sail/common/public.dart';
|
||||
import 'package:uuvpn/common/public.dart';
|
||||
|
||||
class Apis {
|
||||
static String appid = "IPOSih2134KHJKLDIO";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'dart:async';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:sail/common/public.dart';
|
||||
import 'package:uuvpn/common/public.dart';
|
||||
import 'error_interceptor.dart';
|
||||
|
||||
class Http {
|
||||
@@ -19,9 +19,9 @@ class Http {
|
||||
if (dio == null) {
|
||||
// BaseOptions、Options、RequestOptions 都可以配置参数,优先级别依次递增,且可以根据优先级别覆盖参数
|
||||
BaseOptions options = new BaseOptions(
|
||||
connectTimeout: CONNECT_TIMEOUT,
|
||||
connectTimeout: Duration(seconds: CONNECT_TIMEOUT),
|
||||
// 响应流上前后两次接受到数据的间隔,单位为毫秒。
|
||||
receiveTimeout: RECEIVE_TIMEOUT,
|
||||
receiveTimeout: Duration(seconds: RECEIVE_TIMEOUT),
|
||||
headers: {},
|
||||
);
|
||||
if (options.contentType != null &&
|
||||
@@ -64,8 +64,8 @@ class Http {
|
||||
List<Interceptor>? interceptors}) {
|
||||
dio!.options = dio!.options.copyWith(
|
||||
baseUrl: baseUrl,
|
||||
connectTimeout: connectTimeout,
|
||||
receiveTimeout: receiveTimeout,
|
||||
connectTimeout: Duration(seconds: connectTimeout ?? 0),
|
||||
receiveTimeout: Duration(seconds: receiveTimeout ?? 0),
|
||||
);
|
||||
if (interceptors != null && interceptors.isNotEmpty) {
|
||||
dio!.interceptors.addAll(interceptors);
|
||||
|
||||
@@ -14,9 +14,9 @@ class DioHttpException implements Exception {
|
||||
return "$code$message";
|
||||
}
|
||||
|
||||
factory DioHttpException.create(DioError error) {
|
||||
factory DioHttpException.create(DioException error) {
|
||||
switch (error.type) {
|
||||
case DioErrorType.other:
|
||||
case DioExceptionType.unknown:
|
||||
{
|
||||
// 网络异常
|
||||
return BadRequestException(-2, "无网络");
|
||||
@@ -27,7 +27,7 @@ class DioHttpException implements Exception {
|
||||
return BadRequestException(-1, "请求取消");
|
||||
}
|
||||
|
||||
case DioErrorType.connectTimeout:
|
||||
case DioErrorType.connectionTimeout:
|
||||
{
|
||||
return BadRequestException(-1, "连接超时");
|
||||
}
|
||||
@@ -42,7 +42,7 @@ class DioHttpException implements Exception {
|
||||
return BadRequestException(-1, "响应超时");
|
||||
}
|
||||
|
||||
case DioErrorType.response:
|
||||
case DioErrorType.badResponse:
|
||||
{
|
||||
try {
|
||||
int? errCode = error.response!.statusCode;
|
||||
|
||||
@@ -3,16 +3,16 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart' as services;
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:sail/models/plan_model.dart';
|
||||
import 'package:sail/models/server_model.dart';
|
||||
import 'package:sail/models/user_subscribe_model.dart';
|
||||
import 'package:sail/router/application.dart';
|
||||
import 'package:sail/router/routers.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
import 'package:uuvpn/models/plan_model.dart';
|
||||
import 'package:uuvpn/models/server_model.dart';
|
||||
import 'package:uuvpn/models/user_subscribe_model.dart';
|
||||
import 'package:uuvpn/router/application.dart';
|
||||
import 'package:uuvpn/router/routers.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
import 'model/UserPreference.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ignore_for_file: file_names
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sail/resources/app_theme.dart';
|
||||
import 'package:uuvpn/resources/app_theme.dart';
|
||||
|
||||
class ThemeCollection extends ChangeNotifier {
|
||||
/// _colorSwatch method or function take RGB color as argument and after processing
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fluttertoast/fluttertoast.dart';
|
||||
import 'package:sail/adapters/leaf_ffi/config.dart';
|
||||
import 'package:sail/channels/Platform.dart';
|
||||
import 'package:sail/channels/vpn_manager.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:sail/models/base_model.dart';
|
||||
import 'package:sail/models/server_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/utils/common_util.dart';
|
||||
import 'package:uuvpn/adapters/leaf_ffi/config.dart';
|
||||
import 'package:uuvpn/channels/Platform.dart';
|
||||
import 'package:uuvpn/channels/vpn_manager.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
import 'package:uuvpn/models/base_model.dart';
|
||||
import 'package:uuvpn/models/server_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/utils/common_util.dart';
|
||||
|
||||
class AppModel extends BaseModel {
|
||||
VpnManager vpnManager = VpnManager();
|
||||
@@ -174,17 +174,17 @@ class AppModel extends BaseModel {
|
||||
|
||||
void setConfigRule(String tag) async {
|
||||
var proxy = config.proxies?.where((proxies) => proxies.tag == tag);
|
||||
|
||||
|
||||
if (proxy == null || proxy.isEmpty) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
config.rules?.last.target = tag;
|
||||
|
||||
|
||||
print("-----------------config-----------------");
|
||||
print(config);
|
||||
print("-----------------config-----------------");
|
||||
|
||||
|
||||
vpnManager.setTunnelConfiguration(config.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sail/models/page_state.dart';
|
||||
import 'package:sail/utils/common_util.dart';
|
||||
import 'package:uuvpn/models/page_state.dart';
|
||||
import 'package:uuvpn/utils/common_util.dart';
|
||||
|
||||
class BaseModel extends ChangeNotifier {
|
||||
PageState pageState = PageState.loading;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:sail/models/base_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/service/user_service.dart';
|
||||
import 'package:uuvpn/models/base_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/service/user_service.dart';
|
||||
|
||||
class LoginModel extends BaseModel {
|
||||
final UserService _userService = UserService();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:sail/entity/plan_entity.dart';
|
||||
import 'package:sail/models/base_model.dart';
|
||||
import 'package:sail/service/plan_service.dart';
|
||||
import 'package:uuvpn/entity/plan_entity.dart';
|
||||
import 'package:uuvpn/models/base_model.dart';
|
||||
import 'package:uuvpn/service/plan_service.dart';
|
||||
|
||||
class PlanModel extends BaseModel {
|
||||
final PlanService _planService = PlanService();
|
||||
|
||||
@@ -2,12 +2,12 @@ import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter_icmp_ping/flutter_icmp_ping.dart';
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:sail/entity/server_entity.dart';
|
||||
import 'package:sail/models/base_model.dart';
|
||||
import 'package:sail/service/server_service.dart';
|
||||
import 'package:sail/utils/shared_preferences_util.dart';
|
||||
import 'package:sail/utils/common_util.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
import 'package:uuvpn/entity/server_entity.dart';
|
||||
import 'package:uuvpn/models/base_model.dart';
|
||||
import 'package:uuvpn/service/server_service.dart';
|
||||
import 'package:uuvpn/utils/shared_preferences_util.dart';
|
||||
import 'package:uuvpn/utils/common_util.dart';
|
||||
|
||||
enum PingType { ping, tcp }
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:sail/entity/login_entity.dart';
|
||||
import 'package:sail/entity/user_entity.dart';
|
||||
import 'package:sail/models/base_model.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:sail/utils/shared_preferences_util.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
import 'package:uuvpn/entity/login_entity.dart';
|
||||
import 'package:uuvpn/entity/user_entity.dart';
|
||||
import 'package:uuvpn/models/base_model.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/utils/shared_preferences_util.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class UserModel extends BaseModel {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:sail/entity/user_subscribe_entity.dart';
|
||||
import 'package:sail/models/base_model.dart';
|
||||
import 'package:sail/service/user_service.dart';
|
||||
import 'package:sail/utils/shared_preferences_util.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
import 'package:uuvpn/entity/user_subscribe_entity.dart';
|
||||
import 'package:uuvpn/models/base_model.dart';
|
||||
import 'package:uuvpn/service/user_service.dart';
|
||||
import 'package:uuvpn/utils/shared_preferences_util.dart';
|
||||
|
||||
class UserSubscribeModel extends BaseModel {
|
||||
UserSubscribeEntity? _userSubscribeEntity;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sail/constant/app_images.dart';
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
|
||||
import 'package:uuvpn/constant/app_images.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
|
||||
class NotFindPage extends StatelessWidget {
|
||||
const NotFindPage({Key? key}) : super(key: key);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
//ProOnecePage.dart
|
||||
//ignore_for_file: file_names
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/router/application.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/router/application.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
|
||||
import '/model/themeCollection.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
//ignore_for_file: file_names
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:sail/models/plan_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/models/user_subscribe_model.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:sail/widgets/logo_bar.dart';
|
||||
import 'package:sail/widgets/my_subscribe.dart';
|
||||
import 'package:sail/widgets/plan_list.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
import 'package:uuvpn/models/plan_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/models/user_subscribe_model.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/widgets/logo_bar.dart';
|
||||
import 'package:uuvpn/widgets/my_subscribe.dart';
|
||||
import 'package:uuvpn/widgets/plan_list.dart';
|
||||
|
||||
import '/routes/proRoute.dart';
|
||||
import '/routes/settingsRoute.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:crisp/crisp.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
|
||||
class CrispPage extends StatefulWidget {
|
||||
const CrispPage({Key? key}) : super(key: key);
|
||||
|
||||
@@ -5,31 +5,31 @@ import 'package:flutter/services.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/constant/app_dimens.dart';
|
||||
import 'package:sail/model/themeCollection.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:sail/models/plan_model.dart';
|
||||
import 'package:sail/models/server_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/models/user_subscribe_model.dart';
|
||||
import 'package:sail/pages/accountPage.dart';
|
||||
import 'package:sail/pages/homePage.dart';
|
||||
import 'package:sail/pages/my_profile.dart';
|
||||
import 'package:sail/pages/plan/plan_page.dart';
|
||||
import 'package:sail/pages/proPage.dart';
|
||||
import 'package:sail/pages/server_list.dart';
|
||||
import 'package:sail/router/application.dart';
|
||||
import 'package:sail/routes/OnceNotice.dart';
|
||||
import 'package:sail/routes/proRoute.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/message_util.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:sail/widgets/ProgressView.dart';
|
||||
import 'package:sail/widgets/home_widget.dart';
|
||||
import 'package:sail/widgets/power_btn.dart';
|
||||
import 'package:sail/widgets/sail_app_bar.dart';
|
||||
import 'package:sail/utils/common_util.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/constant/app_dimens.dart';
|
||||
import 'package:uuvpn/model/themeCollection.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
import 'package:uuvpn/models/plan_model.dart';
|
||||
import 'package:uuvpn/models/server_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/models/user_subscribe_model.dart';
|
||||
import 'package:uuvpn/pages/accountPage.dart';
|
||||
import 'package:uuvpn/pages/homePage.dart';
|
||||
import 'package:uuvpn/pages/my_profile.dart';
|
||||
import 'package:uuvpn/pages/plan/plan_page.dart';
|
||||
import 'package:uuvpn/pages/proPage.dart';
|
||||
import 'package:uuvpn/pages/server_list.dart';
|
||||
import 'package:uuvpn/router/application.dart';
|
||||
import 'package:uuvpn/routes/OnceNotice.dart';
|
||||
import 'package:uuvpn/routes/proRoute.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/message_util.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/widgets/ProgressView.dart';
|
||||
import 'package:uuvpn/widgets/home_widget.dart';
|
||||
import 'package:uuvpn/widgets/power_btn.dart';
|
||||
import 'package:uuvpn/widgets/sail_app_bar.dart';
|
||||
import 'package:uuvpn/utils/common_util.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_login/flutter_login.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/model/themeCollection.dart';
|
||||
import 'package:sail/models/login_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/router/application.dart';
|
||||
import 'package:sail/service/user_service.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:uuvpn/model/themeCollection.dart';
|
||||
import 'package:uuvpn/models/login_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/router/application.dart';
|
||||
import 'package:uuvpn/service/user_service.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
|
||||
class LoginPage extends StatefulWidget {
|
||||
const LoginPage({Key? key}) : super(key: key);
|
||||
|
||||
@@ -2,12 +2,12 @@ import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/service/user_service.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:sail/widgets/bottom_block.dart';
|
||||
import 'package:sail/widgets/profile_widget.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/service/user_service.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/widgets/bottom_block.dart';
|
||||
import 'package:uuvpn/widgets/profile_widget.dart';
|
||||
|
||||
class MyProfile extends StatefulWidget {
|
||||
const MyProfile({Key? key}) : super(key: key);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:sail/widgets/sliding_cards.dart';
|
||||
import 'package:uuvpn/widgets/sliding_cards.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PlanPage extends StatelessWidget {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
//ignore_for_file: file_names
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/router/application.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/router/application.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
|
||||
import '/model/themeCollection.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
@@ -2,13 +2,13 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/model/themeCollection.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:sail/models/server_model.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/model/themeCollection.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
import 'package:uuvpn/models/server_model.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sail/utils/common_util.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/common_util.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
|
||||
class ServerListPage extends StatefulWidget {
|
||||
const ServerListPage({Key? key}) : super(key: key);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
import 'package:webview_flutter/webview_flutter.dart';
|
||||
|
||||
class WebViewWidget extends StatefulWidget {
|
||||
@@ -37,7 +37,8 @@ class WebViewWidgetState extends State<WebViewWidget> {
|
||||
centerTitle: true,
|
||||
),
|
||||
body: WebView(
|
||||
initialUrl: widget.url?.isEmpty == true ? AppStrings.appName : widget.url,
|
||||
initialUrl:
|
||||
widget.url?.isEmpty == true ? AppStrings.appName : widget.url,
|
||||
javascriptMode: JavascriptMode.unrestricted,
|
||||
onWebViewCreated: (controller) => this.controller = controller,
|
||||
onPageFinished: (url) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:sail/resources/app_colors.dart';
|
||||
import 'package:sail/resources/app_typography.dart';
|
||||
import 'package:uuvpn/resources/app_colors.dart';
|
||||
import 'package:uuvpn/resources/app_typography.dart';
|
||||
|
||||
ThemeData getApplicationTheme() {
|
||||
return ThemeData(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
|
||||
class Application {
|
||||
static FluroRouter? router;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sail/pages/accountPage.dart';
|
||||
import 'package:sail/pages/home/home_page.dart';
|
||||
import 'package:sail/pages/404/not_find_page.dart';
|
||||
import 'package:sail/pages/login/login_page.dart';
|
||||
import 'package:sail/pages/plan/plan_page.dart';
|
||||
import 'package:sail/pages/server_list.dart';
|
||||
import 'package:sail/pages/webview_widget.dart';
|
||||
import 'package:uuvpn/pages/accountPage.dart';
|
||||
import 'package:uuvpn/pages/home/home_page.dart';
|
||||
import 'package:uuvpn/pages/404/not_find_page.dart';
|
||||
import 'package:uuvpn/pages/login/login_page.dart';
|
||||
import 'package:uuvpn/pages/plan/plan_page.dart';
|
||||
import 'package:uuvpn/pages/server_list.dart';
|
||||
import 'package:uuvpn/pages/webview_widget.dart';
|
||||
import 'dart:convert';
|
||||
|
||||
/// 入口
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:sail/router/router_handlers.dart';
|
||||
import 'package:uuvpn/router/router_handlers.dart';
|
||||
|
||||
class Routers {
|
||||
static String home = "/";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// OnceNotice.dart
|
||||
//ignore_for_file: file_names
|
||||
import 'package:sail/pages/ProOnecePage.dart';
|
||||
import 'package:uuvpn/pages/ProOnecePage.dart';
|
||||
|
||||
import '/pages/proPage.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
//ignore_for_file: file_names
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/routes/proRoute.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/routes/proRoute.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
import '../model/themeCollection.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:sail/constant/app_urls.dart';
|
||||
import 'package:sail/entity/plan_entity.dart';
|
||||
import 'package:sail/utils/http_util.dart';
|
||||
import 'package:uuvpn/constant/app_urls.dart';
|
||||
import 'package:uuvpn/entity/plan_entity.dart';
|
||||
import 'package:uuvpn/utils/http_util.dart';
|
||||
|
||||
class PlanService {
|
||||
Future<List<PlanEntity>>? plan() {
|
||||
@@ -10,7 +10,8 @@ class PlanService {
|
||||
}
|
||||
|
||||
Future<PlanEntity>? planDetail(int id) {
|
||||
return HttpUtil.instance?.get(AppUrls.plan, parameters: {'id': id}).then((result) {
|
||||
return HttpUtil.instance
|
||||
?.get(AppUrls.plan, parameters: {'id': id}).then((result) {
|
||||
return PlanEntity.fromMap(result['data']);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:sail/constant/app_urls.dart';
|
||||
import 'package:sail/entity/server_entity.dart';
|
||||
import 'package:sail/utils/http_util.dart';
|
||||
import 'package:uuvpn/constant/app_urls.dart';
|
||||
import 'package:uuvpn/entity/server_entity.dart';
|
||||
import 'package:uuvpn/utils/http_util.dart';
|
||||
|
||||
class ServerService {
|
||||
Future<List<ServerEntity>> server() {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:sail/constant/app_urls.dart';
|
||||
import 'package:sail/entity/login_entity.dart';
|
||||
import 'package:sail/entity/user_entity.dart';
|
||||
import 'package:sail/entity/user_subscribe_entity.dart';
|
||||
import 'package:sail/utils/http_util.dart';
|
||||
import 'package:uuvpn/constant/app_urls.dart';
|
||||
import 'package:uuvpn/entity/login_entity.dart';
|
||||
import 'package:uuvpn/entity/user_entity.dart';
|
||||
import 'package:uuvpn/entity/user_subscribe_entity.dart';
|
||||
import 'package:uuvpn/utils/http_util.dart';
|
||||
|
||||
class UserService {
|
||||
Future<LoginEntity>? login(Map<String, dynamic> parameters) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:sail/router/application.dart';
|
||||
import 'package:sail/router/routers.dart';
|
||||
import 'package:sail/utils/common_util.dart';
|
||||
import 'package:sail/utils/shared_preferences_util.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
import 'package:uuvpn/router/application.dart';
|
||||
import 'package:uuvpn/router/routers.dart';
|
||||
import 'package:uuvpn/utils/common_util.dart';
|
||||
import 'package:uuvpn/utils/shared_preferences_util.dart';
|
||||
|
||||
class HttpUtil {
|
||||
static HttpUtil get instance => _httpUtil;
|
||||
@@ -12,8 +12,8 @@ class HttpUtil {
|
||||
|
||||
HttpUtil() {
|
||||
BaseOptions options = BaseOptions(
|
||||
connectTimeout: 10000,
|
||||
receiveTimeout: 10000,
|
||||
connectTimeout: Duration(seconds: 10000),
|
||||
receiveTimeout: Duration(seconds: 10000),
|
||||
);
|
||||
dio = Dio(options);
|
||||
dio.interceptors
|
||||
@@ -53,10 +53,10 @@ class HttpUtil {
|
||||
Application.navigatorKey.currentState?.pushNamed(Routers.login);
|
||||
}
|
||||
|
||||
return handler.reject(DioError(
|
||||
return handler.reject(DioException(
|
||||
requestOptions: response.requestOptions,
|
||||
response: response,
|
||||
type: DioErrorType.response));
|
||||
type: DioExceptionType.badResponse));
|
||||
}
|
||||
|
||||
return handler.next(response);
|
||||
|
||||
@@ -4,12 +4,12 @@ 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:sail/pages/accountPage.dart';
|
||||
import 'package:sail/pages/crisp_page.dart';
|
||||
import 'package:sail/pages/plan/plan_page.dart';
|
||||
import 'package:sail/pages/server_list.dart';
|
||||
import 'package:sail/router/application.dart';
|
||||
import 'package:sail/router/routers.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) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
// import 'package:sail/go_router.dart';
|
||||
// import 'package:uuvpn/go_router.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:sail/resources/app_colors.dart';
|
||||
import 'package:sail/resources/app_routes.dart';
|
||||
import 'package:sail/resources/app_values.dart';
|
||||
import 'package:uuvpn/resources/app_colors.dart';
|
||||
import 'package:uuvpn/resources/app_routes.dart';
|
||||
import 'package:uuvpn/resources/app_values.dart';
|
||||
|
||||
String getDate(String? date) {
|
||||
if (date == null || date.isEmpty) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
|
||||
class ProgressView extends StatelessWidget {
|
||||
const ProgressView({Key? key}) : super(key: key);
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/channels/Platform.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/model/themeCollection.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:sail/models/server_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/channels/Platform.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/model/themeCollection.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
import 'package:uuvpn/models/server_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
|
||||
class ConnectionStats extends StatefulWidget {
|
||||
const ConnectionStats({Key? key}) : super(key: key);
|
||||
|
||||
@@ -2,24 +2,24 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/model/themeCollection.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:sail/models/plan_model.dart';
|
||||
import 'package:sail/models/server_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/models/user_subscribe_model.dart';
|
||||
import 'package:sail/resources/app_colors.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/widgets/bottom_block.dart';
|
||||
import 'package:sail/widgets/connection_stats.dart';
|
||||
import 'package:sail/widgets/logo_bar.dart';
|
||||
import 'package:sail/widgets/my_subscribe.dart';
|
||||
import 'package:sail/widgets/plan_list.dart';
|
||||
import 'package:sail/widgets/power_btn.dart';
|
||||
import 'package:sail/widgets/select_location.dart';
|
||||
import 'package:sail/utils/common_util.dart';
|
||||
import 'package:sail/widgets/watermuticicel.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/model/themeCollection.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
import 'package:uuvpn/models/plan_model.dart';
|
||||
import 'package:uuvpn/models/server_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/models/user_subscribe_model.dart';
|
||||
import 'package:uuvpn/resources/app_colors.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/widgets/bottom_block.dart';
|
||||
import 'package:uuvpn/widgets/connection_stats.dart';
|
||||
import 'package:uuvpn/widgets/logo_bar.dart';
|
||||
import 'package:uuvpn/widgets/my_subscribe.dart';
|
||||
import 'package:uuvpn/widgets/plan_list.dart';
|
||||
import 'package:uuvpn/widgets/power_btn.dart';
|
||||
import 'package:uuvpn/widgets/select_location.dart';
|
||||
import 'package:uuvpn/utils/common_util.dart';
|
||||
import 'package:uuvpn/widgets/watermuticicel.dart';
|
||||
|
||||
class HomeWidget extends StatefulWidget {
|
||||
const HomeWidget({Key? key}) : super(key: key);
|
||||
|
||||
@@ -2,13 +2,13 @@ import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/constant/app_strings.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/models/user_subscribe_model.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/constant/app_strings.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/models/user_subscribe_model.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
|
||||
class LogoBar extends StatelessWidget {
|
||||
const LogoBar({
|
||||
|
||||
@@ -3,16 +3,16 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:fluttertoast/fluttertoast.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/entity/user_subscribe_entity.dart';
|
||||
import 'package:sail/model/themeCollection.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/router/application.dart';
|
||||
import 'package:sail/routes/OnceNotice.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:sail/utils/transfer_util.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/entity/user_subscribe_entity.dart';
|
||||
import 'package:uuvpn/model/themeCollection.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/router/application.dart';
|
||||
import 'package:uuvpn/routes/OnceNotice.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/utils/transfer_util.dart';
|
||||
|
||||
class MySubscribe extends StatefulWidget {
|
||||
const MySubscribe(
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/entity/plan_entity.dart';
|
||||
import 'package:sail/entity/user_subscribe_entity.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/entity/plan_entity.dart';
|
||||
import 'package:uuvpn/entity/user_subscribe_entity.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
|
||||
class PlanList extends StatefulWidget {
|
||||
const PlanList(
|
||||
|
||||
@@ -2,16 +2,16 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:fluttertoast/fluttertoast.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/model/themeCollection.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:sail/models/server_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/message_util.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:sail/widgets/watermuticicel.dart';
|
||||
import 'package:sail/widgets/waterrepper.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/model/themeCollection.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
import 'package:uuvpn/models/server_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/message_util.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/widgets/watermuticicel.dart';
|
||||
import 'package:uuvpn/widgets/waterrepper.dart';
|
||||
|
||||
class PowerButton extends StatefulWidget {
|
||||
const PowerButton({Key? key}) : super(key: key);
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'dart:ui';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
|
||||
double minHeight = ScreenUtil().setHeight(260);
|
||||
const double iconStartSize = 44;
|
||||
@@ -17,15 +17,19 @@ class RecentConnectionBottomSheet extends StatefulWidget {
|
||||
const RecentConnectionBottomSheet({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
RecentConnectionBottomSheetState createState() => RecentConnectionBottomSheetState();
|
||||
RecentConnectionBottomSheetState createState() =>
|
||||
RecentConnectionBottomSheetState();
|
||||
}
|
||||
|
||||
class RecentConnectionBottomSheetState extends State<RecentConnectionBottomSheet> with SingleTickerProviderStateMixin {
|
||||
class RecentConnectionBottomSheetState
|
||||
extends State<RecentConnectionBottomSheet>
|
||||
with SingleTickerProviderStateMixin {
|
||||
late AnimationController _controller;
|
||||
|
||||
double get maxHeight => MediaQuery.of(context).size.height;
|
||||
|
||||
double? get headerTopMargin => lerp(20, 20 + MediaQuery.of(context).padding.top);
|
||||
double? get headerTopMargin =>
|
||||
lerp(20, 20 + MediaQuery.of(context).padding.top);
|
||||
|
||||
double? get headerFontSize => lerp(14, 24);
|
||||
|
||||
@@ -38,9 +42,12 @@ class RecentConnectionBottomSheetState extends State<RecentConnectionBottomSheet
|
||||
double? get iconSize => lerp(iconStartSize, iconEndSize);
|
||||
|
||||
double? iconTopMargin(int index) =>
|
||||
lerp(iconStartMarginTop, iconEndMarginTop + index * (iconsVerticalSpacing + iconEndSize))! + headerTopMargin!;
|
||||
lerp(iconStartMarginTop,
|
||||
iconEndMarginTop + index * (iconsVerticalSpacing + iconEndSize))! +
|
||||
headerTopMargin!;
|
||||
|
||||
double? iconLeftMargin(int index) => lerp(index * (iconsHorizontalSpacing + iconStartSize), 0);
|
||||
double? iconLeftMargin(int index) =>
|
||||
lerp(index * (iconsHorizontalSpacing + iconStartSize), 0);
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -57,7 +64,8 @@ class RecentConnectionBottomSheetState extends State<RecentConnectionBottomSheet
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
double? lerp(double min, double max) => lerpDouble(min, max, _controller.value);
|
||||
double? lerp(double min, double max) =>
|
||||
lerpDouble(min, max, _controller.value);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -77,7 +85,9 @@ class RecentConnectionBottomSheetState extends State<RecentConnectionBottomSheet
|
||||
padding: const EdgeInsets.symmetric(horizontal: 32),
|
||||
decoration: const BoxDecoration(
|
||||
gradient: LinearGradient(
|
||||
colors: [AppColors.themeColor, Colors.pink], begin: Alignment.topLeft, end: Alignment.bottomRight),
|
||||
colors: [AppColors.themeColor, Colors.pink],
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight),
|
||||
borderRadius: BorderRadius.vertical(top: Radius.circular(32)),
|
||||
),
|
||||
child: Stack(
|
||||
@@ -142,9 +152,11 @@ class RecentConnectionBottomSheetState extends State<RecentConnectionBottomSheet
|
||||
}
|
||||
|
||||
void _handleDragEnd(DragEndDetails details) {
|
||||
if (_controller.isAnimating || _controller.status == AnimationStatus.completed) return;
|
||||
if (_controller.isAnimating ||
|
||||
_controller.status == AnimationStatus.completed) return;
|
||||
|
||||
final double flingVelocity = details.velocity.pixelsPerSecond.dy / maxHeight;
|
||||
final double flingVelocity =
|
||||
details.velocity.pixelsPerSecond.dy / maxHeight;
|
||||
if (flingVelocity < 0.0) {
|
||||
_controller.fling(velocity: math.max(2.0, -flingVelocity));
|
||||
} else if (flingVelocity > 0.0) {
|
||||
@@ -256,7 +268,8 @@ class SheetHeader extends StatelessWidget {
|
||||
final double? fontSize;
|
||||
final double? topMargin;
|
||||
|
||||
const SheetHeader({Key? key, required this.fontSize, required this.topMargin}) : super(key: key);
|
||||
const SheetHeader({Key? key, required this.fontSize, required this.topMargin})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/models/app_model.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/models/app_model.dart';
|
||||
|
||||
class SailAppBar extends AppBar {
|
||||
SailAppBar({Key? key, required this.appTitle})
|
||||
: super(key: key);
|
||||
SailAppBar({Key? key, required this.appTitle}) : super(key: key);
|
||||
|
||||
final String appTitle;
|
||||
|
||||
@@ -27,10 +26,12 @@ class SailAppBarState extends State<SailAppBar> {
|
||||
return AppBar(
|
||||
title: Text(
|
||||
widget.appTitle,
|
||||
style: TextStyle(color: _appModel.isOn ? Colors.black : Colors.white, fontWeight: FontWeight.w900),
|
||||
style: TextStyle(
|
||||
color: _appModel.isOn ? Colors.black : Colors.white,
|
||||
fontWeight: FontWeight.w900),
|
||||
),
|
||||
elevation: 0,
|
||||
backgroundColor: _appModel.isOn ? AppColors.yellowColor : AppColors.grayColor
|
||||
);
|
||||
backgroundColor:
|
||||
_appModel.isOn ? AppColors.yellowColor : AppColors.grayColor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/constant/app_colors.dart';
|
||||
import 'package:sail/model/themeCollection.dart';
|
||||
import 'package:sail/models/server_model.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/utils/l10n.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/constant/app_colors.dart';
|
||||
import 'package:uuvpn/model/themeCollection.dart';
|
||||
import 'package:uuvpn/models/server_model.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/utils/l10n.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
|
||||
class SelectLocation extends StatefulWidget {
|
||||
const SelectLocation({
|
||||
|
||||
@@ -3,11 +3,11 @@ import 'dart:math' as math;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sail/entity/plan_entity.dart';
|
||||
import 'package:sail/models/user_model.dart';
|
||||
import 'package:sail/service/plan_service.dart';
|
||||
import 'package:sail/service/user_service.dart';
|
||||
import 'package:sail/utils/navigator_util.dart';
|
||||
import 'package:uuvpn/entity/plan_entity.dart';
|
||||
import 'package:uuvpn/models/user_model.dart';
|
||||
import 'package:uuvpn/service/plan_service.dart';
|
||||
import 'package:uuvpn/service/user_service.dart';
|
||||
import 'package:uuvpn/utils/navigator_util.dart';
|
||||
|
||||
class SlidingCardsView extends StatefulWidget {
|
||||
const SlidingCardsView({Key? key}) : super(key: key);
|
||||
|
||||
Reference in New Issue
Block a user