package Ġes . jn soft . what we ath . presentation . ui . days Ċ Ċ import Ġandroidx . compose . animation . Experimental Animation Api Ċ import Ġandroidx . compose . foundation . layout . Arrange ment Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . Lazy List State Ċ import Ġandroidx . compose . foundation . lazy . items Indexed Ċ import Ġandroidx . compose . foundation . lazy . remember Lazy List State Ċ import Ġandroidx . compose . material . Divider Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Sca ffold Ċ import Ġandroidx . compose . material . remember Sca ffold State Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Disposable Effect Ċ import Ġandroidx . compose . runtime . collect As State Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . platform . Local Context Ċ import Ġandroidx . compose . ui . platform . Local Lifecycle Owner Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . lifecycle . Lifecycle Ċ import Ġandroidx . lifecycle . Lifecycle Event Observer Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġes . jn soft . domain . model . Result Ċ import Ġes . jn soft . what we ath . R Ċ import Ġes . jn soft . what we ath . presentation . model . Daily Presentation Ċ import Ġes . jn soft . what we ath . presentation . ui . common . Animated Floating ActionButton Ċ import Ġes . jn soft . what we ath . presentation . ui . common . Empty Message Ċ import Ġes . jn soft . what we ath . presentation . ui . common . Progress Indicator Ċ import Ġes . jn soft . what we ath . utils . Drawable Loader Ċ import Ġes . jn soft . what we ath . utils . Drawable Type Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ Ċ @ Experimental Cor outines Api Ċ @ Experimental Animation Api Ċ @ Composable Ċ fun ĠDays Screen ( ĊĠĠĠ ĠviewModel : ĠDays ViewModel , ĊĠĠĠ Ġlifecycle Owner : ĠLifecycle Owner Ġ= ĠLocal Lifecycle Owner . current Ċ ) Ġ{ ĊĠĠĠ Ġval Ġd ail ies Result Ġby ĠviewModel . daily Presentation . collect As State ( initial Ġ= ĠResult . Loading ) ĊĠĠĠ Ġval Ġscaffold State Ġ= Ġremember Sca ffold State () ĊĠĠĠ Ġval Ġlazy List State Ġ= Ġremember Lazy List State () ĊĠĠĠ Ġval Ġshould Collapse Ġ= Ġlazy List State . first Visible Item Index Ġ== Ġ 0 ĊĠĠĠ ĠScaffold ( ĊĠĠĠĠĠĠĠ Ġscaffold State Ġ= Ġscaffold State , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize (), ĊĠĠĠĠĠĠĠ Ġfloating ActionButton Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnimated Floating ActionButton ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġstring Resource ( id Ġ= ĠR . string . current _ fab _ delete ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĠviewModel . delete Data () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Ġ= Ġd ail ies Result Ġis ĠResult . Success , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollapsed Ġ= Ġshould Collapse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( d ail ies Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEmpty Message ( modifier Ġ= ĠModifier . fill MaxSize ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Loading Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProgress Indicator ( modifier Ġ= ĠModifier . fill MaxSize ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ail ies List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ail ies Ġ= Ġ( d ail ies Result Ġas ĠResult . Success < List < Daily Presentation >> ). value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State Ġ= Ġlazy List State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ ĠDis posable Effect ( lifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobserver Ġ= ĠLifecycle Event Observer Ġ{ Ġ_, Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event Ġ== ĠLifecycle . Event . ON _ START ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . onStart () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlifecycle Owner . lifecycle . add Observer ( observer ) ĊĠĠĠĠĠĠĠ Ġon Dispose Ġ{ Ġlifecycle Owner . lifecycle . remove Observer ( observer ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Experimental Animation Api Ċ @ Composable Ċ private Ġfun ĠD ail ies List ( ĊĠĠĠ Ġd ail ies : ĠList < Daily Presentation >, ĊĠĠĠ Ġlist State : ĠLazy List State , ĊĠĠĠ Ġmodifier : ĠModifier Ċ ) Ġ{ ĊĠĠĠ Ġval Ġcontext Ġ= ĠLocal Context . current ĊĠĠĠ ĠLazy Column ( ĊĠĠĠĠĠĠĠ Ġvertical Arrange ment Ġ= ĠArrange ment . Space Even ly , ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġlist State , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems Indexed ( d ail ies ) Ġ{ Ġindex , Ġdaily Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrawable Id Ġ= ĠDrawable Loader . load Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource Name Ġ= Ġdaily . icon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable Type Ġ= ĠDrawable Type . IC ONE LEMENT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdaily Ġ= Ġdaily , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweather Icon Id Ġ= Ġdrawable Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġd ail ies . last Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiv ider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠMaterial Theme . colors . on Surface . copy ( alpha Ġ= Ġ 0 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthickness Ġ= Ġ 1 . dp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }