Merged in feat/sw-3601-hookfix (pull request #3113)
Feat(SW-3601): useIsUserLoggedIn needs to check webview token * fix(SW-3601): useIsUserLoggedIn needs to check webview token * Check if we have webview token as well * . Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -4,6 +4,7 @@ import { isValidSession } from "@scandic-hotels/trpc/utils/session"
|
|||||||
|
|
||||||
export function useIsUserLoggedIn() {
|
export function useIsUserLoggedIn() {
|
||||||
const { data: session } = useSession()
|
const { data: session } = useSession()
|
||||||
const isUserLoggedIn = isValidSession(session)
|
const hasWebviewToken = document?.cookie?.includes("webviewToken=")
|
||||||
return isUserLoggedIn
|
|
||||||
|
return isValidSession(session) || hasWebviewToken
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,9 @@ export const useTrackHardNavigationBasic = ({
|
|||||||
const sessionId = useSessionId()
|
const sessionId = useSessionId()
|
||||||
const { data: session } = useSession()
|
const { data: session } = useSession()
|
||||||
const validSession = isValidSession(session)
|
const validSession = isValidSession(session)
|
||||||
|
const hasWebviewToken = global?.document?.cookie?.includes("webviewToken=")
|
||||||
|
|
||||||
|
const isUserLoggedIn = validSession || !!hasWebviewToken
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (hasTrackedHardNavigationBasic) return
|
if (hasTrackedHardNavigationBasic) return
|
||||||
@@ -31,23 +34,23 @@ export const useTrackHardNavigationBasic = ({
|
|||||||
pathName,
|
pathName,
|
||||||
sessionId,
|
sessionId,
|
||||||
pageData,
|
pageData,
|
||||||
validSession,
|
isUserLoggedIn,
|
||||||
})
|
})
|
||||||
|
|
||||||
hasTrackedHardNavigationBasic = true
|
hasTrackedHardNavigationBasic = true
|
||||||
}, [pathName, pageData, sessionId, validSession])
|
}, [pathName, pageData, sessionId, isUserLoggedIn])
|
||||||
}
|
}
|
||||||
|
|
||||||
const trackBasicPageView = async ({
|
const trackBasicPageView = async ({
|
||||||
pathName,
|
pathName,
|
||||||
sessionId,
|
sessionId,
|
||||||
pageData,
|
pageData,
|
||||||
validSession,
|
isUserLoggedIn,
|
||||||
}: {
|
}: {
|
||||||
pathName: string
|
pathName: string
|
||||||
sessionId: string | null
|
sessionId: string | null
|
||||||
pageData: TrackingSDKProps["pageData"]
|
pageData: TrackingSDKProps["pageData"]
|
||||||
validSession: boolean
|
isUserLoggedIn: boolean
|
||||||
}) => {
|
}) => {
|
||||||
const trackingData = { ...pageData, pathName, sessionId }
|
const trackingData = { ...pageData, pathName, sessionId }
|
||||||
const pageObject = createSDKPageObject(trackingData)
|
const pageObject = createSDKPageObject(trackingData)
|
||||||
@@ -56,7 +59,7 @@ const trackBasicPageView = async ({
|
|||||||
event: "pageViewBasic",
|
event: "pageViewBasic",
|
||||||
pageInfo: pageObject,
|
pageInfo: pageObject,
|
||||||
userInfo: {
|
userInfo: {
|
||||||
loginStatus: validSession ? "logged in" : "Non-logged in",
|
loginStatus: isUserLoggedIn ? "logged in" : "Non-logged in",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user