Skip to content

Commit

Permalink
Merge pull request #268 from archethic-foundation/267-update-welcome-…
Browse files Browse the repository at this point in the history
…page

Update welcome page
  • Loading branch information
redDwarf03 authored Aug 26, 2024
2 parents 1db7a74 + fb7e8cd commit 059f1dc
Show file tree
Hide file tree
Showing 42 changed files with 958 additions and 460 deletions.
2 changes: 1 addition & 1 deletion lib/application/session/provider.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions lib/l10n/intl_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -470,9 +470,9 @@
"poolTxTypeUnknown": "Unknown",
"poolTxAccount": "Account",
"poolTxTotalValue": "Total value:",
"welcomeDesc1": "SWAP",
"welcomeDesc2": "assets on-chain",
"welcomeDesc3": "and access yield farming\nby adding liquidity",
"errorDesc1": "aeSwap",
"errorDesc2": "Oops! Page not found.",
"errorDesc3": "Return to Homepage",
"mobileInfoTitle": "Mobile Compatibility",
"mobileInfoTxt1": "We have detected that you are using a mobile device. Currently, our application is not optimized for mobile devices.\nFor the best experience, we recommend the following options:",
"mobileInfoTxt2": "1. Use our application on a desktop computer.",
Expand Down
2 changes: 2 additions & 0 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ import 'package:flutter_gen/gen_l10n/localizations.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:url_strategy/url_strategy.dart';

Future<void> main() async {
final widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
GoRouter.optionURLReflectsImperativeAPIs = true;
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
await DBHelper.setupDatabase();
setupServiceLocator();
Expand Down
31 changes: 4 additions & 27 deletions lib/router/router.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import 'package:aedex/domain/models/dex_farm_lock.dart';
import 'package:aedex/domain/models/dex_pair.dart';
import 'package:aedex/domain/models/dex_pool.dart';
import 'package:aedex/domain/models/dex_token.dart';
import 'package:aedex/infrastructure/hive/preferences.hive.dart';
import 'package:aedex/ui/views/error/layouts/error_screen.dart';
import 'package:aedex/ui/views/farm_claim/layouts/farm_claim_sheet.dart';
import 'package:aedex/ui/views/farm_deposit/layouts/farm_deposit_sheet.dart';
import 'package:aedex/ui/views/farm_list/layouts/farm_list_sheet.dart';
Expand All @@ -21,7 +21,6 @@ import 'package:aedex/ui/views/pool_add/layouts/pool_add_sheet.dart';
import 'package:aedex/ui/views/pool_list/bloc/provider.dart';
import 'package:aedex/ui/views/pool_list/layouts/pool_list_sheet.dart';
import 'package:aedex/ui/views/swap/layouts/swap_sheet.dart';
import 'package:aedex/ui/views/welcome/layouts/welcome_screen.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
Expand All @@ -32,7 +31,7 @@ final routerProvider = Provider<GoRouter>(
(ref) {
return GoRouter(
navigatorKey: rootNavigatorKey,
initialLocation: SwapSheet.routerPage,
initialLocation: '/',
debugLogDiagnostics: true,
routes: [
ShellRoute(
Expand Down Expand Up @@ -64,11 +63,7 @@ final routerProvider = Provider<GoRouter>(
),
GoRoute(
path: '/',
pageBuilder: (context, state) {
return const NoTransitionPage(
child: SwapSheet(),
);
},
redirect: (context, state) => null,
),
GoRoute(
path: PoolListSheet.routerPage,
Expand Down Expand Up @@ -501,26 +496,8 @@ final routerProvider = Provider<GoRouter>(
),
],
),
GoRoute(
path: WelcomeScreen.routerPage,
pageBuilder: (BuildContext context, GoRouterState state) {
return const NoTransitionPage(
child: WelcomeScreen(),
);
},
),
],
// ignore: body_might_complete_normally_nullable
redirect: (context, state) async {
final preferences = await HivePreferencesDatasource.getInstance();
if (preferences.isFirstConnection()) {
await preferences.setFirstConnection(false);
if (context.mounted) return WelcomeScreen.routerPage;
}

return null;
},
errorBuilder: (context, state) => const WelcomeScreen(),
errorBuilder: (context, state) => const ErrorScreen(),
);
},
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
import 'package:aedex/ui/views/main_screen/layouts/app_bar_menu_links.dart';
import 'package:aedex/ui/views/main_screen/layouts/header.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

class WelcomeAppBar extends ConsumerStatefulWidget
class ErrorAppBar extends ConsumerStatefulWidget
implements PreferredSizeWidget {
const WelcomeAppBar({
const ErrorAppBar({
super.key,
});
@override
Size get preferredSize => AppBar().preferredSize;

@override
ConsumerState<WelcomeAppBar> createState() => _WelcomeAppBarState();
ConsumerState<ErrorAppBar> createState() => _ErrorAppBarState();
}

class _WelcomeAppBarState extends ConsumerState<WelcomeAppBar> {
class _ErrorAppBarState extends ConsumerState<ErrorAppBar> {
@override
Widget build(BuildContext context) {
return Padding(
Expand All @@ -25,12 +24,6 @@ class _WelcomeAppBarState extends ConsumerState<WelcomeAppBar> {
elevation: 0,
leading: const Header(withMenu: false),
leadingWidth: MediaQuery.of(context).size.width,
actions: const [
AppBarMenuLinks(),
SizedBox(
width: 16,
),
],
),
);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
import 'package:aedex/ui/views/swap/layouts/swap_sheet.dart';
import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:flutter_gen/gen_l10n/localizations.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:url_launcher/url_launcher.dart';

class WelcomeLaunchBtn extends ConsumerStatefulWidget {
const WelcomeLaunchBtn({
class ErrorBtn extends ConsumerStatefulWidget {
const ErrorBtn({
super.key,
});
@override
WelcomeLaunchBtnState createState() => WelcomeLaunchBtnState();
ErrorBtnState createState() => ErrorBtnState();
}

var _over = false;

class WelcomeLaunchBtnState extends ConsumerState<WelcomeLaunchBtn> {
class ErrorBtnState extends ConsumerState<ErrorBtn> {
@override
Widget build(BuildContext context) {
return Padding(
Expand Down Expand Up @@ -44,7 +42,10 @@ class WelcomeLaunchBtnState extends ConsumerState<WelcomeLaunchBtn> {
),
onPressed: () {
if (!context.mounted) return;
context.go(SwapSheet.routerPage);
launchUrl(
Uri.parse('/'),
webOnlyWindowName: '_self',
);
},
child: Container(
alignment: Alignment.center,
Expand All @@ -62,7 +63,7 @@ class WelcomeLaunchBtnState extends ConsumerState<WelcomeLaunchBtn> {
],
),
child: Text(
AppLocalizations.of(context)!.go,
AppLocalizations.of(context)!.errorDesc3,
style: TextStyle(
color: Theme.of(context).textTheme.labelMedium!.color,
fontSize: 17,
Expand All @@ -72,30 +73,6 @@ class WelcomeLaunchBtnState extends ConsumerState<WelcomeLaunchBtn> {
),
),
),
const SizedBox(
height: 10,
),
InkWell(
onTap: () async {
await launchUrl(
Uri.parse(
'https://www.archethic.net/wallet.html',
),
);
},
child: Padding(
padding: const EdgeInsets.only(
top: 10,
),
child: Text(
maxLines: 2,
AppLocalizations.of(context)!.welcomeNoWallet,
style: Theme.of(context).textTheme.labelLarge,
textAlign: TextAlign.center,
softWrap: true,
),
),
),
],
),
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,26 @@ import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:flutter_gen/gen_l10n/localizations.dart';

class WelcomeTitle extends StatelessWidget {
const WelcomeTitle({
class ErrorTitle extends StatelessWidget {
const ErrorTitle({
super.key,
});

@override
Widget build(BuildContext context) {
return Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.only(top: 130),
child: Row(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
aedappfm.GradientText(
AppLocalizations.of(context)!.welcomeDesc1,
AppLocalizations.of(context)!.errorDesc1,
style: const TextStyle(
fontSize: 30,
fontSize: 22,
fontWeight: FontWeight.w600,
),
gradient: aedappfm.AppThemeBase.gradientWelcomeTxt,
Expand All @@ -34,9 +35,9 @@ class WelcomeTitle extends StatelessWidget {
curve: Curves.easeOutQuad,
),
SelectableText(
' ${AppLocalizations.of(context)!.welcomeDesc2}',
AppLocalizations.of(context)!.errorDesc2,
style: const TextStyle(
fontSize: 30,
fontSize: 20,
fontWeight: FontWeight.w400,
),
textScaler: TextScaler.linear(
Expand All @@ -52,28 +53,6 @@ class WelcomeTitle extends StatelessWidget {
],
),
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SelectableText(
AppLocalizations.of(context)!.welcomeDesc3,
style: const TextStyle(
fontSize: 30,
fontWeight: FontWeight.w400,
),
textAlign: TextAlign.center,
textScaler: TextScaler.linear(
aedappfm.ScaleSize.textScaleFactor(context),
),
)
.animate(delay: 300.ms)
.fadeIn(duration: 400.ms, delay: 300.ms)
.move(
begin: const Offset(-16, 0),
curve: Curves.easeOutQuad,
),
],
),
const Spacer(),
],
),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import 'dart:ui';

import 'package:aedex/ui/views/welcome/layouts/components/welcome_app_bar.dart';
import 'package:aedex/ui/views/welcome/layouts/components/welcome_launch_btn.dart';
import 'package:aedex/ui/views/welcome/layouts/components/welcome_title.dart';
import 'package:aedex/ui/views/error/layouts/components/error_app_bar.dart';
import 'package:aedex/ui/views/error/layouts/components/error_btn.dart';
import 'package:aedex/ui/views/error/layouts/components/error_title.dart';
import 'package:archethic_dapp_framework_flutter/archethic_dapp_framework_flutter.dart'
as aedappfm;
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

class WelcomeScreen extends ConsumerWidget {
const WelcomeScreen({
class ErrorScreen extends ConsumerWidget {
const ErrorScreen({
super.key,
});

static const routerPage = '/welcome';
static const routerPage = '/error';
@override
Widget build(BuildContext context, WidgetRef ref) {
return Scaffold(
Expand All @@ -24,20 +24,22 @@ class WelcomeScreen extends ConsumerWidget {
child: ClipRRect(
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
child: const WelcomeAppBar(),
child: const ErrorAppBar(),
),
),
),
body: const Stack(
alignment: Alignment.center,
children: [
aedappfm.AppBackground(
withAnimation: true,
backgroundImage: 'assets/images/background-welcome.png',
),
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
WelcomeTitle(),
WelcomeLaunchBtn(),
ErrorTitle(),
ErrorBtn(),
],
),
],
Expand Down
2 changes: 0 additions & 2 deletions lib/ui/views/main_screen/layouts/app_bar.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'package:aedex/ui/views/main_screen/layouts/app_bar_menu_info.dart';
import 'package:aedex/ui/views/main_screen/layouts/app_bar_menu_links.dart';
import 'package:aedex/ui/views/main_screen/layouts/connection_to_wallet_status.dart';
import 'package:aedex/ui/views/main_screen/layouts/header.dart';
import 'package:archethic_dapp_framework_flutter/archethic_dapp_framework_flutter.dart'
Expand Down Expand Up @@ -46,7 +45,6 @@ class _AppBarMainScreenState extends ConsumerState<AppBarMainScreen> {
width: 10,
),
AppBarMenuInfo(),
AppBarMenuLinks(),
SizedBox(
width: 16,
),
Expand Down
Loading

0 comments on commit 059f1dc

Please sign in to comment.