package Ġcom . test . employ eed irectory . ui . list Ċ Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . remember Lazy List State Ċ 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 . graphics . Color Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . lifecycle . view model . compose . viewModel Ċ import Ġcom . test . employ eed irectory . ui . FullScreen Loading Ċ import Ġcom . test . employ eed irectory . ui . Network ImageView Ċ import Ġcom . test . employ eed irectory . ui . vo . Employee Ċ Ċ @ Composable Ċ fun ĠEmployee List Page ( viewModel : ĠEmployee List ViewModel Ġ= ĠviewModel (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate To Details : Ġ( id : ĠInt ) Ġ-> ĠUnit ){ ĊĠĠĠ Ġval Ġui State Ġby ĠviewModel . ui State . collect As State () ĊĠĠĠ ĠviewModel . fetch Employees () ĊĠĠĠ ĠviewModel . get Employees () ĊĊĠĠĠ Ġif Ġ( ui State . loading ) Ġ{ ĊĠĠĠĠĠĠĠ ĠFull Screen Loading () ĊĠĠĠ Ġ} else { ĊĊĠĠĠĠĠĠĠ Ġval Ġlist State Ġ= Ġremember Lazy List State () ĊĠĠĠĠĠĠĠ ĠLazy Column ( content Ġ= Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠBox ( modifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( Color . White )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui State . employees ?. let Ġ{ Ġitems Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLazy Column ( state Ġ= Ġlist State , ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems ( count Ġ= Ġitems . size Ġ?: Ġ 0 , Ġkey Ġ= Ġ{ Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠReturn Ġa Ġstable Ġ+ Ġunique Ġkey Ġfor Ġthe Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEmployee Item View ( items . get ( index )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠEmployee Item View ( employee : ĠEmployee ){ Ċ Row ( modifier Ġ= ĠModifier . padding ( 8 . dp )) Ġ{ ĊĠĠĠ ĠNetwork ImageView ( imageUrl Ġ= Ġemployee . image , Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠ Ġ. size ( 5 0 . dp ), ĊĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" employee ") ĊĠĠĠ ĠColumn ( modifier Ġ= ĠModifier . padding ( 8 . dp )) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġemployee . name ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġemployee . company Name ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ }