package Ġcom . atan ana . currency compose . ui . table Ċ Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout . Padding Values Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . Spacer Ċ import Ġandroidx . compose . foundation . layout . size Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . items Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . text . font . Font Weight Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġcom . atan ana . currency compose . data . Currency Ċ import Ġcom . atan ana . currency compose . ui . theme . Currency Compose Theme Ċ import Ġcom . atan ana . currency compose . ui . theme . HALF _ P ADDING Ċ import Ġcom . atan ana . currency compose . ui . theme . P ADDING Ċ Ċ @ Composable Ċ fun ĠCurrency Table ( ĊĠĠĠ Ġstate : ĠCurrency Table State , ĊĠĠĠ Ġon C urrencies List Changed : Ġ( List < Currency >) Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġdialog State Ġby Ġremember Ġ{ Ġmutable State Of ( false ) Ġ} ĊĊĠĠĠ ĠLazy Column ( content Padding Ġ= ĠPadding Values ( P ADDING ), Ġmodifier Ġ= Ġmodifier . click able Ġ{ Ġdialog State Ġ= Ġtrue Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ= Ġstate . rows , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġ{ Ġit . currency . value Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Content Ġ= Ġ{ ĠCurrency Table Item ( row Ġ= Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( dialog State ) Ġ{ ĊĠĠĠĠĠĠĠ ĠC urrencies List Selector Dialog ( state . selector Items , Ġon C urrencies List Changed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog State Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠCurrency Table Item ( row : ĠCurrency Row ) Ġ{ ĊĠĠĠ ĠRow Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ"% . 3 f ". format ( row . amount ), ĠfontWeight Ġ= ĠFontWeight . Bold ) ĊĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= ĠModifier . size ( HALF _ P ADDING )) ĊĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġrow . currency . value ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Preview ( show Background Ġ= Ġtrue ) Ċ @ Composable Ċ fun ĠCurrency Table Preview () Ġ{ ĊĠĠĠ ĠCurrency Compose Theme Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġc urrencies Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCurrency Row ( Currency (" USD "), Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCurrency Row ( Currency (" R UB "), Ġ 3 0 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCurrency Row ( Currency (" BY N "), Ġ 5 . 0 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġstate Ġ= ĠCurrency Table State ( currencies , Ġempty List ()) ĊĠĠĠĠĠĠĠ ĠCurrency Table ( state , Ġ{}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Immutable Ċ data Ġclass ĠCurrency Row ( val Ġcurrency : ĠCurrency , Ġval Ġamount : ĠDouble ) Ċ Ċ @ Immutable Ċ data Ġclass ĠCurrency Table State ( val Ġrows : ĠList < Currency Row >, Ġval Ġselector Items : ĠList < Currency Selector Item >)