Files
ag-beats/public/hooks/useSession.ts
2025-12-20 16:32:05 +02:00

25 lines
610 B
TypeScript

import { useState, useEffect } from 'react';
function generateSessionId() {
return Math.random().toString(36).substring(2, 15);
}
export function useSession() {
const [sessionId, setSessionId] = useState<string | null>(null);
useEffect(() => {
const url = new URL(window.location.href);
let id = url.searchParams.get('sessionId');
if (!id) {
id = generateSessionId();
url.searchParams.set('sessionId', id);
window.history.replaceState({}, '', url.toString());
}
setSessionId(id);
}, []);
return sessionId;
}