|
|
|
@ -8,7 +8,6 @@ import 'package:selfprivacy/logic/models/state_types.dart'; |
|
|
|
|
import 'package:selfprivacy/ui/components/brand_button/brand_button.dart'; |
|
|
|
|
import 'package:selfprivacy/ui/components/brand_cards/brand_cards.dart'; |
|
|
|
|
import 'package:selfprivacy/ui/components/brand_header/brand_header.dart'; |
|
|
|
|
import 'package:selfprivacy/ui/components/brand_icons/brand_icons.dart'; |
|
|
|
|
import 'package:selfprivacy/ui/components/brand_text/brand_text.dart'; |
|
|
|
|
import 'package:selfprivacy/ui/components/icon_status_mask/icon_status_mask.dart'; |
|
|
|
|
import 'package:selfprivacy/ui/components/not_ready_card/not_ready_card.dart'; |
|
|
|
@ -64,10 +63,6 @@ class _Card extends StatelessWidget { |
|
|
|
|
final ServiceTypes serviceType; |
|
|
|
|
@override |
|
|
|
|
Widget build(BuildContext context) { |
|
|
|
|
String title; |
|
|
|
|
IconData iconData; |
|
|
|
|
String subtitle; |
|
|
|
|
|
|
|
|
|
var isReady = context.watch<AppConfigCubit>().state.isFullyInitilized; |
|
|
|
|
var changeTab = context.read<ChangeTab>().onPress; |
|
|
|
|
return GestureDetector( |
|
|
|
@ -366,252 +361,3 @@ class _ServiceDetails extends StatelessWidget { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// class _ServiceDetails extends StatelessWidget { |
|
|
|
|
// const _ServiceDetails({ |
|
|
|
|
// Key? key, |
|
|
|
|
// required this.serviceType, |
|
|
|
|
// required this.icon, |
|
|
|
|
// required this.status, |
|
|
|
|
// required this.title, |
|
|
|
|
// required this.changeTab, |
|
|
|
|
// }) : super(key: key); |
|
|
|
|
|
|
|
|
|
// final ServiceTypes serviceType; |
|
|
|
|
// final IconData icon; |
|
|
|
|
// final StateType status; |
|
|
|
|
// final String title; |
|
|
|
|
// final ValueChanged<int> changeTab; |
|
|
|
|
|
|
|
|
|
// @override |
|
|
|
|
// Widget build(BuildContext context) { |
|
|
|
|
// late Widget child; |
|
|
|
|
|
|
|
|
|
// var config = context.watch<AppConfigCubit>().state; |
|
|
|
|
// var domainName = UiHelpers.getDomainName(config); |
|
|
|
|
|
|
|
|
|
// var linksStyle = body1Style.copyWith( |
|
|
|
|
// fontSize: 15, |
|
|
|
|
// color: Theme.of(context).brightness == Brightness.dark |
|
|
|
|
// ? Colors.white |
|
|
|
|
// : BrandColors.black, |
|
|
|
|
// fontWeight: FontWeight.bold, |
|
|
|
|
// decoration: TextDecoration.underline, |
|
|
|
|
// // height: 1.1, |
|
|
|
|
// ); |
|
|
|
|
|
|
|
|
|
// var textStyle = body1Style.copyWith( |
|
|
|
|
// color: Theme.of(context).brightness == Brightness.dark |
|
|
|
|
// ? Colors.white |
|
|
|
|
// : BrandColors.black, |
|
|
|
|
// ); |
|
|
|
|
// switch (serviceType) { |
|
|
|
|
// case ServiceTypes.mail: |
|
|
|
|
// child = RichText( |
|
|
|
|
// text: TextSpan( |
|
|
|
|
// children: [ |
|
|
|
|
// TextSpan( |
|
|
|
|
// text: 'services.mail.bottom_sheet.1'.tr(args: [domainName]), |
|
|
|
|
// style: textStyle, |
|
|
|
|
// ), |
|
|
|
|
// WidgetSpan( |
|
|
|
|
// child: Padding( |
|
|
|
|
// padding: EdgeInsets.only(bottom: 0.8, left: 5), |
|
|
|
|
// child: GestureDetector( |
|
|
|
|
// child: Text( |
|
|
|
|
// 'services.mail.bottom_sheet.2'.tr(), |
|
|
|
|
// style: linksStyle, |
|
|
|
|
// ), |
|
|
|
|
// onTap: () { |
|
|
|
|
// Navigator.of(context).pop(); |
|
|
|
|
// changeTab(2); |
|
|
|
|
// }, |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ], |
|
|
|
|
// )); |
|
|
|
|
// break; |
|
|
|
|
// case ServiceTypes.messenger: |
|
|
|
|
// child = RichText( |
|
|
|
|
// text: TextSpan( |
|
|
|
|
// children: [ |
|
|
|
|
// TextSpan( |
|
|
|
|
// text: 'services.messenger.bottom_sheet.1'.tr(args: [domainName]), |
|
|
|
|
// style: textStyle, |
|
|
|
|
// ) |
|
|
|
|
// ], |
|
|
|
|
// )); |
|
|
|
|
// break; |
|
|
|
|
// case ServiceTypes.passwordManager: |
|
|
|
|
// child = RichText( |
|
|
|
|
// text: TextSpan( |
|
|
|
|
// children: [ |
|
|
|
|
// TextSpan( |
|
|
|
|
// text: 'services.password_manager.bottom_sheet.1' |
|
|
|
|
// .tr(args: [domainName]), |
|
|
|
|
// style: textStyle, |
|
|
|
|
// ), |
|
|
|
|
// WidgetSpan( |
|
|
|
|
// child: Padding( |
|
|
|
|
// padding: EdgeInsets.only(bottom: 0.8, left: 5), |
|
|
|
|
// child: GestureDetector( |
|
|
|
|
// onTap: () => _launchURL('https://password.$domainName'), |
|
|
|
|
// child: Text( |
|
|
|
|
// 'password.$domainName', |
|
|
|
|
// style: linksStyle, |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ], |
|
|
|
|
// )); |
|
|
|
|
// break; |
|
|
|
|
// case ServiceTypes.video: |
|
|
|
|
// child = RichText( |
|
|
|
|
// text: TextSpan( |
|
|
|
|
// children: [ |
|
|
|
|
// TextSpan( |
|
|
|
|
// text: 'services.video.bottom_sheet.1'.tr(args: [domainName]), |
|
|
|
|
// style: textStyle, |
|
|
|
|
// ), |
|
|
|
|
// WidgetSpan( |
|
|
|
|
// child: Padding( |
|
|
|
|
// padding: EdgeInsets.only(bottom: 0.8, left: 5), |
|
|
|
|
// child: GestureDetector( |
|
|
|
|
// onTap: () => _launchURL('https://meet.$domainName'), |
|
|
|
|
// child: Text( |
|
|
|
|
// 'meet.$domainName', |
|
|
|
|
// style: linksStyle, |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ], |
|
|
|
|
// )); |
|
|
|
|
// break; |
|
|
|
|
// case ServiceTypes.cloud: |
|
|
|
|
// child = RichText( |
|
|
|
|
// text: TextSpan( |
|
|
|
|
// children: [ |
|
|
|
|
// TextSpan( |
|
|
|
|
// text: 'services.cloud.bottom_sheet.1'.tr(args: [domainName]), |
|
|
|
|
// style: textStyle, |
|
|
|
|
// ), |
|
|
|
|
// WidgetSpan( |
|
|
|
|
// child: Padding( |
|
|
|
|
// padding: EdgeInsets.only(bottom: 0.8, left: 5), |
|
|
|
|
// child: GestureDetector( |
|
|
|
|
// onTap: () => _launchURL('https://cloud.$domainName'), |
|
|
|
|
// child: Text( |
|
|
|
|
// 'cloud.$domainName', |
|
|
|
|
// style: linksStyle, |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ], |
|
|
|
|
// )); |
|
|
|
|
// break; |
|
|
|
|
// case ServiceTypes.socialNetwork: |
|
|
|
|
// child = RichText( |
|
|
|
|
// text: TextSpan( |
|
|
|
|
// children: [ |
|
|
|
|
// TextSpan( |
|
|
|
|
// text: 'services.social_network.bottom_sheet.1' |
|
|
|
|
// .tr(args: [domainName]), |
|
|
|
|
// style: textStyle, |
|
|
|
|
// ), |
|
|
|
|
// WidgetSpan( |
|
|
|
|
// child: Padding( |
|
|
|
|
// padding: EdgeInsets.only(bottom: 0.8, left: 5), |
|
|
|
|
// child: GestureDetector( |
|
|
|
|
// onTap: () => _launchURL('https://social.$domainName'), |
|
|
|
|
// child: Text( |
|
|
|
|
// 'social.$domainName', |
|
|
|
|
// style: linksStyle, |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ], |
|
|
|
|
// )); |
|
|
|
|
// break; |
|
|
|
|
// case ServiceTypes.git: |
|
|
|
|
// child = RichText( |
|
|
|
|
// text: TextSpan( |
|
|
|
|
// children: [ |
|
|
|
|
// TextSpan( |
|
|
|
|
// text: 'services.git.bottom_sheet.1'.tr(args: [domainName]), |
|
|
|
|
// style: textStyle, |
|
|
|
|
// ), |
|
|
|
|
// WidgetSpan( |
|
|
|
|
// child: Padding( |
|
|
|
|
// padding: EdgeInsets.only(bottom: 0.8, left: 5), |
|
|
|
|
// child: GestureDetector( |
|
|
|
|
// onTap: () => _launchURL('https://git.$domainName'), |
|
|
|
|
// child: Text( |
|
|
|
|
// 'git.$domainName', |
|
|
|
|
// style: linksStyle, |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ), |
|
|
|
|
// ], |
|
|
|
|
// )); |
|
|
|
|
// break; |
|
|
|
|
// } |
|
|
|
|
// return BrandModalSheet( |
|
|
|
|
// child: Navigator( |
|
|
|
|
// key: navigatorKey, |
|
|
|
|
// initialRoute: '/', |
|
|
|
|
// onGenerateRoute: (_) { |
|
|
|
|
// return materialRoute( |
|
|
|
|
// Column( |
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.start, |
|
|
|
|
// children: [ |
|
|
|
|
// Padding( |
|
|
|
|
// padding: brandPagePadding1, |
|
|
|
|
// child: Column( |
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.start, |
|
|
|
|
// children: [ |
|
|
|
|
// SizedBox(height: 13), |
|
|
|
|
// IconStatusMask( |
|
|
|
|
// status: status, |
|
|
|
|
// child: Icon(icon, size: 40, color: Colors.white), |
|
|
|
|
// ), |
|
|
|
|
// SizedBox(height: 10), |
|
|
|
|
// BrandText.h1(title), |
|
|
|
|
// SizedBox(height: 10), |
|
|
|
|
// child, |
|
|
|
|
// ], |
|
|
|
|
// ), |
|
|
|
|
// ) |
|
|
|
|
// ], |
|
|
|
|
// ), |
|
|
|
|
// ); |
|
|
|
|
// }, |
|
|
|
|
// ), |
|
|
|
|
// ); |
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
// void _launchURL(url) async { |
|
|
|
|
// var _possible = await canLaunch(url); |
|
|
|
|
|
|
|
|
|
// if (_possible) { |
|
|
|
|
// try { |
|
|
|
|
// await launch( |
|
|
|
|
// url, |
|
|
|
|
// forceSafariVC: true, |
|
|
|
|
// enableJavaScript: true, |
|
|
|
|
// ); |
|
|
|
|
// } catch (e) { |
|
|
|
|
// print(e); |
|
|
|
|
// } |
|
|
|
|
// } else { |
|
|
|
|
// throw 'Could not launch $url'; |
|
|
|
|
// } |
|
|
|
|
// } |
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|