"use client"; import { useSyncExternalStore } from "react"; import { getActiveTopicId, getDisplayTopicId, getSession, getSnapshotVersion, hasVisibleRefineSession, subscribe, } from "./store"; export function useRefineSessionStore() { useSyncExternalStore(subscribe, getSnapshotVersion, () => 0); return { activeTopicId: getActiveTopicId(), displayTopicId: getDisplayTopicId(), hasVisibleSession: hasVisibleRefineSession(), }; } export function useRefineSession(topicId: string | null) { useSyncExternalStore(subscribe, getSnapshotVersion, () => 0); return topicId ? getSession(topicId) : null; }