TF-2387 Add TwakeWelcome page the first time app launch

This commit is contained in:
dab246
2024-01-02 19:07:19 +07:00
committed by Dat H. Pham
parent 064692d8c3
commit 1393e2cd07
10 changed files with 152 additions and 4 deletions
+8 -4
View File
@@ -407,16 +407,20 @@ abstract class BaseController extends GetxController
FirebaseCapability.fcmIdentifier.isSupported(session, accountId) && AppConfig.fcmAvailable;
void goToLogin() {
if (Get.currentRoute != AppRoutes.login) {
if (PlatformInfo.isMobile) {
navigateToTwakeWelcomePage();
} else if (Get.currentRoute != AppRoutes.login) {
pushAndPopAll(
AppRoutes.login,
arguments: LoginArguments(
PlatformInfo.isMobile ? LoginFormType.dnsLookupForm : LoginFormType.none
)
arguments: LoginArguments(LoginFormType.none)
);
}
}
void navigateToTwakeWelcomePage() {
popAndPush(AppRoutes.twakeWelcome);
}
void logout(Session? session, AccountId? accountId) async {
if (session == null || accountId == null) {
await clearDataAndGoToLoginPage();
@@ -0,0 +1,9 @@
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/starting_page/presentation/twake_welcome/twake_welcome_controller.dart';
class TwakeWelcomeBindings extends Bindings {
@override
void dependencies() {
Get.lazyPut(() => TwakeWelcomeController());
}
}
@@ -0,0 +1,3 @@
import 'package:tmail_ui_user/features/base/base_controller.dart';
class TwakeWelcomeController extends BaseController {}
@@ -0,0 +1,28 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:linagora_design_flutter/linagora_design_flutter.dart';
import 'package:tmail_ui_user/features/starting_page/presentation/twake_welcome/twake_welcome_controller.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class TwakeWelcomeView extends GetWidget<TwakeWelcomeController> {
const TwakeWelcomeView({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown
]);
return TwakeWelcomeScreen(
logo: SvgPicture.asset(controller.imagePaths.icLogoTwakeWelcome),
signInTitle: AppLocalizations.of(context).signIn.capitalizeFirst ?? '',
createTwakeIdTitle: AppLocalizations.of(context).createTwakeId,
useCompanyServerTitle: AppLocalizations.of(context).useCompanyServer,
description: AppLocalizations.of(context).descriptionWelcomeTo,
);
}
}