package Ġcom . pose . comp osing clock s . feature . cities Ċ Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . Spacer Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . layout . height Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . width Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . items Ċ import Ġandroidx . compose . foundation . shape . Rounded Corner Shape Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . collect As State Ċ 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 . res . string Resource Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġco il . compose . Image Painter Ċ import Ġco il . compose . remember Image Painter Ċ import Ġcom . pose . comp osing clock s . R Ċ import Ġcom . pose . comp osing clock s . app . Local Clock Theme Ċ import Ġcom . pose . comp osing clock s . common . cities . mock Data Ċ import Ġcom . pose . comp osing clock s . common . widgets . Clock Ċ import Ġcom . pose . comp osing clock s . common . widgets . No Photo Ċ import Ġcom . pose . comp osing clock s . common . widgets . Screen Title Ċ import Ġcom . pose . comp osing clock s . core . scoped nav . navigation . No Params Ċ import Ġcom . pose . comp osing clock s . core . scoped nav . navigation . Screen Destination Ċ Ċ object ĠC ities Screen Ġ: ĠScreen Destination < No Params >( path Root Ġ= Ġ" cities Screen ") Ċ Ċ @ Composable Ċ fun ĠC ities Screen ( viewModel : ĠC ities ViewModel ) Ġ{ ĊĠĠĠ Ġval Ġcities Ġ= ĠviewModel . cities . collect As State ( emptyList ()) ĊĠĠĠ ĠColumn ( Modifier . padding ( top Ġ= Ġ 1 6 . dp , Ġstart Ġ= Ġ 1 6 . dp , Ġend Ġ= Ġ 1 6 . dp )) Ġ{ ĊĠĠĠĠĠĠĠ ĠScreen Title ( text Ġ= Ġstring Resource ( R . string . cities _ screen _ title )) ĊĊĠĠĠĠĠĠĠ ĠC ities List ( city List Ġ= Ġcities . value , Ġon User Click Ġ= Ġ{ ĠviewModel . on City Clicked ( it ) Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠC ities List ( city List : ĠList < City Ui Model >, Ġon User Click : Ġ( City Ui Model ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġif Ġ( city List . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ ĠLazy Column Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ{ ĠSp acer ( Modifier . height ( 8 . dp )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems ( city List ) Ġ{ Ġcity Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCity Row ( city Ġ= Ġcity , Ġon City Click Ġ= Ġon User Click ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ{ ĠSp acer ( Modifier . height ( 8 . dp )) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠCity Row ( city : ĠCity Ui Model , Ġon City Click : Ġ( City Ui Model ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( vertical Ġ= Ġ 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( Rounded Corner Shape ( 1 6 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 1 4 4 . dp ) ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠCity Image ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġcity . image , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġcity . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . click able ( onClick Ġ= Ġ{ Ġon City Click ( city ) Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġpainter Ġ= Ġremember Image Painter ( city . image ) ĊĠĠĠĠĠĠĠ ĠBox Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġcity . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( onClick Ġ= Ġ{ Ġon City Click ( city ) Ġ}), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Scale Ġ= ĠContent Scale . Crop , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( p ainter . state Ġis ĠImage Painter . State . Error ) Ġ{ ĠNo Photo () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠTitle With Gradient ( text Ġ= Ġcity . name , Ġmodifier Ġ= ĠModifier . align ( Alignment . Bottom Start )) ĊĊĠĠĠĠĠĠĠ ĠClock ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhour Ġ= Ġcity . hours , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġminutes Ġ= Ġcity . minutes , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġring Color Ġ= ĠLocal Clock Theme . current . ring Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhours Hand Color Ġ= ĠLocal Clock Theme . current . hours Hand Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġminutes Hand Color Ġ= ĠLocal Clock Theme . current . minutes Hand Color , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠLocal Clock Theme . current . backgroundColor , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( end Ġ= Ġ 8 . dp , Ġbottom Ġ= Ġ 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 6 4 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 6 4 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. align ( Alignment . Bottom End ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclock Type Ġ= Ġcity . clock Type , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Preview ( show Background Ġ= Ġtrue ) Ċ @ Composable Ċ fun ĠCity Row Preview () Ġ{ ĊĠĠĠ ĠCity Row ( city Ġ= ĠCity Ui Model ( mock Data [ 0 ]), Ġon City Click Ġ= Ġ{}) Ċ } Ċ