mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2024-11-18 02:07:43 +00:00
Merge pull request #204 from cypherstack/desktop
isFavorite bandaid fix for https://github.com/cypherstack/stack_walle…
This commit is contained in:
commit
7f65072225
13 changed files with 414 additions and 248 deletions
|
@ -4,7 +4,10 @@ import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart';
|
||||||
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
|
@ -18,269 +21,363 @@ class SupportView extends StatelessWidget {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final isDesktop = Util.isDesktop;
|
||||||
|
|
||||||
debugPrint("BUILD: $runtimeType");
|
debugPrint("BUILD: $runtimeType");
|
||||||
|
|
||||||
return Scaffold(
|
return ConditionalParent(
|
||||||
backgroundColor: Theme.of(context).extension<StackColors>()!.background,
|
condition: !isDesktop,
|
||||||
appBar: AppBar(
|
builder: (child) {
|
||||||
leading: AppBarBackButton(
|
return Scaffold(
|
||||||
onPressed: () {
|
backgroundColor:
|
||||||
Navigator.of(context).pop();
|
Theme.of(context).extension<StackColors>()!.background,
|
||||||
},
|
appBar: AppBar(
|
||||||
),
|
leading: AppBarBackButton(
|
||||||
title: Text(
|
onPressed: () {
|
||||||
"Support",
|
Navigator.of(context).pop();
|
||||||
style: STextStyles.navBarTitle(context),
|
},
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Padding(
|
|
||||||
padding: const EdgeInsets.all(16),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
children: [
|
|
||||||
RoundedWhiteContainer(
|
|
||||||
child: Text(
|
|
||||||
"If you need support or want to report a bug, reach out to us on any of our socials!",
|
|
||||||
style: STextStyles.smallMed12(context),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
const SizedBox(
|
title: Text(
|
||||||
height: 12,
|
"Support",
|
||||||
|
style: STextStyles.navBarTitle(context),
|
||||||
),
|
),
|
||||||
RoundedWhiteContainer(
|
),
|
||||||
padding: const EdgeInsets.all(0),
|
body: Padding(
|
||||||
child: RawMaterialButton(
|
padding: const EdgeInsets.all(16),
|
||||||
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
child: child,
|
||||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
),
|
||||||
shape: RoundedRectangleBorder(
|
);
|
||||||
borderRadius: BorderRadius.circular(
|
},
|
||||||
Constants.size.circularBorderRadius,
|
child: Column(
|
||||||
),
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
|
children: [
|
||||||
|
RoundedWhiteContainer(
|
||||||
|
child: Text(
|
||||||
|
"If you need support or want to report a bug, reach out to us on any of our socials!",
|
||||||
|
style: STextStyles.smallMed12(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
isDesktop
|
||||||
|
? const SizedBox(
|
||||||
|
height: 24,
|
||||||
|
)
|
||||||
|
: const SizedBox(
|
||||||
|
height: 12,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
RoundedWhiteContainer(
|
||||||
|
padding: const EdgeInsets.all(0),
|
||||||
|
child: RawMaterialButton(
|
||||||
|
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
||||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(
|
||||||
|
Constants.size.circularBorderRadius,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onPressed: () {
|
||||||
|
if (!isDesktop) {
|
||||||
launchUrl(
|
launchUrl(
|
||||||
Uri.parse("https://t.me/stackwallet"),
|
Uri.parse("https://t.me/stackwallet"),
|
||||||
mode: LaunchMode.externalApplication,
|
mode: LaunchMode.externalApplication,
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
child: Padding(
|
},
|
||||||
padding: const EdgeInsets.symmetric(
|
child: Padding(
|
||||||
horizontal: 12,
|
padding: const EdgeInsets.symmetric(
|
||||||
vertical: 20,
|
horizontal: 12,
|
||||||
),
|
vertical: 20,
|
||||||
child: Row(
|
),
|
||||||
children: [
|
child: Row(
|
||||||
SvgPicture.asset(
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
Assets.socials.telegram,
|
children: [
|
||||||
width: iconSize,
|
Row(
|
||||||
height: iconSize,
|
children: [
|
||||||
color: Theme.of(context)
|
SvgPicture.asset(
|
||||||
.extension<StackColors>()!
|
Assets.socials.telegram,
|
||||||
.accentColorDark,
|
width: iconSize,
|
||||||
),
|
height: iconSize,
|
||||||
const SizedBox(
|
color: Theme.of(context)
|
||||||
width: 12,
|
.extension<StackColors>()!
|
||||||
),
|
.accentColorDark,
|
||||||
Text(
|
),
|
||||||
"Telegram",
|
const SizedBox(
|
||||||
style: STextStyles.titleBold12(context),
|
width: 12,
|
||||||
textAlign: TextAlign.left,
|
),
|
||||||
),
|
Text(
|
||||||
],
|
"Telegram",
|
||||||
),
|
style: STextStyles.titleBold12(context),
|
||||||
|
textAlign: TextAlign.left,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
BlueTextButton(
|
||||||
|
text: isDesktop ? "@stackwallet" : "",
|
||||||
|
onTap: () {
|
||||||
|
launchUrl(
|
||||||
|
Uri.parse("https://t.me/stackwallet"),
|
||||||
|
mode: LaunchMode.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(
|
),
|
||||||
height: 8,
|
const SizedBox(
|
||||||
),
|
height: 8,
|
||||||
RoundedWhiteContainer(
|
),
|
||||||
padding: const EdgeInsets.all(0),
|
RoundedWhiteContainer(
|
||||||
child: RawMaterialButton(
|
padding: const EdgeInsets.all(0),
|
||||||
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
child: RawMaterialButton(
|
||||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
||||||
shape: RoundedRectangleBorder(
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||||
borderRadius: BorderRadius.circular(
|
shape: RoundedRectangleBorder(
|
||||||
Constants.size.circularBorderRadius,
|
borderRadius: BorderRadius.circular(
|
||||||
),
|
Constants.size.circularBorderRadius,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
),
|
||||||
|
onPressed: () {
|
||||||
|
if (!isDesktop) {
|
||||||
launchUrl(
|
launchUrl(
|
||||||
Uri.parse("https://discord.gg/RZMG3yUm"),
|
Uri.parse("https://discord.gg/RZMG3yUm"),
|
||||||
mode: LaunchMode.externalApplication,
|
mode: LaunchMode.externalApplication,
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
child: Padding(
|
},
|
||||||
padding: const EdgeInsets.symmetric(
|
child: Padding(
|
||||||
horizontal: 12,
|
padding: const EdgeInsets.symmetric(
|
||||||
vertical: 20,
|
horizontal: 12,
|
||||||
),
|
vertical: 20,
|
||||||
child: Row(
|
),
|
||||||
children: [
|
child: Row(
|
||||||
SvgPicture.asset(
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
Assets.socials.discord,
|
children: [
|
||||||
width: iconSize,
|
Row(
|
||||||
height: iconSize,
|
children: [
|
||||||
color: Theme.of(context)
|
SvgPicture.asset(
|
||||||
.extension<StackColors>()!
|
Assets.socials.discord,
|
||||||
.accentColorDark,
|
width: iconSize,
|
||||||
),
|
height: iconSize,
|
||||||
const SizedBox(
|
color: Theme.of(context)
|
||||||
width: 12,
|
.extension<StackColors>()!
|
||||||
),
|
.accentColorDark,
|
||||||
Text(
|
),
|
||||||
"Discord",
|
const SizedBox(
|
||||||
style: STextStyles.titleBold12(context),
|
width: 12,
|
||||||
textAlign: TextAlign.left,
|
),
|
||||||
),
|
Text(
|
||||||
],
|
"Discord",
|
||||||
),
|
style: STextStyles.titleBold12(context),
|
||||||
|
textAlign: TextAlign.left,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
BlueTextButton(
|
||||||
|
text: isDesktop ? "Stack Wallet" : "",
|
||||||
|
onTap: () {
|
||||||
|
launchUrl(
|
||||||
|
Uri.parse(
|
||||||
|
"https://discord.gg/RZMG3yUm"), //expired link?
|
||||||
|
mode: LaunchMode.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(
|
),
|
||||||
height: 8,
|
const SizedBox(
|
||||||
),
|
height: 8,
|
||||||
RoundedWhiteContainer(
|
),
|
||||||
padding: const EdgeInsets.all(0),
|
RoundedWhiteContainer(
|
||||||
child: RawMaterialButton(
|
padding: const EdgeInsets.all(0),
|
||||||
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
child: RawMaterialButton(
|
||||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
||||||
shape: RoundedRectangleBorder(
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||||
borderRadius: BorderRadius.circular(
|
shape: RoundedRectangleBorder(
|
||||||
Constants.size.circularBorderRadius,
|
borderRadius: BorderRadius.circular(
|
||||||
),
|
Constants.size.circularBorderRadius,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
),
|
||||||
|
onPressed: () {
|
||||||
|
if (!isDesktop) {
|
||||||
launchUrl(
|
launchUrl(
|
||||||
Uri.parse("https://www.reddit.com/r/stackwallet/"),
|
Uri.parse("https://www.reddit.com/r/stackwallet/"),
|
||||||
mode: LaunchMode.externalApplication,
|
mode: LaunchMode.externalApplication,
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
child: Padding(
|
},
|
||||||
padding: const EdgeInsets.symmetric(
|
child: Padding(
|
||||||
horizontal: 12,
|
padding: const EdgeInsets.symmetric(
|
||||||
vertical: 20,
|
horizontal: 12,
|
||||||
),
|
vertical: 20,
|
||||||
child: Row(
|
),
|
||||||
children: [
|
child: Row(
|
||||||
SvgPicture.asset(
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
Assets.socials.reddit,
|
children: [
|
||||||
width: iconSize,
|
Row(
|
||||||
height: iconSize,
|
children: [
|
||||||
color: Theme.of(context)
|
SvgPicture.asset(
|
||||||
.extension<StackColors>()!
|
Assets.socials.reddit,
|
||||||
.accentColorDark,
|
width: iconSize,
|
||||||
),
|
height: iconSize,
|
||||||
const SizedBox(
|
color: Theme.of(context)
|
||||||
width: 12,
|
.extension<StackColors>()!
|
||||||
),
|
.accentColorDark,
|
||||||
Text(
|
),
|
||||||
"Reddit",
|
const SizedBox(
|
||||||
style: STextStyles.titleBold12(context),
|
width: 12,
|
||||||
textAlign: TextAlign.left,
|
),
|
||||||
),
|
Text(
|
||||||
],
|
"Reddit",
|
||||||
),
|
style: STextStyles.titleBold12(context),
|
||||||
|
textAlign: TextAlign.left,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
BlueTextButton(
|
||||||
|
text: isDesktop ? "r/stackwallet" : "",
|
||||||
|
onTap: () {
|
||||||
|
launchUrl(
|
||||||
|
Uri.parse("https://www.reddit.com/r/stackwallet/"),
|
||||||
|
mode: LaunchMode.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(
|
),
|
||||||
height: 8,
|
const SizedBox(
|
||||||
),
|
height: 8,
|
||||||
RoundedWhiteContainer(
|
),
|
||||||
padding: const EdgeInsets.all(0),
|
RoundedWhiteContainer(
|
||||||
child: RawMaterialButton(
|
padding: const EdgeInsets.all(0),
|
||||||
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
child: RawMaterialButton(
|
||||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
||||||
shape: RoundedRectangleBorder(
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||||
borderRadius: BorderRadius.circular(
|
shape: RoundedRectangleBorder(
|
||||||
Constants.size.circularBorderRadius,
|
borderRadius: BorderRadius.circular(
|
||||||
),
|
Constants.size.circularBorderRadius,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
),
|
||||||
|
onPressed: () {
|
||||||
|
if (!isDesktop) {
|
||||||
launchUrl(
|
launchUrl(
|
||||||
Uri.parse("https://twitter.com/stack_wallet"),
|
Uri.parse("https://twitter.com/stack_wallet"),
|
||||||
mode: LaunchMode.externalApplication,
|
mode: LaunchMode.externalApplication,
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
child: Padding(
|
},
|
||||||
padding: const EdgeInsets.symmetric(
|
child: Padding(
|
||||||
horizontal: 12,
|
padding: const EdgeInsets.symmetric(
|
||||||
vertical: 20,
|
horizontal: 12,
|
||||||
),
|
vertical: 20,
|
||||||
child: Row(
|
),
|
||||||
children: [
|
child: Row(
|
||||||
SvgPicture.asset(
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
Assets.socials.twitter,
|
children: [
|
||||||
width: iconSize,
|
Row(
|
||||||
height: iconSize,
|
children: [
|
||||||
color: Theme.of(context)
|
SvgPicture.asset(
|
||||||
.extension<StackColors>()!
|
Assets.socials.twitter,
|
||||||
.accentColorDark,
|
width: iconSize,
|
||||||
),
|
height: iconSize,
|
||||||
const SizedBox(
|
color: Theme.of(context)
|
||||||
width: 12,
|
.extension<StackColors>()!
|
||||||
),
|
.accentColorDark,
|
||||||
Text(
|
),
|
||||||
"Twitter",
|
const SizedBox(
|
||||||
style: STextStyles.titleBold12(context),
|
width: 12,
|
||||||
textAlign: TextAlign.left,
|
),
|
||||||
),
|
Text(
|
||||||
],
|
"Twitter",
|
||||||
),
|
style: STextStyles.titleBold12(context),
|
||||||
|
textAlign: TextAlign.left,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
BlueTextButton(
|
||||||
|
text: isDesktop ? "@stack_wallet" : "",
|
||||||
|
onTap: () {
|
||||||
|
launchUrl(
|
||||||
|
Uri.parse("https://twitter.com/stack_wallet"),
|
||||||
|
mode: LaunchMode.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(
|
),
|
||||||
height: 8,
|
const SizedBox(
|
||||||
),
|
height: 8,
|
||||||
RoundedWhiteContainer(
|
),
|
||||||
padding: const EdgeInsets.all(0),
|
RoundedWhiteContainer(
|
||||||
child: RawMaterialButton(
|
padding: const EdgeInsets.all(0),
|
||||||
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
child: RawMaterialButton(
|
||||||
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
||||||
shape: RoundedRectangleBorder(
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||||
borderRadius: BorderRadius.circular(
|
shape: RoundedRectangleBorder(
|
||||||
Constants.size.circularBorderRadius,
|
borderRadius: BorderRadius.circular(
|
||||||
),
|
Constants.size.circularBorderRadius,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
),
|
||||||
|
onPressed: () {
|
||||||
|
if (!isDesktop) {
|
||||||
launchUrl(
|
launchUrl(
|
||||||
Uri.parse("mailto://support@stackwallet.com"),
|
Uri.parse("mailto://support@stackwallet.com"),
|
||||||
mode: LaunchMode.externalApplication,
|
mode: LaunchMode.externalApplication,
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
child: Padding(
|
},
|
||||||
padding: const EdgeInsets.symmetric(
|
child: Padding(
|
||||||
horizontal: 12,
|
padding: const EdgeInsets.symmetric(
|
||||||
vertical: 20,
|
horizontal: 12,
|
||||||
),
|
vertical: 20,
|
||||||
child: Row(
|
),
|
||||||
children: [
|
child: Row(
|
||||||
SvgPicture.asset(
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
Assets.svg.envelope,
|
children: [
|
||||||
width: iconSize,
|
Row(
|
||||||
height: iconSize,
|
children: [
|
||||||
color: Theme.of(context)
|
SvgPicture.asset(
|
||||||
.extension<StackColors>()!
|
Assets.svg.envelope,
|
||||||
.accentColorDark,
|
width: iconSize,
|
||||||
),
|
height: iconSize,
|
||||||
const SizedBox(
|
color: Theme.of(context)
|
||||||
width: 12,
|
.extension<StackColors>()!
|
||||||
),
|
.accentColorDark,
|
||||||
Text(
|
),
|
||||||
"Email",
|
const SizedBox(
|
||||||
style: STextStyles.titleBold12(context),
|
width: 12,
|
||||||
textAlign: TextAlign.left,
|
),
|
||||||
),
|
Text(
|
||||||
],
|
"Email",
|
||||||
),
|
style: STextStyles.titleBold12(context),
|
||||||
|
textAlign: TextAlign.left,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
BlueTextButton(
|
||||||
|
text: isDesktop ? "support@stackwallet.com" : "",
|
||||||
|
onTap: () {
|
||||||
|
launchUrl(
|
||||||
|
Uri.parse("mailto://support@stackwallet.com"),
|
||||||
|
mode: LaunchMode.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
),
|
||||||
),
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/desktop_menu.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/desktop_menu.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/desktop_settings_view.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/desktop_settings_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/my_stack_view/my_stack_view.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/my_stack_view/my_stack_view.dart';
|
||||||
|
import 'package:stackwallet/pages_desktop_specific/home/support_and_about_view/desktop_support_view.dart';
|
||||||
import 'package:stackwallet/route_generator.dart';
|
import 'package:stackwallet/route_generator.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
|
||||||
|
@ -37,8 +38,10 @@ class _DesktopHomeViewState extends ConsumerState<DesktopHomeView> {
|
||||||
onGenerateRoute: RouteGenerator.generateRoute,
|
onGenerateRoute: RouteGenerator.generateRoute,
|
||||||
initialRoute: DesktopSettingsView.routeName,
|
initialRoute: DesktopSettingsView.routeName,
|
||||||
),
|
),
|
||||||
Container(
|
const Navigator(
|
||||||
color: Colors.blue,
|
key: Key("desktopSupportHomeKey"),
|
||||||
|
onGenerateRoute: RouteGenerator.generateRoute,
|
||||||
|
initialRoute: DesktopSupportView.routeName,
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
color: Colors.pink,
|
color: Colors.pink,
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart';
|
||||||
|
|
||||||
|
import '../../../pages/settings_views/global_settings_view/support_view.dart';
|
||||||
|
|
||||||
|
class DesktopSupportView extends ConsumerStatefulWidget {
|
||||||
|
const DesktopSupportView({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
static const String routeName = "/desktopSupportView";
|
||||||
|
|
||||||
|
@override
|
||||||
|
ConsumerState<DesktopSupportView> createState() => _DesktopSupportView();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _DesktopSupportView extends ConsumerState<DesktopSupportView> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
debugPrint("BUILD: $runtimeType");
|
||||||
|
return DesktopScaffold(
|
||||||
|
background: Theme.of(context).extension<StackColors>()!.background,
|
||||||
|
appBar: DesktopAppBar(
|
||||||
|
isCompactHeight: true,
|
||||||
|
leading: Row(
|
||||||
|
children: [
|
||||||
|
const SizedBox(
|
||||||
|
width: 24,
|
||||||
|
height: 24,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"Support",
|
||||||
|
style: STextStyles.desktopH3(context),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: Column(
|
||||||
|
children: const [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.fromLTRB(24, 10, 377, 270),
|
||||||
|
child: SupportView(),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -99,6 +99,7 @@ import 'package:stackwallet/pages_desktop_specific/home/settings_menu/nodes_sett
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/security_settings.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/security_settings.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/settings_menu.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/settings_menu.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/syncing_preferences_settings.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/syncing_preferences_settings.dart';
|
||||||
|
import 'package:stackwallet/pages_desktop_specific/home/support_and_about_view/desktop_support_view.dart';
|
||||||
import 'package:stackwallet/services/coins/manager.dart';
|
import 'package:stackwallet/services/coins/manager.dart';
|
||||||
import 'package:stackwallet/services/event_bus/events/global/node_connection_status_changed_event.dart';
|
import 'package:stackwallet/services/event_bus/events/global/node_connection_status_changed_event.dart';
|
||||||
import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart';
|
import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart';
|
||||||
|
@ -1084,6 +1085,12 @@ class RouteGenerator {
|
||||||
builder: (_) => const AdvancedSettings(),
|
builder: (_) => const AdvancedSettings(),
|
||||||
settings: RouteSettings(name: settings.name));
|
settings: RouteSettings(name: settings.name));
|
||||||
|
|
||||||
|
case DesktopSupportView.routeName:
|
||||||
|
return getRoute(
|
||||||
|
shouldUseMaterialRoute: useMaterialPageRoute,
|
||||||
|
builder: (_) => const DesktopSupportView(),
|
||||||
|
settings: RouteSettings(name: settings.name));
|
||||||
|
|
||||||
case WalletKeysDesktopPopup.routeName:
|
case WalletKeysDesktopPopup.routeName:
|
||||||
if (args is List<String>) {
|
if (args is List<String>) {
|
||||||
return FadePageRoute(
|
return FadePageRoute(
|
||||||
|
|
|
@ -174,9 +174,10 @@ class BitcoinWallet extends CoinServiceAPI {
|
||||||
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
||||||
as bool;
|
as bool;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logging.instance
|
Logging.instance.log(
|
||||||
.log("isFavorite fetch failed: $e\n$s", level: LogLevel.Error);
|
"isFavorite fetch failed (returning false by default): $e\n$s",
|
||||||
rethrow;
|
level: LogLevel.Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3376,9 +3376,10 @@ class BitcoinCashWallet extends CoinServiceAPI {
|
||||||
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
||||||
as bool;
|
as bool;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logging.instance
|
Logging.instance.log(
|
||||||
.log("isFavorite fetch failed: $e\n$s", level: LogLevel.Error);
|
"isFavorite fetch failed (returning false by default): $e\n$s",
|
||||||
rethrow;
|
level: LogLevel.Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2983,9 +2983,10 @@ class DogecoinWallet extends CoinServiceAPI {
|
||||||
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
||||||
as bool;
|
as bool;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logging.instance
|
Logging.instance.log(
|
||||||
.log("isFavorite fetch failed: $e\n$s", level: LogLevel.Error);
|
"isFavorite fetch failed (returning false by default): $e\n$s",
|
||||||
rethrow;
|
level: LogLevel.Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -558,9 +558,10 @@ class EpicCashWallet extends CoinServiceAPI {
|
||||||
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
||||||
as bool;
|
as bool;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logging.instance
|
Logging.instance.log(
|
||||||
.log("isFavorite fetch failed: $e\n$s", level: LogLevel.Error);
|
"isFavorite fetch failed (returning false by default): $e\n$s",
|
||||||
rethrow;
|
level: LogLevel.Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -821,9 +821,10 @@ class FiroWallet extends CoinServiceAPI {
|
||||||
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
||||||
as bool;
|
as bool;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logging.instance
|
Logging.instance.log(
|
||||||
.log("isFavorite fetch failed: $e\n$s", level: LogLevel.Error);
|
"isFavorite fetch failed (returning false by default): $e\n$s",
|
||||||
rethrow;
|
level: LogLevel.Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -174,9 +174,10 @@ class LitecoinWallet extends CoinServiceAPI {
|
||||||
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
||||||
as bool;
|
as bool;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logging.instance
|
Logging.instance.log(
|
||||||
.log("isFavorite fetch failed: $e\n$s", level: LogLevel.Error);
|
"isFavorite fetch failed (returning false by default): $e\n$s",
|
||||||
rethrow;
|
level: LogLevel.Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1376,9 +1376,10 @@ class MoneroWallet extends CoinServiceAPI {
|
||||||
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
||||||
as bool;
|
as bool;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logging.instance
|
Logging.instance.log(
|
||||||
.log("isFavorite fetch failed: $e\n$s", level: LogLevel.Error);
|
"isFavorite fetch failed (returning false by default): $e\n$s",
|
||||||
rethrow;
|
level: LogLevel.Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -170,9 +170,10 @@ class NamecoinWallet extends CoinServiceAPI {
|
||||||
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
||||||
as bool;
|
as bool;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logging.instance
|
Logging.instance.log(
|
||||||
.log("isFavorite fetch failed: $e\n$s", level: LogLevel.Error);
|
"isFavorite fetch failed (returning false by default): $e\n$s",
|
||||||
rethrow;
|
level: LogLevel.Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1382,9 +1382,10 @@ class WowneroWallet extends CoinServiceAPI {
|
||||||
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
return DB.instance.get<dynamic>(boxName: walletId, key: "isFavorite")
|
||||||
as bool;
|
as bool;
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
Logging.instance
|
Logging.instance.log(
|
||||||
.log("isFavorite fetch failed: $e\n$s", level: LogLevel.Error);
|
"isFavorite fetch failed (returning false by default): $e\n$s",
|
||||||
rethrow;
|
level: LogLevel.Error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue