@@ -15,6 +15,8 @@ import { tryParseUrl } from '../utils/url';
15
15
import * as api from '../api' ;
16
16
import { ThemeContext } from '../styles/theme' ;
17
17
import { createStyleSheet , HALF_COLOR } from '../styles' ;
18
+ import { showErrorAlert } from '../utils/info' ;
19
+ import { TranslationContext } from '../boot/TranslationProvider' ;
18
20
19
21
type Props = $ReadOnly < { |
20
22
navigation : AppNavigationProp < 'realm-input' > ,
@@ -32,12 +34,13 @@ const urlFromInputValue = (realmInputValue: string): URL | void => {
32
34
export default function RealmInputScreen ( props : Props ) : Node {
33
35
const { navigation, route } = props ;
34
36
37
+ const _ = React . useContext ( TranslationContext ) ;
35
38
const themeContext = React . useContext ( ThemeContext ) ;
36
39
37
40
const [ progress , setProgress ] = React . useState ( false ) ;
38
41
const [ realmInputValue , setRealmInputValue ] = React . useState ( '' ) ;
39
42
const parsedRealm = urlFromInputValue ( realmInputValue ) ;
40
- const [ error , setError ] = React . useState ( null ) ;
43
+ const [ validationErrorMsg , setError ] = React . useState ( null ) ;
41
44
42
45
const textInputRef = React . useRef < React$ElementRef < typeof TextInput > | null > ( null ) ;
43
46
@@ -77,15 +80,15 @@ export default function RealmInputScreen(props: Props): Node {
77
80
Keyboard . dismiss ( ) ;
78
81
} catch ( errorIllTyped ) {
79
82
const err : mixed = errorIllTyped ; // https://github.com/facebook/flow/issues/2470
80
- setError ( 'Cannot connect to server.' ) ;
83
+ showErrorAlert ( _ ( 'Cannot connect to server.' ) ) ;
81
84
/* eslint-disable no-console */
82
85
console . warn ( 'RealmInputScreen: failed to connect to server:' , err ) ;
83
86
// $FlowFixMe[incompatible-cast]: assuming caught exception was Error
84
87
console . warn ( ( err : Error ) . stack ) ;
85
88
} finally {
86
89
setProgress ( false ) ;
87
90
}
88
- } , [ navigation , parsedRealm ] ) ;
91
+ } , [ navigation , parsedRealm , _ ] ) ;
89
92
90
93
const styles = React . useMemo (
91
94
( ) =>
@@ -138,8 +141,8 @@ export default function RealmInputScreen(props: Props): Node {
138
141
ref = { textInputRef }
139
142
/>
140
143
</ View >
141
- { error !== null ? (
142
- < ErrorMsg error = { error } />
144
+ { validationErrorMsg !== null ? (
145
+ < ErrorMsg error = { validationErrorMsg } />
143
146
) : (
144
147
< ZulipTextIntl text = "e.g. zulip.example.com" style = { styles . hintText } />
145
148
) }
0 commit comments