TF-1379 Add privacy policy in login screen
This commit is contained in:
committed by
Dat H. Pham
parent
170bfff3b4
commit
d443a28b98
@@ -7,6 +7,7 @@ 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/state/login_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/presentation/widgets/login_input_decoration_builder.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
@@ -106,7 +107,11 @@ class LoginView extends BaseLoginView {
|
||||
default:
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
})
|
||||
}),
|
||||
const Padding(
|
||||
padding: EdgeInsets.only(top: 16),
|
||||
child: PrivacyLinkWidget(),
|
||||
),
|
||||
]
|
||||
),
|
||||
)
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get_state_manager/src/rx_flutter/rx_obx_widget.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/state/login_state.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
@@ -78,7 +79,11 @@ class LoginView extends BaseLoginView {
|
||||
default:
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
})
|
||||
}),
|
||||
const Padding(
|
||||
padding: EdgeInsets.only(top: 16),
|
||||
child: PrivacyLinkWidget(),
|
||||
),
|
||||
],
|
||||
)
|
||||
),
|
||||
@@ -225,7 +230,11 @@ class LoginView extends BaseLoginView {
|
||||
default:
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
})
|
||||
}),
|
||||
const Padding(
|
||||
padding: EdgeInsets.only(top: 16),
|
||||
child: PrivacyLinkWidget()
|
||||
),
|
||||
],
|
||||
)
|
||||
)
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
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:url_launcher/url_launcher_string.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);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return RichText(
|
||||
text: TextSpan(
|
||||
text: AppLocalizations.of(context).privacyPolicy,
|
||||
style: const TextStyle(
|
||||
color: AppColor.loginTextFieldFocusedBorder,
|
||||
fontSize: 14),
|
||||
recognizer: TapGestureRecognizer()..onTap = () async {
|
||||
if (await canLaunchUrlString(privacyUrlString)) {
|
||||
launchUrlString(privacyUrlString);
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"@@last_modified": "2023-01-09T16:48:24.908944",
|
||||
"@@last_modified": "2023-01-12T18:44:51.610329",
|
||||
"initializing_data": "Initializing data...",
|
||||
"@initializing_data": {
|
||||
"type": "text",
|
||||
@@ -2552,6 +2552,7 @@
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
"youHaveNewMessages": "You have new messages",
|
||||
"@youHaveNewMessages": {
|
||||
"type": "text",
|
||||
@@ -2573,5 +2574,11 @@
|
||||
"placeholders": {
|
||||
"count": {}
|
||||
}
|
||||
},
|
||||
"privacyPolicy": "Privacy policy",
|
||||
"@privacyPolicy": {
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
@@ -2640,4 +2640,11 @@ class AppLocalizations {
|
||||
name: 'totalNewMessagePushNotification',
|
||||
args: [count]);
|
||||
}
|
||||
|
||||
String get privacyPolicy {
|
||||
return Intl.message(
|
||||
'Privacy policy',
|
||||
name: 'privacyPolicy'
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user