package Ġcom . ur am no il . awesome _ minecraft _ console . ender vision . compose . pages Ċ Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . material . Button Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . TextField Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ Ċ @ Composable Ċ fun ĠConnection s Page () Ġ{ ĊĠĠĠ Ġval Ġservers Ġ= Ġremember Ġ{ Ġmutable State ListOf < Server >() Ġ} ĊĊĠĠĠ ĠBox ( Modifier . fill MaxSize ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( servers . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEmpty Connections Ġ{ Ġservers . add ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservers . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠServer Management Page ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠServer ( val Ġhost : ĠString , Ġval Ġport : ĠU Short ) Ċ Ċ @ Composable Ċ fun ĠEmpty Connections ( on Did Connect : Ġ( Server ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġvar Ġhost Ġby Ġremember Ġ{ Ġmutable State Of (" 1 2 7 . 0 . 0 . 1 ") Ġ} ĊĠĠĠ Ġvar Ġport Ġby Ġremember Ġ{ Ġmutable State Of (" 5 0 0 5 1 ") Ġ} ĊĊĠĠĠ ĠBox ( Modifier . fill MaxSize ()) Ġ{ ĊĠĠĠĠĠĠĠ ĠColumn ( modifier Ġ= ĠModifier . align ( Alignment . Center )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTextField ( host , Ġon Value Change Ġ= Ġ{ Ġhost Ġ= Ġit Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTextField ( port , Ġon Value Change Ġ= Ġ{ Ġvalue Ġ-> Ġport Ġ= Ġvalue . filter Ġ{ Ġit . is Digit () Ġ} Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠText (" There Ġare Ġno Ġservers . ĠPlease Ġinput Ġthe Ġserver 's Ġhost Ġand Ġport Ġthat Ġyou Ġwant Ġto Ġconnect .") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( onClick Ġ= Ġ{ Ġon Did Connect ( Server ( host , Ġport . to U Short OrNull () Ġ?: Ġ 5 0 0 5 1 . to U Short ())) Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" Connect ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }