in src/actions/app-actions.ts [870:891]
export function handleURL(uri: string = ''): ReduxAction {
return async (dispatch: ReduxThunkDispatch, getState: ReduxStateGetter, getApi: ReduxAPIGetter) => {
const backendUrl = getApi().config.backendUrl;
const url = uri.trim();
if (url && backendUrl) {
const issueId = extractIssueId(url) ?? undefined;
const articleId = extractArticleId(url) ?? undefined;
const helpdeskFormId = extractHelpdeskFormId(url) ?? undefined;
const query = extractIssuesQuery(url) ?? undefined;
if (issueId || articleId || helpdeskFormId) {
navigateToScreen(backendUrl, dispatch, url, true, issueId, articleId, undefined, helpdeskFormId);
} else if (query) {
navigateToScreen(backendUrl, dispatch, url, true, undefined, undefined, query);
} else {
const canOpen = await Linking.canOpenURL(url);
if (canOpen) {
Linking.openURL(url);
}
}
}
};
}