package Ġcom . le vi aran . own pet app . ui . screen component . view Ċ Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . navigation . Nav Type Ċ import Ġandroidx . navigation . compose . Nav Host Ċ import Ġandroidx . navigation . compose . comp osable Ċ import Ġandroidx . navigation . compose . nav Argument Ċ import Ġandroidx . navigation . compose . remember Nav Controller Ċ import Ġcom . le vi aran . own pet app . R Ċ import Ġcom . le vi aran . own pet app . data . dto . P ets Response Item Ċ Ċ @ Composable Ċ fun ĠMain ( list Pet : ĠList < P ets Response Item >, Ġtheme : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġnav Controller Ġ= Ġremember Nav Controller () ĊĠĠĠ ĠNav Host ( nav Controller Ġ= Ġnav Controller , Ġstart Destination Ġ= ĠScreen . Home . route ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcomp osable ( Screen . Home . route ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHome ( nav Controller Ġ= Ġnav Controller , Ġlist Dog Ġ= Ġlist Pet , Ġtheme Ġ= Ġ{ Ġtheme () Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ Screen . Details . route } |{ url } |{ temp } |{ bre ed for } |{ name } |{ origin } |{ lif es pan } |{ bre ed group }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Argument (" url "){ type Ġ= ĠNav Type . StringType Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Argument (" temp "){ type Ġ= ĠNav Type . StringType Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Argument (" bre ed for "){ type Ġ= ĠNav Type . StringType Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Argument (" name "){ type Ġ= ĠNav Type . StringType Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Argument (" origin "){ type Ġ= ĠNav Type . StringType Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Argument (" lif es pan "){ type Ġ= ĠNav Type . StringType Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Argument (" bre ed group "){ type Ġ= ĠNav Type . StringType Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDetails ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller Ġ= Ġnav Controller , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġit . arguments ?. getString (" url ") ? :" ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Ġ= Ġit . arguments ?. getString (" temp ") ? :" ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb reed For Ġ= Ġit . arguments ?. getString (" bre ed for ") ? :" ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġit . arguments ?. getString (" name ") ? :" ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorigin Ġ= Ġit . arguments ?. getString (" origin ") ? :" ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlife Span Ġ= Ġit . arguments ?. getString (" lif es pan ") ? :" ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb reed Group Ġ= Ġit . arguments ?. getString (" bre ed group ") ?: "" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ Ċ sealed Ġclass ĠScreen ( val Ġroute : ĠString , Ġ@ String Res Ġval Ġresource Id : ĠInt ) Ġ{ ĊĠĠĠ Ġobject ĠHome Ġ: ĠScreen (" home ", ĠR . string . text _ home ) ĊĠĠĠ Ġobject ĠDetails Ġ: ĠScreen (" details ", ĠR . string . text _ details ) Ċ }