/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format */ 'use strict'; import RNTesterBlock from '../../components/RNTesterBlock'; import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import { Button, Linking, Platform, StyleSheet, ToastAndroid, TouchableOpacity, View, } from 'react-native'; type Props = $ReadOnly<{| url?: ?string, |}>; class OpenURLButton extends React.Component { handleClick = () => { Linking.canOpenURL(this.props.url).then(supported => { if (supported) { Linking.openURL(this.props.url); } else { console.log( `Don't know how to open URI: ${ this.props.url }, ensure you have an app installed that handles the "${ this.props.url.split(':')?.[0] }" scheme`, ); } }); }; render() { return ( Open {this.props.url} ); } } class OpenSettingsExample extends React.Component { openSettings() { Linking.openSettings(); } render() { return