TF-2387 Add Privacy Policy button to starting page in mobile

This commit is contained in:
dab246
2024-09-05 15:33:48 +07:00
committed by Dat H. Pham
parent 0b777ab951
commit 541f5cbe7b
7 changed files with 61 additions and 46 deletions
@@ -9,7 +9,6 @@ import 'package:tmail_ui_user/features/base/widget/recent_item_tile_widget.dart'
import 'package:tmail_ui_user/features/login/domain/model/recent_login_url.dart';
import 'package:tmail_ui_user/features/login/presentation/base_login_view.dart';
import 'package:tmail_ui_user/features/login/presentation/login_form_type.dart';
import 'package:tmail_ui_user/features/login/presentation/privacy_link_widget.dart';
import 'package:tmail_ui_user/features/login/presentation/widgets/dns_lookup_input_form.dart';
import 'package:tmail_ui_user/features/login/presentation/widgets/horizontal_progress_loading_button.dart';
import 'package:tmail_ui_user/features/login/presentation/widgets/login_back_button.dart';
@@ -2,14 +2,13 @@ import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/widgets.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
import 'package:tmail_ui_user/main/utils/app_utils.dart';
class PrivacyLinkWidget extends StatelessWidget {
static const linagoraPrivacy = 'https://www.linagora.com/en/legal/privacy';
final String privacyUrlString;
const PrivacyLinkWidget({Key? key, this.privacyUrlString = linagoraPrivacy}) : super(key: key);
const PrivacyLinkWidget({Key? key, this.privacyUrlString = AppConfig.linagoraPrivacyUrl}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -3,6 +3,8 @@ import 'package:tmail_ui_user/features/login/presentation/login_form_type.dart';
import 'package:tmail_ui_user/features/login/presentation/model/login_arguments.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
import 'package:tmail_ui_user/main/utils/app_utils.dart';
class TwakeWelcomeController extends BaseController {
@@ -11,4 +13,8 @@ class TwakeWelcomeController extends BaseController {
AppRoutes.login,
arguments: LoginArguments(LoginFormType.dnsLookupForm));
}
void onClickPrivacyPolicy() {
AppUtils.launchLink(AppConfig.linagoraPrivacyUrl);
}
}
@@ -4,6 +4,7 @@ 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/features/starting_page/presentation/twake_welcome/twake_welcome_view_style.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class TwakeWelcomeView extends GetWidget<TwakeWelcomeController> {
@@ -18,11 +19,25 @@ class TwakeWelcomeView extends GetWidget<TwakeWelcomeController> {
]);
return TwakeWelcomeScreen(
logo: SvgPicture.asset(controller.imagePaths.icLogoTwakeWelcome),
logo: Padding(
padding: const EdgeInsetsDirectional.only(bottom: 16),
child: SvgPicture.asset(
controller.imagePaths.icLogoTwakeWelcome,
width: TwakeWelcomeViewStyle.logoWidth,
height: TwakeWelcomeViewStyle.logoHeight,
),
),
focusColor: Colors.transparent,
hoverColor: Colors.transparent,
highlightColor: Colors.transparent,
overlayColor: WidgetStateProperty.all(Colors.transparent),
signInTitle: AppLocalizations.of(context).signIn.capitalizeFirst ?? '',
createTwakeIdTitle: AppLocalizations.of(context).createTwakeId,
useCompanyServerTitle: AppLocalizations.of(context).useCompanyServer,
description: AppLocalizations.of(context).descriptionWelcomeTo,
privacyPolicy: AppLocalizations.of(context).privacyPolicy,
descriptionPrivacyPolicy: AppLocalizations.of(context).byContinuingYouAreAgreeingToOur,
onPrivacyPolicyOnTap: controller.onClickPrivacyPolicy,
onUseCompanyServerOnTap: controller.handleUseCompanyServer,
);
}
@@ -0,0 +1,4 @@
class TwakeWelcomeViewStyle {
static const double logoWidth = 205;
static const double logoHeight = 147;
}
+1
View File
@@ -15,6 +15,7 @@ class AppConfig {
static const String iOSKeychainSharingGroupId = 'KUT463DS29.com.linagora.ios.teammail.shared';
static const String iOSKeychainSharingService = 'com.linagora.ios.teammail.sessions';
static const String saasPlatform = 'saas';
static const String linagoraPrivacyUrl = 'https://www.linagora.com/en/legal/privacy';
static String get baseUrl => dotenv.get('SERVER_URL', fallback: '');
static String get domainRedirectUrl => dotenv.get('DOMAIN_REDIRECT_URL', fallback: '');