forked from eatvio/eatvio_app
feat(profile): New layouts for profile, default avatar and moved exit button to navbar
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import 'package:eatvio_app/core/app_export.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:eatvio_app/widgets/custom_navigation_menu_item.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
class CustomNavigationMenu extends StatelessWidget {
|
||||
@override
|
||||
@@ -53,12 +56,33 @@ class CustomNavigationMenu extends StatelessWidget {
|
||||
MenuItem(
|
||||
icon: ImageConstant.imgExit,
|
||||
text: 'Выход',
|
||||
onTap: () {
|
||||
// Действие при нажатии на "Выход"
|
||||
},
|
||||
onTap: _onTapLogout(context),
|
||||
// Действие при нажатии на "Выход"
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
_onTapLogout(BuildContext context) {
|
||||
return () async {
|
||||
final box = await Hive.openBox('token');
|
||||
final token = box.get('token');
|
||||
final response = await http.post(
|
||||
Uri.parse(dotenv.env['SERVER_ROOT']! + '/profile/logout'),
|
||||
headers: {
|
||||
'Authorization': 'Bearer $token',
|
||||
},
|
||||
);
|
||||
|
||||
if (response.statusCode == 204) {
|
||||
print(response.statusCode);
|
||||
box.delete('token'); // Удаляем токен из Hive
|
||||
Navigator.pushNamed(
|
||||
context,
|
||||
AppRoutes.authScreen,
|
||||
);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user