package Ġcom . rer ere . iw ara 4 a . ui . screen . index Ċ Ċ import Ġandroidx . compose . animation . Animated Visibility Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . foundation . shape . Circle Shape Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . outlined .* Ċ import Ġandroidx . compose . material 3 .* Ċ import Ġandroidx . compose . material 3 . window size class . Window Width Size Class Ċ import Ġandroidx . compose . material 3 . window size class . calculate Window Size Class Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . runtime . save able . remember Save able Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . draw . clip Ċ import Ġandroidx . compose . ui . platform . Local Context Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . core . content . edit Ċ import Ġandroidx . h ilt . navigation . compose . h ilt ViewModel Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġco il . compose . Async Image Ċ import Ġcom . google . ac comp an ist . pager . Horizontal Pager Ċ import Ġcom . google . ac comp an ist . pager . remember Pager State Ċ import Ġcom . rer ere . iw ara 4 a . Build Config Ċ import Ġcom . rer ere . iw ara 4 a . R Ċ import Ġcom . rer ere . iw ara 4 a . shared Preferences Of Ċ import Ġcom . rer ere . iw ara 4 a . ui . component . Md 3 Bottom Navigation Ċ import Ġcom . rer ere . iw ara 4 a . ui . component . Md 3 Top Bar Ċ import Ġcom . rer ere . iw ara 4 a . ui . component . md . Banner Ċ import Ġcom . rer ere . iw ara 4 a . ui . local . Local Nav Controller Ċ import Ġcom . rer ere . iw ara 4 a . ui . local . Local Self Data Ċ import Ġcom . rer ere . iw ara 4 a . ui . screen . index . page . Explore Page Ċ import Ġcom . rer ere . iw ara 4 a . ui . screen . index . page . Rank Page Ċ import Ġcom . rer ere . iw ara 4 a . ui . screen . index . page . Recommend Page Ċ import Ġcom . rer ere . iw ara 4 a . ui . screen . index . page . Sub Page Ċ import Ġcom . rer ere . iw ara 4 a . ui . states . remember Primary Clipboard State Ċ import Ġcom . rer ere . iw ara 4 a . util . Data State Ċ import Ġcom . rer ere . iw ara 4 a . util . find Activity Ċ import Ġcom . rer ere . iw ara 4 a . util . getVersion Name Ċ import Ġcom . rer ere . iw ara 4 a . util . open Url Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjava . util .* Ċ import Ġkotlin . time . Duration . Companion . days Ċ Ċ @ Composable Ċ fun ĠIndex Screen ( nav Controller : ĠNav Controller , Ġindex ViewModel : ĠIndex ViewModel Ġ= Ġh ilt ViewModel ()) Ġ{ ĊĠĠĠ Ġval Ġcoroutine Scope Ġ= Ġremember Coroutine Scope () ĊĠĠĠ Ġval Ġpager State Ġ= Ġremember Pager State () ĊĠĠĠ Ġval Ġdrawer State Ġ= Ġremember Drawer State ( initial Value Ġ= ĠDraw er Value . Closed ) ĊĠĠĠ Ġ// val Ġscreen Type Ġ= Ġremember Window Size Class () ĊĠĠĠ Ġval Ġscreen Type Ġ= Ġcalculate Window Size Class ( Local Context . current . find Activity ()) ĊĠĠĠ ĠBroadcast Message Dialog ( index ViewModel ) ĊĠĠĠ ĠModal Navigation Drawer ( ĊĠĠĠĠĠĠĠ Ġdrawer State Ġ= Ġdrawer State , ĊĠĠĠĠĠĠĠ Ġdrawer Content Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIndex Drawer ( nav Controller , Ġindex ViewModel , Ġdrawer State ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠScaffold ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtop Bar Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTop Bar ( drawer State , Ġindex ViewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġinner Padding Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġremember Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmov able Content Of Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupdate Ġby Ġindex ViewModel . update Checker . collect As State () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdismiss Update Ġby Ġremember Save able Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable State Of ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠLocal Context . current ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Version Ġ= ĠLocal Context . current . getVersion Name () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimated Visibility ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisible Ġ= Ġupdate Ġis ĠData State . Success ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġupdate . read S af ely ()?. name Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġupdate . read S af ely ()?. name Ġ!= Ġcurrent Version ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ! dismiss Update ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBanner ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( 1 6 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Outlined . Update , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ"${ string Resource ( id Ġ= ĠR . string . screen _ index _ update _ title )} : Ġ${ update . read S af ely ()?. name }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġupdate . read S af ely ()?. body Ġ?: Ġ"", Ġmax Lines Ġ= Ġ 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuttons Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( onClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Update Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( id Ġ= ĠR . string . screen _ index _ button _ update _ neg lect )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( onClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . open Url (" https :// github . com / re - ovo / iw ara 4 a / releases / latest ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( string Resource ( id Ġ= ĠR . string . screen _ index _ button _ update _ github )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClip board Banner () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHorizontal Pager ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġpager State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Ġ= Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Scroll Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġpage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( page ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSub Page ( index ViewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRecommend Page ( index ViewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRank Page ( index ViewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExplo re Page ( index ViewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( screen Type . width Size Class Ġ!= ĠWindow Width Size Class . Compact ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation Bars Padding () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( inner Padding ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSide R ail ( pager State . currentPage ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ Ġpager State . scrollTo Page ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( inner Padding ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( modifier Ġ= ĠModifier . weight ( 1 f )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBottom Bar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠcurrentPage Ġ= Ġpager State . currentPage , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Page Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpager State . scrollTo Page ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠBroadcast Message Dialog ( index ViewModel : ĠIndex ViewModel ) Ġ{ ĊĠĠĠ Ġvar Ġdismiss Dialog Ġby Ġremember Save able Ġ{ ĊĠĠĠĠĠĠĠ Ġmutable State Of ( false ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif (! dismiss Dialog Ġ&& Ġindex ViewModel . broadcast Message . value . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ ĠAlertDialog ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Dismiss Request Ġ= Ġ{ Ġdismiss Dialog Ġ= Ġtrue Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm Button Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( onClick Ġ= Ġ{ Ġdismiss Dialog Ġ= Ġtrue Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( string Resource ( R . string . confirm _ button )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" åħ¬ åĳĬ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Outlined . Broadcast On Personal , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex ViewModel . broadcast Message . value . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠClip board Banner () Ġ{ ĊĠĠĠ Ġval Ġnav Controller Ġ= ĠLocal Nav Controller . current ĊĠĠĠ Ġvar Ġclip Board Ġby Ġremember Primary Clipboard State () ĊĠĠĠ Ġvar Ġshow Dialog Ġby Ġremember Ġ{ ĊĠĠĠĠĠĠĠ Ġmutable State Of ( false ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġlink Ġby Ġremember Ġ{ ĊĠĠĠĠĠĠĠ Ġmutable State Of ("") ĊĠĠĠ Ġ} ĊĠĠĠ ĠLa unched Effect ( clip Board ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclip Board ?. getItem At ( 0 )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . text ?. matches ( Regex (" https :// ec chi . iw ara . tv / videos /. + ")) Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġit . text . toString (). substring After ("/ videos /") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dialog Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dialog Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġkotlin . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dialog Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ ĠAnimated Visibility ( show Dialog ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBanner ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( 1 6 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" æ£Ģæµĭ åĪ° åī ª è´ ´ æĿ¿ åŃĺåľ¨ è§Ĩé¢ĳ éĵ¾æİ¥ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" https :// ec chi . iw ara . tv / videos /$ link ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Outlined . Link , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuttons Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclip Board Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" ç§»éĻ¤ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate (" video /$ link ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" æīĵå¼Ģ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠTop Bar ( ĊĠĠĠ Ġdrawer State : ĠDraw er State , ĊĠĠĠ Ġindex ViewModel : ĠIndex ViewModel Ċ ) Ġ{ ĊĠĠĠ Ġval Ġcoroutine Scope Ġ= Ġremember Coroutine Scope () ĊĠĠĠ Ġval Ġnav Controller Ġ= ĠLocal Nav Controller . current ĊĠĠĠ Ġval Ġcontext Ġ= ĠLocal Context . current ĊĠĠĠ Ġvar Ġdon ation Dialog Ġby Ġremember Ġ{ ĊĠĠĠĠĠĠĠ Ġmutable State Of ( false ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( don ation Dialog ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAlertDialog ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Dismiss Request Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdon ation Dialog Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm Button Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . open Url (" https :// af dian . net /@ re _ ovo ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" æĪĳ æĥ³ æį Ĳ åĬ© ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Button Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( onClick Ġ= Ġ{ Ġdon ation Dialog Ġ= Ġfalse Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" ä¸į äºĨ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" èĢĥèĻĳ èµ ŀ åĬ© ä¸Ģä¸ĭ ä½ľèĢħ åĲĹ ?") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" ä½łçļĦ èµ ŀ åĬ© åı¯ä»¥ ç»Ļ æĪĳ æĽ´å¤ļ åĬ¨ åĬĽ æĿ¥ æĽ´æĸ° æĽ´å¤ļ åĬŁèĥ½ , Ġæ Ħ Ł è°¢ ä½ł å¯¹ app çļĦ æĶ¯æĮģ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Outlined . Payment , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġself Ġ= ĠLocal Self Data . current ĊĠĠĠ ĠLa unched Effect ( Unit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġsetting Ġ= Ġcontext . shared Preferences Of (" don ation ") ĊĠĠĠĠĠĠĠ Ġif Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . currentTimeMillis () Ġ- Ġsetting . getLong ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" last Popup ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 L ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ>= Ġ 1 . days . in Whole Milliseconds ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ( self . num Id Ġ<= Ġ 1 9 0 _ 0 0 0 0 Ġ|| Ġ! self . profile Pic . contains (" default - avatar . png ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠLocale . getDefault (). language Ġ== ĠLocale . SIMP LI FIED _ CH INE SE . language ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdon ation Dialog Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetting . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Long (" last Popup ", ĠSystem . currentTimeMillis ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ ĠMd 3 Top Bar ( ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġif Ġ( index ViewModel . loading Self ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring Resource ( R . string . app _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex ViewModel . self . nickname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġnavigation Icon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( onClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer State . open () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAsync Image ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 3 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( Circle Shape ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Ġ= Ġindex ViewModel . self . profile Pic , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġactions Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate (" message ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBad ged Box ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroidx . compose . animation . Animated Visibility ( visible Ġ= Ġindex ViewModel . self . messages Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBadge Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġindex ViewModel . self . messages . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Outlined . Message , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( onClick Ġ= Ġ{ Ġnav Controller . navigate (" search ") Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Outlined . Search , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate (" test ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( Icons . Outlined . Work , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠSide R ail ( currentPage : ĠInt , Ġscroll To Page : Ġ( Int ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠNavigation R ail Ġ{ ĊĠĠĠĠĠĠĠ ĠNavigation R ail Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= ĠcurrentPage Ġ== Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Page ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Outlined . Subscriptions , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( R . string . screen _ index _ bottom _ sub )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalways Show Label Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠNavigation R ail Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= ĠcurrentPage Ġ== Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Page ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Outlined . Recommend , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( R . string . screen _ index _ bottom _ recommend )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalways Show Label Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠNavigation R ail Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= ĠcurrentPage Ġ== Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Page ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Outlined . Sort , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( R . string . screen _ index _ bottom _ sort )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalways Show Label Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠNavigation R ail Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= ĠcurrentPage Ġ== Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Page ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Outlined . Explore , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( R . string . screen _ index _ bottom _ explore )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalways Show Label Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠBottom Bar ( currentPage : ĠInt , Ġscroll To Page : Ġ( Int ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠMd 3 Bottom Navigation Ġ{ ĊĠĠĠĠĠĠĠ ĠNavigation Bar Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= ĠcurrentPage Ġ== Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Page ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Outlined . Subscriptions , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( R . string . screen _ index _ bottom _ sub )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalways Show Label Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠNavigation Bar Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= ĠcurrentPage Ġ== Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Page ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Outlined . Recommend , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( R . string . screen _ index _ bottom _ recommend )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalways Show Label Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠNavigation Bar Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= ĠcurrentPage Ġ== Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Page ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Outlined . Sort , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( R . string . screen _ index _ bottom _ sort )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalways Show Label Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠNavigation Bar Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= ĠcurrentPage Ġ== Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Page ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Outlined . Explore , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( R . string . screen _ index _ bottom _ explore )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalways Show Label Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }