Merge branch 'dev' of github.com:VinistanSS/FCSC into dev
This commit is contained in:
commit
bb01b72c8b
@ -504,14 +504,12 @@ final GoRouter router = GoRouter(
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: '/terms&conditions',
|
path: '/termsandconditions',
|
||||||
builder: (context, state) => TermsOfUse(),
|
builder: (context, state) => TermsOfUse(),
|
||||||
//builder: (context, state) => LoginRoute(),
|
|
||||||
),
|
),
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: '/privacy_policy',
|
path: '/privacy_policy',
|
||||||
builder: (context, state) => PrivacyPolicy(),
|
builder: (context, state) => PrivacyPolicy(),
|
||||||
//builder: (context, state) => LoginRoute(),
|
|
||||||
),
|
),
|
||||||
|
|
||||||
// Drawer Routers
|
// Drawer Routers
|
||||||
@ -668,7 +666,10 @@ final GoRouter router = GoRouter(
|
|||||||
if (state.uri.path == '/SessionCheckScreen' ||
|
if (state.uri.path == '/SessionCheckScreen' ||
|
||||||
state.uri.path == '/login' ||
|
state.uri.path == '/login' ||
|
||||||
state.uri.path == '/register' ||
|
state.uri.path == '/register' ||
|
||||||
state.uri.path == '/forgot-password/:email') {
|
state.uri.path == '/forgot-password/:email'||
|
||||||
|
state.uri.path == '/termsandconditions'||
|
||||||
|
state.uri.path == '/privacy_policy'
|
||||||
|
) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -427,10 +427,10 @@ class _UaenumberWidgetState extends ConsumerState<uaenumberWidget> {
|
|||||||
// print(data_set);
|
// print(data_set);
|
||||||
final encodedMainTopic = Uri.encodeComponent(mainTopic);
|
final encodedMainTopic = Uri.encodeComponent(mainTopic);
|
||||||
final encodedTitle = Uri.encodeComponent(title);
|
final encodedTitle = Uri.encodeComponent(title);
|
||||||
|
final encodedKey = Uri.encodeQueryComponent('uaenumbers');
|
||||||
// Pass mainTopic and title as query parameters
|
// Pass mainTopic and title as query parameters
|
||||||
context.push(
|
context.push(
|
||||||
'/chartScreen/$data_set?bgColor=$colorPattern&mainTopic=$encodedMainTopic&title=$encodedTitle');
|
'/chartScreen/$data_set?bgColor=$colorPattern&mainTopic=$encodedMainTopic&title=$encodedTitle&key=$encodedKey');
|
||||||
// context.go('/chartScreen/$data_set');
|
// context.go('/chartScreen/$data_set');
|
||||||
},
|
},
|
||||||
child: Card(
|
child: Card(
|
||||||
|
|||||||
@ -1087,7 +1087,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
TapGestureRecognizer()
|
TapGestureRecognizer()
|
||||||
..onTap = () =>
|
..onTap = () =>
|
||||||
context.push(
|
context.push(
|
||||||
'/terms&conditions'),
|
'/termsandconditions'),
|
||||||
text: AppLocalizations
|
text: AppLocalizations
|
||||||
.of(context)!
|
.of(context)!
|
||||||
.terms_conditions,
|
.terms_conditions,
|
||||||
|
|||||||
@ -2096,6 +2096,9 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final locale = ref.watch(localeProvider);
|
final locale = ref.watch(localeProvider);
|
||||||
final localeNotifier = ref.read(localeProvider.notifier);
|
final localeNotifier = ref.read(localeProvider.notifier);
|
||||||
|
String url=GoRouterState.of(context).uri.toString();
|
||||||
|
final uri = Uri.parse(url);
|
||||||
|
final pageTitle = uri.queryParameters['key'] ?? '';
|
||||||
|
|
||||||
final isConnected = ref.watch(connectivityProvider);
|
final isConnected = ref.watch(connectivityProvider);
|
||||||
|
|
||||||
@ -2184,7 +2187,9 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
|
|
||||||
child: BaseScaffold(
|
child: BaseScaffold(
|
||||||
key: _scaffoldKey,
|
key: _scaffoldKey,
|
||||||
title: Text(
|
title: (pageTitle == 'home')
|
||||||
|
? Text(AppLocalizations.of(context)!.nav_home)
|
||||||
|
: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'UAE Numbers',
|
'UAE Numbers',
|
||||||
'أرقام الإمارات',
|
'أرقام الإمارات',
|
||||||
|
|||||||
@ -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/components/indicators/locale_provider.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
class Contact extends ConsumerStatefulWidget {
|
class Contact extends ConsumerStatefulWidget {
|
||||||
const Contact({super.key});
|
const Contact({super.key});
|
||||||
@ -57,43 +58,43 @@ class _ContactState extends ConsumerState<Contact> {
|
|||||||
children: [
|
children: [
|
||||||
buildContactCard(
|
buildContactCard(
|
||||||
context,
|
context,
|
||||||
title: 'DUBAI - EMIRATES TOWER -32ND FLOOR',
|
title: 'DUBAI - EMIRATES TOWER - 32ND FLOOR',
|
||||||
titleAr: 'دبي - أبراج الإمارات - الطابق 32',
|
titleAr: 'دبي - أبراج الإمارات - الطابق 32',
|
||||||
details: [
|
details: [
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.building,
|
'icon': EnquiryAssetIconPath.building,
|
||||||
'text': 'Office : Dubai - Emirates Tower -32nd Floor',
|
'text': 'Office: Dubai - Emirates Tower - 32nd Floor',
|
||||||
'textAr': 'المقر الرئيسي : دبي - أبراج الإمارات - الطابق 32'
|
'textAr': 'المقر الرئيسي: دبي - أبراج الإمارات - الطابق 32'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.phone,
|
'icon': EnquiryAssetIconPath.phone,
|
||||||
'text': 'Tel : 00971 46080000',
|
'text': 'Tel: 00971 4608 0000',
|
||||||
'textAr': 'الهاتف : 0097146080000'
|
'textAr': 'الهاتف: 0097146080000'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.fax,
|
'icon': EnquiryAssetIconPath.fax,
|
||||||
'text': 'Fax : 0097143273535',
|
'text': 'Fax: 00971 4327 3535',
|
||||||
'textAr': 'فاكس : 0097143273535'
|
'textAr': 'فاكس: 0097143273535'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.map,
|
'icon': EnquiryAssetIconPath.map,
|
||||||
'text': 'P.O.Box : 127000 Dubai',
|
'text': 'P.O.Box: 127000 Dubai',
|
||||||
'textAr': 'ص.ب: : 127000 دبي'
|
'textAr': 'ص.ب: 127000 دبي'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.at,
|
'icon': EnquiryAssetIconPath.at,
|
||||||
'text': 'Email Address : info@fcsc.gov.ae',
|
'text': 'Email Address: info@fcsc.gov.ae',
|
||||||
'textAr': 'البريد الإلكتروني : info@fcsc.gov.ae'
|
'textAr': 'البريد الإلكتروني: info@fcsc.gov.ae'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.map,
|
'icon': EnquiryAssetIconPath.map,
|
||||||
'text': 'Latitude : 25.223926',
|
'text': 'Latitude: 25.223926',
|
||||||
'textAr': 'خط العرض : 25.223926'
|
'textAr': 'خط العرض: 25.223926'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.map,
|
'icon': EnquiryAssetIconPath.map,
|
||||||
'text': 'Longitude : 55.350526',
|
'text': 'Longitude: 55.350526',
|
||||||
'textAr': 'خط الطول : 55.350526'
|
'textAr': 'خط الطول: 55.350526'
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -105,38 +106,38 @@ class _ContactState extends ConsumerState<Contact> {
|
|||||||
details: [
|
details: [
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.building,
|
'icon': EnquiryAssetIconPath.building,
|
||||||
'text': 'Office : Media Section',
|
'text': 'Office: Media Section',
|
||||||
'textAr': 'المقر الرئيسي : قسم الاعلام'
|
'textAr': 'المقر الرئيسي: قسم الاعلام'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.phone,
|
'icon': EnquiryAssetIconPath.phone,
|
||||||
'text': 'Tel : 00971 46080000',
|
'text': 'Tel: 00971 4608 0000',
|
||||||
'textAr': 'الهاتف : 0097146080000'
|
'textAr': 'الهاتف: 0097146080000'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.fax,
|
'icon': EnquiryAssetIconPath.fax,
|
||||||
'text': 'Fax : 0097143273535',
|
'text': 'Fax: 00971 4327 3535',
|
||||||
'textAr': 'فاكس : 0097143273535'
|
'textAr': 'فاكس: 0097143273535'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.map,
|
'icon': EnquiryAssetIconPath.map,
|
||||||
'text': 'P.O.Box : 127000 Dubai',
|
'text': 'P.O.Box: 127000 Dubai',
|
||||||
'textAr': 'ص.ب: : 127000 دبي'
|
'textAr': 'ص.ب: 127000 دبي'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.at,
|
'icon': EnquiryAssetIconPath.at,
|
||||||
'text': 'Email Address : GCO@fcsc.gov.ae',
|
'text': 'Email Address: GCO@fcsc.gov.ae',
|
||||||
'textAr': 'البريد الإلكتروني : GCO@fcsc.gov.ae'
|
'textAr': 'البريد الإلكتروني: GCO@fcsc.gov.ae'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.map,
|
'icon': EnquiryAssetIconPath.map,
|
||||||
'text': 'Latitude : 25.223926',
|
'text': 'Latitude: 25.223926',
|
||||||
'textAr': 'خط العرض : 25.223926'
|
'textAr': 'خط العرض: 25.223926'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.map,
|
'icon': EnquiryAssetIconPath.map,
|
||||||
'text': 'Longitude : 55.350526',
|
'text': 'Longitude: 55.350526',
|
||||||
'textAr': 'خط الطول : 55.350526'
|
'textAr': 'خط الطول: 55.350526'
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -148,38 +149,38 @@ class _ContactState extends ConsumerState<Contact> {
|
|||||||
details: [
|
details: [
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.building,
|
'icon': EnquiryAssetIconPath.building,
|
||||||
'text': 'Office : SDGs',
|
'text': 'Office: SDGs',
|
||||||
'textAr': 'المقر الرئيسي : أهداف التنمية المستدامة'
|
'textAr': 'المقر الرئيسي: أهداف التنمية المستدامة'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.phone,
|
'icon': EnquiryAssetIconPath.phone,
|
||||||
'text': 'Tel : 00971 46080000',
|
'text': 'Tel: 00971 4608 0000',
|
||||||
'textAr': 'الهاتف : 0097146080000'
|
'textAr': 'الهاتف: 0097146080000'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.fax,
|
'icon': EnquiryAssetIconPath.fax,
|
||||||
'text': 'Fax : 0097143273535',
|
'text': 'Fax: 00971 4327 3535',
|
||||||
'textAr': 'فاكس : 0097143273535'
|
'textAr': 'فاكس : 0097143273535'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.map,
|
'icon': EnquiryAssetIconPath.map,
|
||||||
'text': 'P.O.Box : 127000 Dubai',
|
'text': 'P.O.Box: 127000 Dubai',
|
||||||
'textAr': 'ص.ب: : 127000 دبي'
|
'textAr': 'ص.ب: 127000 دبي'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.at,
|
'icon': EnquiryAssetIconPath.at,
|
||||||
'text': 'Email Address : sdgs@fcsc.gov.ae',
|
'text': 'Email Address: sdgs@fcsc.gov.ae',
|
||||||
'textAr': 'البريد الإلكتروني : sdgs@fcsc.gov.ae'
|
'textAr': 'البريد الإلكتروني: sdgs@fcsc.gov.ae'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.map,
|
'icon': EnquiryAssetIconPath.map,
|
||||||
'text': 'Latitude : 25.223926',
|
'text': 'Latitude: 25.223926',
|
||||||
'textAr': 'خط العرض : 25.223926'
|
'textAr': 'خط العرض: 25.223926'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': EnquiryAssetIconPath.map,
|
'icon': EnquiryAssetIconPath.map,
|
||||||
'text': 'Longitude : 55.350526',
|
'text': 'Longitude: 55.350526',
|
||||||
'textAr': 'خط الطول : 55.350526'
|
'textAr': 'خط الطول: 55.350526'
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -229,6 +230,34 @@ class _ContactState extends ConsumerState<Contact> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget buildTextRow(String iconName, String text) {
|
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(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 5.0),
|
padding: const EdgeInsets.symmetric(vertical: 5.0),
|
||||||
child: Row(
|
child: Row(
|
||||||
@ -240,7 +269,54 @@ class _ContactState extends ConsumerState<Contact> {
|
|||||||
height: 20,
|
height: 20,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
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(
|
child: Text(
|
||||||
text,
|
text,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
|
|||||||
@ -26,6 +26,7 @@ class _NotificationPageState extends ConsumerState<NotificationPage> {
|
|||||||
bool isLoading = true;
|
bool isLoading = true;
|
||||||
List<Map<String, dynamic>> notifications = [];
|
List<Map<String, dynamic>> notifications = [];
|
||||||
List<String> userReadedNotiOrNot = [];
|
List<String> userReadedNotiOrNot = [];
|
||||||
|
String notificationCount='';
|
||||||
|
|
||||||
// Current selected tab index
|
// Current selected tab index
|
||||||
int selectedTabIndex = 0;
|
int selectedTabIndex = 0;
|
||||||
@ -48,7 +49,30 @@ class _NotificationPageState extends ConsumerState<NotificationPage> {
|
|||||||
super.initState();
|
super.initState();
|
||||||
locale = ref.read(localeProvider) ?? const Locale('en');
|
locale = ref.read(localeProvider) ?? const Locale('en');
|
||||||
_userService = UserService();
|
_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 {
|
Future<String?> getUserId() async {
|
||||||
@ -188,8 +212,8 @@ class _NotificationPageState extends ConsumerState<NotificationPage> {
|
|||||||
child: BaseScaffold(
|
child: BaseScaffold(
|
||||||
title: Text(
|
title: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'Notification',
|
'Notification $notificationCount',
|
||||||
'إشعار',
|
'$notificationCount إشعار ',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: isLoading
|
body: isLoading
|
||||||
|
|||||||
@ -95,6 +95,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
locale = ref.read(localeProvider) ?? const Locale('en');
|
locale = ref.read(localeProvider) ?? const Locale('en');
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
_startAppbarTour();
|
_startAppbarTour();
|
||||||
|
_routeToIndex();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -697,6 +698,17 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
// }
|
// }
|
||||||
final PAuthRepo _authRepo = PAuthRepo();
|
final PAuthRepo _authRepo = PAuthRepo();
|
||||||
|
|
||||||
|
void _routeToIndex() {
|
||||||
|
String url=GoRouterState.of(context).uri.toString();
|
||||||
|
final uri = Uri.parse(url);
|
||||||
|
final fromValue = uri.queryParameters['key'] ?? '';
|
||||||
|
if (fromValue=='home'){
|
||||||
|
ref.read(selectedIndexProvider.notifier).state= 0;
|
||||||
|
}else if (fromValue=='uaenumbers'){
|
||||||
|
ref.read(selectedIndexProvider.notifier).state= 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Future<void> logout(BuildContext context) async {
|
Future<void> logout(BuildContext context) async {
|
||||||
final prefs = await SharedPreferences.getInstance();
|
final prefs = await SharedPreferences.getInstance();
|
||||||
await _authRepo.logout();
|
await _authRepo.logout();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user