@@ -46,8 +46,7 @@ export default ({ onBack, onConfirm, title = 'Add a Server', initialData, parseQ
46
46
const parsedInitialIp = parseServerAddress ( initialData ?. ip )
47
47
48
48
const [ serverName , setServerName ] = React . useState ( initialData ?. name ?? qsParamName ?? '' )
49
- const [ serverIp , setServerIp ] = React . useState ( parsedQsIp . host || parsedInitialIp . host || '' )
50
- const [ serverPort , setServerPort ] = React . useState ( parsedQsIp . port || parsedInitialIp . port || '' )
49
+ const [ serverIp , setServerIp ] = React . useState ( parsedQsIp . serverIpFull || parsedInitialIp . serverIpFull || '' )
51
50
const [ versionOverride , setVersionOverride ] = React . useState ( initialData ?. versionOverride ?? /* legacy */ initialData ?. [ 'version' ] ?? qsParamVersion ?? '' )
52
51
const [ proxyOverride , setProxyOverride ] = React . useState ( initialData ?. proxyOverride ?? qsParamProxy ?? '' )
53
52
const [ usernameOverride , setUsernameOverride ] = React . useState ( initialData ?. usernameOverride ?? qsParamUsername ?? '' )
@@ -61,7 +60,7 @@ export default ({ onBack, onConfirm, title = 'Add a Server', initialData, parseQ
61
60
const noAccountSelected = accountIndex === - 1
62
61
const authenticatedAccountOverride = noAccountSelected ? undefined : freshAccount ? true : accounts ?. [ accountIndex ]
63
62
64
- let ipFinal = serverIp . includes ( ':' ) ? serverIp : ` ${ serverIp } ${ serverPort ? `: ${ serverPort } ` : '' } `
63
+ let ipFinal = serverIp
65
64
ipFinal = ipFinal . replace ( / : $ / , '' )
66
65
const commonUseOptions : BaseServerInfo = {
67
66
name : serverName ,
@@ -126,6 +125,9 @@ export default ({ onBack, onConfirm, title = 'Add a Server', initialData, parseQ
126
125
} , [ ] )
127
126
128
127
const displayConnectButton = qsParamIp
128
+ const serverExamples = [ 'example.com:25565' , 'play.hypixel.net' , 'ws://play.pcm.gg' ]
129
+ // pick random example
130
+ const example = serverExamples [ Math . floor ( Math . random ( ) * serverExamples . length ) ]
129
131
130
132
return < Screen title = { qsParamIp ? 'Connect to Server' : title } backdrop >
131
133
< form
@@ -149,11 +151,6 @@ export default ({ onBack, onConfirm, title = 'Add a Server', initialData, parseQ
149
151
} )
150
152
} }
151
153
>
152
- { ! lockConnect && < >
153
- < div style = { { gridColumn : smallWidth ? '' : 'span 2' , display : 'flex' , justifyContent : 'center' } } >
154
- < InputWithLabel label = "Server Name" value = { serverName } onChange = { ( { target : { value } } ) => setServerName ( value ) } placeholder = 'Defaults to IP' />
155
- </ div >
156
- </ > }
157
154
< InputWithLabel
158
155
required
159
156
label = "Server IP"
@@ -165,8 +162,13 @@ export default ({ onBack, onConfirm, title = 'Add a Server', initialData, parseQ
165
162
setServerOnline ( false )
166
163
} }
167
164
validateInput = { serverOnline === null || fetchedServerInfoIp !== serverIp ? undefined : validateServerIp }
165
+ placeholder = { example }
168
166
/>
169
- < InputWithLabel label = "Server Port" value = { serverPort } disabled = { lockConnect && parsedQsIp . port !== null } onChange = { ( { target : { value } } ) => setServerPort ( value ) } placeholder = { serverIp . startsWith ( 'ws://' ) || serverIp . startsWith ( 'wss://' ) ? '' : '25565' } />
167
+ { ! lockConnect && < >
168
+ < div style = { { display : 'flex' , justifyContent : 'center' } } >
169
+ < InputWithLabel label = "Server Name" value = { serverName } onChange = { ( { target : { value } } ) => setServerName ( value ) } placeholder = 'Defaults to IP' />
170
+ </ div >
171
+ </ > }
170
172
{ isSmallHeight ? < div style = { { gridColumn : 'span 2' , marginTop : 10 , } } /> : < div style = { { gridColumn : smallWidth ? '' : 'span 2' } } > Overrides:</ div > }
171
173
< div style = { {
172
174
display : 'flex' ,
0 commit comments