package Ġcom . rer ere . iw ara 4 a . ui . screen . index . page Ċ Ċ import Ġandroidx . compose . foundation . Experimental Foundation Api Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . foundation . layout . size Ċ import Ġandroidx . compose . foundation . lazy . Grid Cells Ċ import Ġandroidx . compose . foundation . lazy . Lazy Vertical Grid Ċ import Ġandroidx . compose . foundation . lazy . remember Lazy List State Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . text . font . Font Weight Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġandroidx . paging . Load State Ċ import Ġandroidx . paging . compose . collect As Lazy Paging Items Ċ import Ġcom . air bnb . lott ie . compose . Lot tie Animation Ċ import Ġcom . air bnb . lott ie . compose . Lot tie Composition Spec Ċ import Ġcom . air bnb . lott ie . compose . Lot tie Constants Ċ import Ġcom . air bnb . lott ie . compose . remember Lot tie Composition Ċ import Ġcom . google . ac comp an ist . swiper ef resh . Swipe Refresh Ċ import Ġcom . google . ac comp an ist . swiper ef resh . Swipe Refresh Indicator Ċ import Ġcom . google . ac comp an ist . swiper ef resh . remember Swipe Refresh State Ċ import Ġcom . rer ere . iw ara 4 a . R Ċ import Ġcom . rer ere . iw ara 4 a . api . paging . Media Source Ċ import Ġcom . rer ere . iw ara 4 a . model . index . MediaType Ċ import Ġcom . rer ere . iw ara 4 a . ui . public .* Ċ import Ġcom . rer ere . iw ara 4 a . ui . screen . index . Index ViewModel Ċ import Ġcom . rer ere . iw ara 4 a . util . no R ipple Clickable Ċ Ċ @ Experimental Foundation Api Ċ @ Composable Ċ fun ĠVideo List Page ( nav Controller : ĠNav Controller , Ġindex ViewModel : ĠIndex ViewModel ) Ġ{ ĊĠĠĠ Ġval Ġvideo List Ġ= Ġindex ViewModel . video Pager . collect As Lazy Paging Items () ĊĠĠĠ Ġval Ġswipe Refresh State Ġ= ĊĠĠĠĠĠĠĠ Ġremember Swipe Refresh State ( is Refresh ing Ġ= Ġvideo List . load State . refresh Ġ== ĠLoad State . Loading ) ĊĊĠĠĠ Ġif Ġ( video List . load State . refresh Ġis ĠLoad State . Error ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. no R ipple Clickable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvideo List . retry () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Alignment Ġ= ĠAlignment . Center ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( horizontal Alignment Ġ= ĠAlignment . Center H orizontally ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcomposition Ġby Ġremember Lot tie Composition ( Lot tie Composition Spec . Raw Res ( R . raw . error _ state _ dog )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL ot tie Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( 1 5 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomposition Ġ= Ġcomposition , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiterations Ġ= ĠL ot tie Constants . Iterate Fore ver ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" åĬłè½½ å¤±è´¥ ï¼Į çĤ¹åĩ» éĩį è¯ķ ", ĠfontWeight Ġ= ĠFontWeight . Bold ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠSw ipe Refresh ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġswipe Refresh State , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Refresh Ġ= Ġ{ Ġvideo List . refresh () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindicator Ġ= Ġ{ Ġs , Ġtrigger Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSw ipe Refresh Indicator ( s , Ġtrigger , Ġcontent Color Ġ= ĠMaterial Theme . colors . primary ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠQuery Param Selector ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquery Param Ġ= Ġindex ViewModel . video QueryParam , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonChange Sort Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex ViewModel . video QueryParam . sort Type Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvideo List . refresh () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonChange Filters Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex ViewModel . video QueryParam . filters Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvideo List . refresh () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist State Ġ= Ġremember Lazy List State () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( content Alignment Ġ= ĠAlignment . Center ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList Snap To Top ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist State Ġ= Ġlist State ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLazy Vertical Grid ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcells Ġ= ĠGrid Cells . Fixed ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġlist State ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems ( video List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Preview Card ( nav Controller , Ġit !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Indicator ( video List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( video List . load State . refresh Ġ== ĠLoad State . Loading Ġ&& Ġvideo List . item Count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcomposition Ġby Ġremember Lot tie Composition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL ot tie Composition Spec . Raw Res ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . raw . sun ny ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL ot tie Animation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( 2 5 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomposition Ġ= Ġcomposition , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiterations Ġ= ĠL ot tie Constants . Iterate Fore ver ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }