package Ġcom . mike pen z . story b lok . ui Ċ Ċ 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 .* Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Info Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . platform . test Tag Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . google . ac comp an ist . in sets . Local Window Insets Ċ import Ġcom . google . ac comp an ist . in sets . remember Insets Padding Values Ċ import Ġcom . google . ac comp an ist . in sets . ui . Top AppBar Ċ import Ġcom . mike pen z . common . utils . readable CreatedAt Ċ import Ġcom . mike pen z . story b lok . sdk . model . Story Ċ import Ġcom . mike pen z . story b lok . util . story Type Ċ import Ġorg . k oin . android x . compose . get ViewModel Ċ import Ġjava . text . DateFormat . MEDIUM Ċ Ċ const Ġval ĠStory List Tag Ġ= Ġ" Story List " Ċ Ċ @ Composable Ċ fun ĠStory List Screen ( ĊĠĠĠ Ġpadding Values : ĠPadding Values Ġ= ĠPadding Values (), ĊĠĠĠ Ġstory Selected : Ġ( story : ĠStory ) Ġ-> ĠUnit , ĊĠĠĠ Ġopen Source Click : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġstory b lok ViewModel : ĠStory b lok ViewModel Ġ= Ġget ViewModel () Ċ ) Ġ{ ĊĠĠĠ Ġval Ġstory State Ġ= Ġstory b lok ViewModel . stories ĊĊĠĠĠ ĠScaffold ( ĊĠĠĠĠĠĠĠ Ġtop Bar Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTop AppBar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ{ ĠText (" Mi ke ĠP enz ĠBlog Ġ| ĠStory b lok Ġmp ĠSDK ") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Padding Ġ= Ġremember Insets Padding Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin sets Ġ= ĠLocal Window Insets . current . status Bars , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapply Start Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapply Top Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapply End Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactions Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( onClick Ġ= Ġopen Source Click ) Ġ{ ĠIcon ( Icons . Filled . Info , Ġ" License s ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLazy Column ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Padding Ġ= Ġpadding Values , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. test Tag ( Story List Tag ), ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems ( story State . value ) Ġ{ Ġstory Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStory View ( story , Ġstory Selected ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠStory View ( story : ĠStory , Ġstory Selected : Ġ( story : ĠStory ) Ġ-> ĠUnit ) Ġ{ ĊĊĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( onClick Ġ= Ġ{ Ġstory Selected ( story ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 1 6 . dp ), ĊĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModifier . weight ( 1 f ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstory . name , Ġmax Lines Ġ= Ġ 2 , Ġstyle Ġ= ĠMaterial Theme . typography . h 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstory . readable CreatedAt ( MEDIUM , ĠMED IUM ), Ġstyle Ġ= ĠMaterial Theme . typography . caption ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= ĠModifier . size ( 4 . dp )) ĊĠĠĠĠĠĠĠ Ġstory . story Type ?. let Ġ{ ĠStory Badge ( it ) Ġ} ĊĠĠĠ Ġ} Ċ }