Fix new post button on web after following intent URL (#3044)
* Fix new post button on web after following intent URL * Ensure that `routes` exists before attempting to use itzio/stable
parent
8bf40b46a0
commit
e950463f71
|
@ -485,12 +485,19 @@ const LINKING = {
|
||||||
},
|
},
|
||||||
|
|
||||||
getStateFromPath(path: string) {
|
getStateFromPath(path: string) {
|
||||||
|
const [name, params] = router.matchPath(path)
|
||||||
|
|
||||||
// Any time we receive a url that starts with `intent/` we want to ignore it here. It will be handled in the
|
// Any time we receive a url that starts with `intent/` we want to ignore it here. It will be handled in the
|
||||||
// intent handler hook. We should check for the trailing slash, because if there isn't one then it isn't a valid
|
// intent handler hook. We should check for the trailing slash, because if there isn't one then it isn't a valid
|
||||||
// intent
|
// intent
|
||||||
if (path.includes('intent/')) return
|
// On web, there is no route state that's created by default, so we should initialize it as the home route. On
|
||||||
|
// native, since the home tab and the home screen are defined as initial routes, we don't need to return a state
|
||||||
|
// since it will be created by react-navigation.
|
||||||
|
if (path.includes('intent/')) {
|
||||||
|
if (isNative) return
|
||||||
|
return buildStateObject('Flat', 'Home', params)
|
||||||
|
}
|
||||||
|
|
||||||
const [name, params] = router.matchPath(path)
|
|
||||||
if (isNative) {
|
if (isNative) {
|
||||||
if (name === 'Search') {
|
if (name === 'Search') {
|
||||||
return buildStateObject('SearchTab', 'Search', params)
|
return buildStateObject('SearchTab', 'Search', params)
|
||||||
|
|
|
@ -200,10 +200,10 @@ function ComposeBtn() {
|
||||||
const fetchHandle = useFetchHandle()
|
const fetchHandle = useFetchHandle()
|
||||||
|
|
||||||
const getProfileHandle = async () => {
|
const getProfileHandle = async () => {
|
||||||
const {routes} = getState()
|
const routes = getState()?.routes
|
||||||
const currentRoute = routes[routes.length - 1]
|
const currentRoute = routes?.[routes?.length - 1]
|
||||||
|
|
||||||
if (currentRoute.name === 'Profile') {
|
if (currentRoute?.name === 'Profile') {
|
||||||
let handle: string | undefined = (
|
let handle: string | undefined = (
|
||||||
currentRoute.params as CommonNavigatorParams['Profile']
|
currentRoute.params as CommonNavigatorParams['Profile']
|
||||||
).name
|
).name
|
||||||
|
|
Loading…
Reference in New Issue