package Ġcom . tri an . module . ui . pages Ċ Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . material . Sca ffold Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . li ved ata . observe As State Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . text . TextStyle Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . unit . sp Ċ import Ġandroidx . navigation . Nav Host Controller Ċ import Ġcom . tri an . common . utils . route . Routes Ċ import Ġcom . tri an . domain . entities . Alarm Ċ import Ġcom . tri an . module . Main ViewModel Ċ import Ġcom . tri an . module . ui . components . Bottom Floating Action Ċ import Ġcom . tri an . module . ui . components . Item Alarm Ċ import Ġcom . tri an . module . ui . components . Main AppBar Ċ import Ġcom . tri an . module . ui . theme . BackgroundColor Ċ import Ġcom . tri an . module . ui . theme . TextColor Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ Ċ /** Ċ Ġ* ĠDashboard Ċ Ġ* ĠAuthor ĠTri an ĠD am ai Ċ Ġ* ĠCreated Ġat Ġ 0 3 / 0 9 / 2 0 2 1 Ċ Ġ* Ġ**/ Ċ @ Composable Ċ fun ĠPage Dashboard ( viewModel : Main ViewModel , nav : Nav Host Controller , scope : Coroutine Scope ){ ĊĠĠĠ Ġval Ġal arms Ġby ĠviewModel . getList Al arms (). observe As State () ĊĠĠĠ ĠScaffold ( ĊĠĠĠĠĠĠĠ Ġtop Bar Ġ= Ġ{ Main AppBar ()}, ĊĠĠĠĠĠĠĠ Ġbottom Bar Ġ= { ĠBottom Floating Action ( on New Alarm Ġ= Ġ{ Ġnav . navigate ( Routes . COMP OSE . name ) Ġ}) }, ĊĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠBackground Color Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġal arms ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComponent Dashboard ( Ġal arms Ġ= Ġit ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" Empty ĠState ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠComponent Dashboard ( al arms : List < Alarm >, modifier : ĠModifier = Modifier ){ ĊĠĠĠĠĠ ĠColumn ( Ġmodifier = modifier . padding ( start Ġ= Ġ 1 6 . dp , end Ġ= Ġ 1 6 . dp ), ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText (" Up coming ĠAlarm ", style Ġ= ĠTextStyle ( fontSize Ġ= Ġ 1 8 . sp , color Ġ= ĠText Color )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLazy Column ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems ( count Ġ= Ġal arms . size , item Content Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= Ġmodifier . height ( 1 0 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠItem Alarm ( al arms [ index ], index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Alarm Toggle Ġ= Ġ{ alarm , Ġindex Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Alarm Clicked Ġ= Ġ{ alarm , Ġindex Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Preview Ċ @ Composable Ċ fun ĠPreview Component Dashboard (){ ĊĠĠĠ ĠComponent Dashboard ( al arms Ġ= ĠlistOf ()) Ċ }