package Ġme . rer ere . rain music . ui . screen . index . page Ċ Ċ import Ġandroidx . compose . foundation . Experimental Foundation Api Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . grid . Grid Cells Ċ import Ġandroidx . compose . foundation . lazy . grid . Lazy Vertical Grid Ċ import Ġandroidx . compose . foundation . lazy . grid . items Ċ import Ġandroidx . compose . foundation . shape . Rounded Corner Shape Ċ import Ġandroidx . compose . material . Scroll able Tab Row Ċ import Ġandroidx . compose . material . Tab Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . rounded . Dashboard Custom ize Ċ import Ġandroidx . compose . material 3 .* Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . draw . clip Ċ import Ġandroidx . compose . ui . layout . Content Scale Ċ import Ġandroidx . compose . ui . platform . Local Context Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . core . content . edit Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġandroidx . paging . Pager Ċ import Ġandroidx . paging . Paging Config Ċ import Ġandroidx . paging . cached In Ċ import Ġandroidx . paging . compose . collect As Lazy Paging Items Ċ import Ġco il . compose . remember Image Painter Ċ import Ġcom . google . ac comp an ist . flow layout . Flow Row Ċ import Ġcom . google . ac comp an ist . pager . Experimental Pager Api Ċ import Ġcom . google . ac comp an ist . pager . Horizontal Pager Ċ import Ġcom . google . ac comp an ist . pager . remember Pager State Ċ import Ġkotlinx . coroutines . launch Ċ import Ġme . rer ere . rain music . data . model . Play lists Ċ import Ġme . rer ere . rain music . data . paging . Top Playlist Paging Source Ċ import Ġme . rer ere . rain music . data . ret rofit . we api . model . Playlist Category Ċ import Ġme . rer ere . rain music . ui . component . shim mer Placeholder Ċ import Ġme . rer ere . rain music . ui . local . Local Nav Controller Ċ import Ġme . rer ere . rain music . ui . screen . Screen Ċ import Ġme . rer ere . rain music . ui . screen . index . Index ViewModel Ċ import Ġme . rer ere . rain music . ui . states . items Ċ import Ġme . rer ere . rain music . util . Data State Ċ import Ġme . rer ere . rain music . util . shared Preferences Of Ċ import Ġme . rer ere . rain music . util . toast Ċ Ċ @ Opt In ( Experimental Pager Api :: class , ĠExperimental Foundation Api :: class ) Ċ @ Composable Ċ fun ĠDis cover Page ( index ViewModel : ĠIndex ViewModel ) Ġ{ ĊĠĠĠ Ġval Ġcontext Ġ= ĠLocal Context . current ĊĠĠĠ Ġval Ġpager State Ġ= Ġremember Pager State () ĊĠĠĠ Ġval Ġscope Ġ= Ġremember Coroutine Scope () ĊĠĠĠ Ġval Ġcategory All Ġby Ġindex ViewModel . category All . collect As State () ĊĠĠĠ Ġval Ġcategory Select Ġby Ġindex ViewModel . category Selected . collect As State () ĊĠĠĠ Ġvar Ġediting Ġby Ġremember Ġ{ Ġmutable State Of ( false ) Ġ} ĊĊĠĠĠ ĠLa unched Effect ( Unit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( category All . not Loaded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex ViewModel . refresh Explore Page () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcategory Ġ= ĠlistOf (" åħ¨éĥ¨ ", Ġ" å®ĺæĸ¹ ", Ġ" ç²¾ åĵģ ") Ġ+ Ġcategory Select ĊĊĠĠĠ Ġif Ġ( editing ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCategory Editor ( category All , Ġcategory Select ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpager State . scrollTo Page ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences Of (" playlist _ category "). edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" data ", Ġit . distinct (). join ToString ("," )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex ViewModel . refresh Selected Category () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . toast (" ä¿ĿåŃĺ æĪĲåĬŁ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġediting Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScroll able Tab Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . weight ( 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected TabIndex Ġ= Ġpager State . currentPage , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠMaterial Theme . color Scheme . background , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Color Ġ= ĠMaterial Theme . color Scheme . primary , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedge Padding Ġ= Ġ 0 . dp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory . forEach Indexed Ġ{ Ġindex , Ġsub Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTab ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= Ġpager State . currentPage Ġ== Ġindex , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpager State . animate Scroll To Page ( index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġsub , Ġmodifier Ġ= ĠModifier . padding ( 4 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( onClick Ġ= Ġ{ Ġediting Ġ= Ġtrue Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Rounded . Dashboard Custom ize , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHorizontal Pager ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Ġ= Ġcategory . size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġpager State ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTop Playlist ( index ViewModel , Ġcategory [ it ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠCategory Editor ( ĊĠĠĠ Ġcategory All : ĠData State < Playlist Category >, ĊĠĠĠ Ġselected Category : ĠList < String >, ĊĠĠĠ Ġon Save : Ġ( List < String >) Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġcategory Ġby Ġremember ( selected Category ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmutable State Of ( selected Category ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 1 6 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . spaced By ( 1 6 . dp ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" èĩªå®ļä¹ī æŃĮ åįķ ç±»åŀĭ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . weight ( 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . headline Small ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ä¿ĿåŃĺ åīį éĩį æİĴåºı ä¸Ģ éģį ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory All . read (). sub . filter Ġ{ Ġcategory . contains ( it . name ) Ġ}. map Ġ{ Ġit . name Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Save ( list ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" ä¿ĿåŃĺ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠLazy Column ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Arrange ment Ġ= ĠArrange ment . spaced By ( 1 6 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Padding Ġ= ĠPadding Values ( 1 6 . dp ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory All . read S af ely ()?. categories ?. entries ?. forEach Ġ{ Ġ( k , Ġv ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlow Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill Max Width (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Axis Spacing Ġ= Ġ 8 . dp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory All . read (). sub . filter Ġ{ Ġit . category Ġ== Ġk . toInt () Ġ}. forEach Ġ{ Ġsub Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( category . contains ( sub . name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOut lined Button ( onClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= ĠArrayList ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory . to Mutable List (). apply Ġ{ Ġremove ( sub . name ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġsub . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( onClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArrayList ( category . to Mutable List (). apply Ġ{ Ġadd ( sub . name ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġsub . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Experimental Foundation Api Ċ @ Composable Ċ private Ġfun ĠTop Playlist ( ĊĠĠĠ Ġindex ViewModel : ĠIndex ViewModel , ĊĠĠĠ Ġcategory : ĠString Ċ ) Ġ{ ĊĠĠĠ Ġif Ġ( category Ġ== Ġ" ç²¾ åĵģ ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhigh Quality Playlist Ġby Ġindex ViewModel . high Quality Playlist . collect As State () ĊĠĠĠĠĠĠĠ ĠLazy Vertical Grid ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumns Ġ= ĠGrid Cells . Adaptive ( 1 1 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( high Quality Playlist Ġis ĠData State . Success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems ( high Quality Playlist . read (). play lists ) Ġ{ Ġplaylist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPlaylist Item ( playlist ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġitems Ġ= Ġ( index ViewModel . playlist Cat Pager [ category ] Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠ ĠP ager ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= ĠP aging Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠpageSize Ġ= Ġ 2 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Load Size Ġ= Ġ 2 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefetch Distance Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaging Source Factory Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTop Playlist Paging Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= Ġcategory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmusic Repo Ġ= Ġindex ViewModel . music Repo ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). flow . cached In ( index ViewModel . viewModel Scope ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex ViewModel . playlist Cat Pager [ category ] Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}). collect As Lazy Paging Items () ĊĊĠĠĠ ĠLazy Vertical Grid ( ĊĠĠĠĠĠĠĠ Ġcolumns Ġ= ĠGrid Cells . Adaptive ( 1 1 0 . dp ), ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems ( items ) Ġ{ Ġplaylist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlaylist Item ( playlist !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠPlaylist Item ( playlist : ĠPlay lists ) Ġ{ ĊĠĠĠ Ġval Ġnav Controller Ġ= ĠLocal Nav Controller . current ĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScreen . Playlist . navigate ( nav Controller ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Path ( playlist . id . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( Intr insic Size . Min ), ĊĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= ĠAlignment . Center H orizontally ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpainter Ġ= Ġremember Image Painter ( data Ġ= Ġplaylist . cover Img Url ) ĊĠĠĠĠĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( Rounded Corner Shape ( 4 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. shim mer Placeholder ( p ainter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 1 0 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Scale Ġ= ĠContent Scale . Fill Bounds ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġplaylist . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . label Medium , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }