package Ġclub . peng ub ank . mobile . views . setup Ċ Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . text . style . Text Align Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . navigation . Nav Host Controller Ċ import Ġandroidx . navigation . compose . Nav Host Ċ import Ġandroidx . navigation . compose . comp osable Ċ import Ġandroidx . navigation . compose . navigate Ċ import Ġandroidx . navigation . compose . remember Nav Controller Ċ import Ġclub . peng ub ank . mobile . services . Setup Service Ċ import Ġclub . peng ub ank . mobile . states . setup . Setup Init Screen State Ċ import Ġclub . peng ub ank . mobile . states . setup . Setup Pass code Screen State Ċ import Ġclub . peng ub ank . mobile . states . setup . Setup Screen State Ċ import Ġclub . peng ub ank . mobile . views . setup . components . Setup Login Form Ċ import Ġclub . peng ub ank . mobile . views . setup . components . Setup Pass code Form Ċ import Ġclub . peng ub ank . mobile . views . shared . Peng u Logo With Title Ċ import Ġio . ktor . util .* Ċ Ċ @ K tor Experimental API Ċ @ Composable Ċ fun ĠSetup Screen ( nav Controller : ĠNav Host Controller , Ġsetup Service : ĠSetup Service ) Ġ{ ĊĠĠĠ Ġvar Ġscreen State : ĠSetup Screen State Ġby Ġremember Ġ{ Ġmutable State Of ( Setup Init Screen State ( setup Service )) Ġ} ĊĊĠĠĠ Ġval Ġsetup Nav Controller Ġ= Ġremember Nav Controller () ĊĊĠĠĠ Ġif Ġ( screen State . state . value Ġis ĠSetup Screen State . Setup State . Init State . Success ) Ġ{ ĊĠĠĠĠĠĠĠ Ġscreen State Ġ= ĠSetup Pass code Screen State ( screen State . email , Ġsetup Service ) ĊĠĠĠĠĠĠĠ Ġsetup Nav Controller . navigate (" setup - pass code ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( screen State . state . value Ġis ĠSetup Screen State . Setup State . Pass code State . Success ) ĊĠĠĠĠĠĠĠ Ġnav Controller . navigate (" login ") ĊĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= ĠAlignment . Center H orizontally , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠPeng u Logo With Title ( modifier Ġ= ĠModifier . padding ( top Ġ= Ġ 6 4 . dp , Ġbottom Ġ= Ġ 2 4 . dp )) ĊĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Setup Ġ- Ġ${ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( screen State Ġis ĠSetup Init Screen State ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Enter Ġcredentials " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Choose Ġpass code " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠText Align . Center ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= ĠModifier . preferred Height ( 2 4 . dp )) ĊĊĠĠĠĠĠĠĠ ĠNav Host ( nav Controller Ġ= Ġsetup Nav Controller , Ġstart Destination Ġ= Ġ" setup - login ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomp osable (" setup - login ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( screen State Ġ! is ĠSetup Init Screen State ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen State Ġ= ĠSetup Init Screen State ( setup Service ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSetup Login Form ( screen State Ġas ĠSetup Init Screen State ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomp osable (" setup - pass code ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSetup Pass code Form ( screen State Ġas ĠSetup Pass code Screen State ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊĊ