import { Button } from "@mui/material"; import { request } from "@/services/response"; import Cookies from "js-cookie"; function SendReq({ loading, setLoading, code, setIsSendMsg, setStep, setIsError, uuid, }) { const handleReq = async () => { setLoading(true); request .getToken( "mobile", process.env.NEXT_PUBLIC_CLIENT_ID, process.env.NEXT_PUBLIC_CLIENT_SECRET, uuid, code.join("") ) .then((response) => { if (response.access_token) { handleSetCookie(response); } }) .catch(() => {}); }; const handleSetCookie = (response) => { const accessTokenExpires = new Date(); accessTokenExpires.setSeconds( accessTokenExpires.getSeconds() + response.expires_in ); const refreshTokenExpires = new Date(); refreshTokenExpires.setDate(refreshTokenExpires.getDate() + 30); Cookies.set("access_token", response.access_token, { expires: accessTokenExpires, path: "/", secure: true, sameSite: "strict", }); Cookies.set("refresh_token", response.refresh_token, { expires: refreshTokenExpires, path: "/", secure: true, sameSite: "strict", }); Cookies.set("uuid", uuid, { expires: refreshTokenExpires, path: "/", secure: true, sameSite: "strict", }); getInfo(response.access_token); }; const getInfo = (token) => { request .getUserInfo({ headers: { Authorization: `Bearer ${token}`, }, }) .then((res) => { setLoading(false); if (res && res.uuid) { window.location.pathname = "/"; Cookies.set("userInfo", JSON.stringify(res), { path: "/", secure: true, sameSite: "strict", }); } }) .catch(() => {}); }; return ( ); } export default SendReq;