/**
 * 会话状态管理
 *
 * 这是一个轻量级的 store，只存储当前用户的身份信息（userId）。
 * 它的目的是打破 authStore 和 callStore 之间的循环依赖：
 *
 *   sessionStore (存储 userId)
 *        ↑              ↑
 *   authStore        callStore
 *
 * authStore 在登录成功后设置 userId，callStore 从 sessionStore 读取 userId。
 */

import { create } from 'zustand';

interface SessionState {
  userId: string | null;
  setUserId: (userId: string | null) => void;
}

export const useSessionStore = create<SessionState>((set) => ({
  userId: null,
  setUserId: (userId) => set({ userId }),
}));

// 导出便捷函数，用于非 React 组件中直接获取 userId
export const getCurrentUserId = () => useSessionStore.getState().userId;