Contact us and Notification UAT bug
This commit is contained in:
parent
ff79f88853
commit
c623b1e1f7
@ -8,6 +8,7 @@ import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/enquiry_a
|
||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class Contact extends ConsumerStatefulWidget {
|
||||
const Contact({super.key});
|
||||
@ -78,7 +79,7 @@ class _ContactState extends ConsumerState<Contact> {
|
||||
{
|
||||
'icon': EnquiryAssetIconPath.map,
|
||||
'text': 'P.O.Box: 127000 Dubai',
|
||||
'textAr': 'ص.ب: : 127000 دبي'
|
||||
'textAr': 'ص.ب: 127000 دبي'
|
||||
},
|
||||
{
|
||||
'icon': EnquiryAssetIconPath.at,
|
||||
@ -121,7 +122,7 @@ class _ContactState extends ConsumerState<Contact> {
|
||||
{
|
||||
'icon': EnquiryAssetIconPath.map,
|
||||
'text': 'P.O.Box: 127000 Dubai',
|
||||
'textAr': 'ص.ب: : 127000 دبي'
|
||||
'textAr': 'ص.ب: 127000 دبي'
|
||||
},
|
||||
{
|
||||
'icon': EnquiryAssetIconPath.at,
|
||||
@ -164,7 +165,7 @@ class _ContactState extends ConsumerState<Contact> {
|
||||
{
|
||||
'icon': EnquiryAssetIconPath.map,
|
||||
'text': 'P.O.Box: 127000 Dubai',
|
||||
'textAr': 'ص.ب: : 127000 دبي'
|
||||
'textAr': 'ص.ب: 127000 دبي'
|
||||
},
|
||||
{
|
||||
'icon': EnquiryAssetIconPath.at,
|
||||
@ -229,6 +230,34 @@ class _ContactState extends ConsumerState<Contact> {
|
||||
}
|
||||
|
||||
Widget buildTextRow(String iconName, String text) {
|
||||
List<String> values = List.filled(2, '');
|
||||
String cleanText = '';
|
||||
|
||||
if (text.toLowerCase().contains('tel:') || text.toLowerCase().contains('الهاتف:')) {
|
||||
values = text.split(':');
|
||||
print ('List of values----- :$values');
|
||||
print ('value 1 ${values[0]}');
|
||||
cleanText=values[1].replaceAll(' ', '');
|
||||
} else if(text.toLowerCase().contains('email address:') || text.toLowerCase().contains('البريد الإلكتروني:')){
|
||||
values = text.split(':');
|
||||
cleanText = values[1].replaceAll(' ', '');
|
||||
} else{
|
||||
cleanText = text;
|
||||
}
|
||||
|
||||
Future<void> sendEmail(String emailAddress) async {
|
||||
print ('before email : $emailAddress');
|
||||
final uri = Uri(
|
||||
scheme: 'mailto',
|
||||
path: emailAddress,
|
||||
);
|
||||
if (await canLaunchUrl(uri)) {
|
||||
await launchUrl(uri);
|
||||
} else {
|
||||
debugPrint('Could not launch $uri');
|
||||
}
|
||||
}
|
||||
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 5.0),
|
||||
child: Row(
|
||||
@ -240,7 +269,54 @@ class _ContactState extends ConsumerState<Contact> {
|
||||
height: 20,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Expanded(
|
||||
iconName == EnquiryAssetIconPath.phone
|
||||
? InkWell(
|
||||
onTap: () async{
|
||||
print('clean test : $cleanText');
|
||||
final uri = Uri(scheme: 'tel', path: cleanText);
|
||||
if (await canLaunchUrl(uri)) {
|
||||
await launchUrl(uri);
|
||||
} else {
|
||||
debugPrint('Could not launch $uri');
|
||||
}
|
||||
},
|
||||
child: RichText(
|
||||
text: TextSpan(
|
||||
text: values[0],
|
||||
style: const TextStyle(fontSize: 14, color: Color(0xFF5F5F5F)),
|
||||
children: <TextSpan>[
|
||||
TextSpan(text: ':',),
|
||||
TextSpan(text: values[1],
|
||||
style: TextStyle(fontSize: 14, color:Color(0xFF985400))
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
// child: Text(
|
||||
// text,
|
||||
// style: const TextStyle(
|
||||
// fontSize: 14,
|
||||
// color: Color(0xFF5F5F5F),
|
||||
// ),
|
||||
// ),
|
||||
)
|
||||
: iconName == EnquiryAssetIconPath.at
|
||||
? InkWell(
|
||||
onTap: () => sendEmail(cleanText),
|
||||
child: RichText(
|
||||
text: TextSpan(
|
||||
text: values[0],
|
||||
style: const TextStyle(fontSize: 14, color: Color(0xFF5F5F5F)),
|
||||
children: <TextSpan>[
|
||||
TextSpan(text: ':',),
|
||||
TextSpan(text: values[1],
|
||||
style: TextStyle(fontSize: 14, color:Color(0xFF985400))
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
:Expanded(
|
||||
child: Text(
|
||||
text,
|
||||
style: const TextStyle(
|
||||
|
||||
@ -26,6 +26,7 @@ class _NotificationPageState extends ConsumerState<NotificationPage> {
|
||||
bool isLoading = true;
|
||||
List<Map<String, dynamic>> notifications = [];
|
||||
List<String> userReadedNotiOrNot = [];
|
||||
String notificationCount='';
|
||||
|
||||
// Current selected tab index
|
||||
int selectedTabIndex = 0;
|
||||
@ -48,7 +49,30 @@ class _NotificationPageState extends ConsumerState<NotificationPage> {
|
||||
super.initState();
|
||||
locale = ref.read(localeProvider) ?? const Locale('en');
|
||||
_userService = UserService();
|
||||
fetchNotifications(locale?.languageCode ?? 'en');
|
||||
_initializePage();
|
||||
}
|
||||
|
||||
Future<void> _initializePage() async {
|
||||
_userService = UserService();
|
||||
await _fetchUserData();();
|
||||
await fetchNotifications(locale?.languageCode ?? 'en');
|
||||
_processNotifications(notifications , userReadedNotiOrNot);
|
||||
}
|
||||
|
||||
void _processNotifications( List<Map<String, dynamic>> notification ,List<String> push ){
|
||||
print ('inside last function ${notification.length}');
|
||||
print('inside last function ${push.length}');
|
||||
|
||||
int count = 0;
|
||||
for (var product in notification) {
|
||||
if (push.contains(product['id'])) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
print('count is $count');
|
||||
if(count>0){
|
||||
notificationCount='{$count}';}
|
||||
else{notificationCount='';}
|
||||
}
|
||||
|
||||
Future<String?> getUserId() async {
|
||||
@ -188,8 +212,8 @@ class _NotificationPageState extends ConsumerState<NotificationPage> {
|
||||
child: BaseScaffold(
|
||||
title: Text(
|
||||
context.translate(
|
||||
'Notification',
|
||||
'إشعار',
|
||||
'Notification $notificationCount',
|
||||
'$notificationCount إشعار ',
|
||||
),
|
||||
),
|
||||
body: isLoading
|
||||
|
||||
Loading…
Reference in New Issue
Block a user