package Ġcom . k urt . j okes . presentation . screens Ċ Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . items Ċ import Ġandroidx . compose . material . Circular Progress Indicator Ċ import Ġandroidx . compose . material . Divider Ċ 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 . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . lifecycle . view model . compose . viewModel Ċ import Ġcom . k urt . j okes . mobile . domain . entities . Jo ke Ċ import Ġcom . k urt . j okes . mobile . presentation . features . j okes . J okes ViewModel Ċ import Ġcom . k urt . j okes . mobile . presentation . models . Ui State Ċ import Ġcom . k urt . j okes . presentation . Main ViewModel Factory Ċ Ċ @ Composable Ċ fun ĠJ okes Screen () Ġ{ ĊĠĠĠ Ġval ĠviewModel Ġ= ĠviewModel < J okes ViewModel >( factory Ġ= ĠMain ViewModel Factory ()) ĊĠĠĠ Ġval Ġj okes Ġ= ĠviewModel . j okes . collect As State ( listOf ()) ĊĠĠĠ Ġval Ġget J okes State Ġ= ĠviewModel . j okes State . collect As State ( Ui State . Loading ) ĊĊĠĠĠ Ġif Ġ( get J okes State . value Ġ== ĠUi State . Loading ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Alignment Ġ= ĠAlignment . Center ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCircular Progress Indicator () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠLazy Column ( modifier Ġ= ĠModifier . fill MaxSize ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems ( j okes . value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJo ke Item ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠJo ke Item ( jo ke : ĠJo ke ) Ġ{ ĊĠĠĠ Ġval Ġis P unch line Visible Ġ= Ġremember Ġ{ Ġmutable State Of ( false ) Ġ} ĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . click able Ġ{ Ġis P unch line Visible . value Ġ= Ġ! is P unch line Visible . value Ġ} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 1 6 . dp ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjo ke . setup , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is P unch line Visible . value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( jo ke . p unch line ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠDiv ider () ĊĠĠĠ Ġ} Ċ }