diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/screens/Messages/List/index.tsx | 13 | ||||
-rw-r--r-- | src/screens/Messages/Temp/useDmServiceUrlStorage.tsx | 9 |
2 files changed, 19 insertions, 3 deletions
diff --git a/src/screens/Messages/List/index.tsx b/src/screens/Messages/List/index.tsx index ce8f52af9..ca757fac0 100644 --- a/src/screens/Messages/List/index.tsx +++ b/src/screens/Messages/List/index.tsx @@ -47,6 +47,7 @@ export function MessagesScreen({navigation}: Props) { // TEMP const {serviceUrl, setServiceUrl} = useDmServiceUrlStorage() + const [serviceUrlValue, setServiceUrlValue] = useState(serviceUrl) const hasValidServiceUrl = useMemo(() => { const hash = sha256(serviceUrl) return ( @@ -136,13 +137,21 @@ export function MessagesScreen({navigation}: Props) { <TextField.LabelText>Service URL</TextField.LabelText> <TextField.Root> <TextField.Input - value={serviceUrl} - onChangeText={text => setServiceUrl(text)} + value={serviceUrlValue} + onChangeText={text => setServiceUrlValue(text)} autoCapitalize="none" keyboardType="url" label="https://" /> </TextField.Root> + <Button + label="Set Service URL" + size="small" + variant="solid" + color="primary" + onPress={() => setServiceUrl(serviceUrlValue)}> + <ButtonText>Set</ButtonText> + </Button> </View> </ScrollView> ) diff --git a/src/screens/Messages/Temp/useDmServiceUrlStorage.tsx b/src/screens/Messages/Temp/useDmServiceUrlStorage.tsx index d78128b5c..0e3f87603 100644 --- a/src/screens/Messages/Temp/useDmServiceUrlStorage.tsx +++ b/src/screens/Messages/Temp/useDmServiceUrlStorage.tsx @@ -35,7 +35,14 @@ export function DmServiceUrlProvider({children}: {children: React.ReactNode}) { React.useEffect(() => { ;(async () => { const v = await getItem() - setServiceUrl(v ?? '') + try { + if (v) { + new URL(v) + setServiceUrl(v) + } + } catch (e) { + console.error('Invalid service URL stored in async storage:', v) + } })() }, [getItem]) |