From 75738a154a59be25d57e57ad39febffdc4a85a1e Mon Sep 17 00:00:00 2001 From: "mr.mojtaba" Date: Tue, 15 Jul 2025 09:21:51 +0330 Subject: [PATCH] feat : logout ui and logic --- assets/icons/logout.svg | 5 +- assets/vec/logout.svg.vec | Bin 738 -> 511 bytes .../lib/presentation/pages/profile/view.dart | 62 ++++++++++++++++++ 3 files changed, 64 insertions(+), 3 deletions(-) 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 8ea1d5f7bf3ab532127872f6cbbd61d459f8e2ea..a8a9e2b21d594693c1f7622c3d2d4085719d4957 100644 GIT binary patch literal 511 zcmXw$u}i~16vp4BWN?xex0a$~heDyDxS4l!lR^;#4i-_t2s(5S{S(YAw3r|`sA#h~ zs$;=o69oxQw*ChW?mh3lq&dQm_uY5z-pB1#JrEUuWl4WY?Nn6`K&hetSOonEgO@N2 zA&i_wlIy(SLff$cewZ!ClvF>41^KX%*nwY=!`T`V_tlg++cagXY07o&8GlcaNPUQY zc)95&E+K4Qk@I*#F`_M4E&2*jq(0d1nS^ bqx3$1i0Ql`XSHC?ex~=aR;CwJsw^1)OMbX` literal 738 zcmX|qmxRWN%YEC_<2_ThG(XU=oE{LcS5&-0xBJ?FNq9}=2J z2$!U{%2dNDglRf8A?!j8%|eeF3lnRL3MWse(a~d(Niv|j!1o2w?T?>=SO=hkDB z?0e=HF`(ja(HswA+rAI*cZKj|qD&6UORAq;md?|uX`-xn?iNkctPV9F`~F22;vO<) z3dFkZ31-I3;%N6R70)VtgE=xZGQS?5&yQo{EY-(x>g#jeYmTDS&nYZo3GG$9VohDM z)vM(8MO8@MokqiN2eT%>0;#8OP?KM(IE7vHKHa}PkyYW7$1yP=vs#x$$dze}(%{sZ%>5XS%j 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(); + }, + ), + ], + ), + ], + ), + ), + ), + ); + } }