Files
web/apps/scandic-web/hooks/useSessionId.ts
Linus Flood 0f9c9c2af8 Merged in feat/tracking-sessionId (pull request #1653)
Feat(tracking): add sessionId to all events. Fixed some invalid session bugs

* Feat(tracking): add sessionId to all events. Fixed some invalid session bugs


Approved-by: Anton Gunnarsson
2025-03-27 10:42:24 +00:00

23 lines
580 B
TypeScript

import { nanoid } from "nanoid"
import { useMemo } from "react"
export const SESSION_ID_KEY_NAME = "web_sessionId"
export function useSessionId(): string | null {
const sessionId = useMemo(() => {
if (typeof window === "undefined") {
// Return null if running on the server
return null
}
let currentSessionId = sessionStorage.getItem(SESSION_ID_KEY_NAME)
if (!currentSessionId) {
currentSessionId = nanoid()
sessionStorage.setItem(SESSION_ID_KEY_NAME, currentSessionId)
}
return currentSessionId
}, [])
return sessionId
}