diff --git a/assets/icons/logout.svg b/assets/icons/logout.svg index c5a263d..5fdbcf7 100644 --- a/assets/icons/logout.svg +++ b/assets/icons/logout.svg @@ -1,5 +1,4 @@ - - - + + diff --git a/assets/vec/logout.svg.vec b/assets/vec/logout.svg.vec index 8ea1d5f..a8a9e2b 100644 Binary files a/assets/vec/logout.svg.vec and b/assets/vec/logout.svg.vec differ diff --git a/packages/chicken/lib/presentation/pages/profile/view.dart b/packages/chicken/lib/presentation/pages/profile/view.dart index 0ef195a..6d2c993 100644 --- a/packages/chicken/lib/presentation/pages/profile/view.dart +++ b/packages/chicken/lib/presentation/pages/profile/view.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:rasadyar_auth/data/models/local/user_local/user_local_model.dart'; +import 'package:rasadyar_auth/presentation/routes/pages.dart'; import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart'; import 'package:rasadyar_chicken/data/models/response/user_profile/user_profile.dart'; import 'package:rasadyar_chicken/presentation/widget/list_row_item.dart'; @@ -79,6 +81,15 @@ class ProfilePage extends GetView { }, icon: Assets.vec.lockSvg.path, ), + + cardActionWidget( + title: 'خروج', + selected: true, + onPressed: () { + Get.bottomSheet(exitBottomSheet(), isScrollControlled: true); + }, + icon: Assets.vec.logoutSvg.path, + ), /*cardActionWidget( title: 'اطلاعات بانکی', onPressed: () { @@ -499,4 +510,55 @@ class ProfilePage extends GetView { ), ); } + + Widget exitBottomSheet() { + return BaseBottomSheet( + height: 220.h, + child: SingleChildScrollView( + child: Form( + key: controller.formKey, + child: Column( + spacing: 8, + children: [ + Text('خروج', style: AppFonts.yekan16Bold.copyWith(color: AppColor.error)), + SizedBox(), + Text( + 'آیا مطمئن هستید که می‌خواهید از حساب کاربری خود خارج شوید؟', + textAlign: TextAlign.center, + style: AppFonts.yekan16Bold.copyWith(color: AppColor.textColor), + ), + + SizedBox(), + + Row( + spacing: 16, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + RElevated( + height: 40.h, + text: 'خروج', + backgroundColor: AppColor.error, + onPressed: () async { + await controller.rootLogic.tokenService.deleteTokens().then((value) { + Get.back(); + Get.offAllNamed(AuthPaths.auth, arguments: Module.chicken); + }); + }, + ), + ROutlinedElevated( + height: 40.h, + text: 'انصراف', + borderColor: AppColor.blueNormal, + onPressed: () { + Get.back(); + }, + ), + ], + ), + ], + ), + ), + ), + ); + } }