diff options
Diffstat (limited to 'src/platform')
-rw-r--r-- | src/platform/urls.tsx | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/platform/urls.tsx b/src/platform/urls.tsx index 958b5232d..048c92f2e 100644 --- a/src/platform/urls.tsx +++ b/src/platform/urls.tsx @@ -1,4 +1,5 @@ -import {isIOS, isAndroid} from './detection' +import {Linking} from 'react-native' +import {isIOS, isAndroid, isNative, isWeb} from './detection' export function makeAppUrl(path = '') { if (isIOS) { @@ -10,3 +11,27 @@ export function makeAppUrl(path = '') { return `${window.location.origin}${path}` } } + +export function extractHashFragment(url: string): string { + return url.split('#')[1] || '' +} + +export async function getInitialURL(): Promise<string> { + if (isNative) { + const url = await Linking.getInitialURL() + if (url) { + return url + } + return makeAppUrl() + } else { + // @ts-ignore window exists -prf + return window.location.toString() + } +} + +export function clearHash() { + if (isWeb) { + // @ts-ignore window exists -prf + window.location.hash = '' + } +} |