package Ġcom . kas umin otes . ui . app . home Ċ Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . material . Fab Position Ċ import Ġandroidx . compose . material . Floating ActionButton Ċ import Ġandroidx . compose . material . Icon Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Sca ffold Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Edit Ċ import Ġandroidx . compose . material . remember Sca ffold State Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Coroutine Scope Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġcom . kas umin otes . data . UserProfile Ċ import Ġcom . kas umin otes . ui . app . Bottom Bar Ċ import Ġcom . kas umin otes . ui . app . state . Db State Ċ import Ġcom . kas umin otes . ui . app . state . Ui State Ċ import Ġkotlinx . coroutines . launch Ċ Ċ @ Composable Ċ fun ĠHome Sca ffold ( ĊĠĠĠ Ġui State : ĠUi State , ĊĠĠĠ Ġdb State : ĠDb State , ĊĠĠĠ Ġon Navigate To : Ġ( Int ) Ġ-> ĠUnit , ĊĠĠĠ Ġon Char a Click : Ġ( UserProfile ) Ġ-> ĠUnit , ĊĠĠĠ Ġon Char a Edit : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon Image Change : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon About Click : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġval Ġscope Ġ= Ġremember Coroutine Scope () ĊĠĠĠ Ġval Ġscaffold State Ġ= Ġremember Sca ffold State () ĊĠĠĠ Ġval Ġimage State Ġ= Ġui State . char a Image State ĊĠĠĠ Ġval Ġuser State Ġ= Ġdb State . user State ĊĠĠĠ Ġval Ġlist State Ġ= Ġuser State . char a List State ĊĊĠĠĠ ĠScaffold ( ĊĠĠĠĠĠĠĠ Ġscaffold State Ġ= Ġscaffold State , ĊĠĠĠĠĠĠĠ Ġtop Bar Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopen Drawer : Ġ() Ġ-> ĠUnit Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope . launch Ġ{ Ġscaffold State . drawer State . open () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHome Top Bar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser State . userId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage State . vector , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State . search Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State . atk Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State . position , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State . orderBy , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State . sort Desc , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui State :: toggle Image Variant , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State :: change Search Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State :: change At k Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State :: change Position , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State :: change OrderBy , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Drawer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġbottom Bar Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBottom Bar ( 0 , Ġon Navigate To ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġfloating ActionButton Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFloating ActionButton ( on Char a Edit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Filled . Edit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt int Ġ= ĠMaterial Theme . colors . on Secondary ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġfloating ActionButton Position Ġ= ĠF ab Position . Center , ĊĠĠĠĠĠĠĠ Ġis Floating ActionButton Dock ed Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġdrawer Content Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHome Drawer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser State . userId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser State . userName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser State . max UserData , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State . db Server , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State . db Version , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State . app Auto Update , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State . db Auto Update , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State . last Version Fetching , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State . latest App Release Info Fetching , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui State . language , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui State . dark Theme , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Image Change , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser State :: log Out , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State :: change Db Server , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State :: fetch Last Db Version , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State :: toggle Db Auto Update , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui State :: change Language , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui State :: toggle Dark Theme , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State :: fetch Latest App Release Info , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb State :: toggle App Auto Update , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon About Click ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġcontent Ġ= Ġ{ Ġcontent Padding Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( Modifier . padding ( content Padding )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChar a List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui State . char a Image State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State . derived Profiles , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Char a Click ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ } Ċ