package Ġbr . com . cross life . logout . view Ċ Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . collect As State Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . h ilt . navigation . compose . h ilt ViewModel Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġbr . com . cross life . commons . components . Button Ċ import Ġbr . com . cross life . commons . extensions . capitalize Ċ import Ġbr . com . cross life . commons . extensions . navigate And Pop Ċ import Ġbr . com . cross life . commons . extensions . remember Flow With Lifecycle Ċ import Ġbr . com . cross life . commons . theme . Space Ċ import Ġbr . com . cross life . domain . model . Result Ċ import Ġbr . com . cross life . logout . R Ċ import Ġbr . com . cross life . logout . view model . Logout ViewModel Ċ import Ġbr . com . cross life . navigation . Screen Ċ Ċ @ Composable Ċ fun ĠNav Controller . Logout Dialog ( user ViewModel : ĠLogout ViewModel Ġ= Ġh ilt ViewModel ()) Ġ{ ĊĠĠĠ Ġval Ġstate Ġby Ġremember Flow With Lifecycle ( user ViewModel . logout ) ĊĠĠĠĠĠĠĠ Ġ. collect As State ( initial Ġ= ĠResult . Initial ) ĊĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠ ĠResult . Initial , ĠResult . Loading Ġ-> ĠLogout Screen ( user ViewModel ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnavigate And Pop ( Screen . Login , ĠScreen . Home , Ġtrue ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠLogout Screen ( user ViewModel : ĠLogout ViewModel ) Ġ{ ĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( Space . XX S ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width (), ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Resource ( id Ġ= ĠR . string . logout _ title ). capitalize (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 3 , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Resource ( id Ġ= ĠR . string . logout _ description ). capitalize (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . body 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( top Ġ= ĠSpace . XS ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( top Ġ= ĠSpace . XX S ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . End , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( text Button Ġ= Ġstring Resource ( id Ġ= ĠR . string . logout ). capitalize (), ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser ViewModel . fetch Logout () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ