import { createContext, useState, useEffect, useContext } from "react"; import moment from "moment"; const userContext=createContext(); const SesstionTime={ A:["12:00", "13:30"], B:["13:30", "15:00"], C:["15:00", "17:30"], D:["17:30", "19:00"], E:["19:00", "20:30"], F:["20:30", "22:00"] } export function UserProvider({children}) { const [userId, setUserId] = useState(null); const [sessionId, setSessionId] = useState(null); const [password, setPassword] = useState(null); function getFileId(){ if(!userId) return `test-${moment().format("YYYYMMDDmmss")}-${sessionId}`; return `${moment().format("YYYYMMDD").substring(2)}-${sessionId}-${userId}`; } function reset(){ setUserId(null); setSessionId(null); setPassword(null); } useEffect(() => { let symbol=''; for(const [key, value] of Object.entries(SesstionTime)){ const start=moment(value[0], "HH:mm"); const end=moment(value[1], "HH:mm"); if(moment().isBetween(start, end)){ symbol=key; break; } } setSessionId(symbol); }, [userId]); return ( {children} ); } export function useUser() { const context = useContext(userContext); if (!context) { throw new Error("useUser must be used within a UserProvider"); } return context; } export { userContext };