codex/frontend-infrastructure-tooling #39
@ -1,6 +1,6 @@
|
|||||||
import { type ReactNode, useCallback, useEffect, useState } from 'react'
|
import { type ReactNode, useCallback, useEffect, useState } from 'react'
|
||||||
import * as sessionApi from '@/entities/session'
|
import * as sessionApi from '@/entities/session'
|
||||||
import { SessionContext, type SessionContextValue } from '@/entities/session'
|
import { SessionContext, type SessionContextValue, useSessionStore } from '@/entities/session'
|
||||||
import {
|
import {
|
||||||
getAccessToken,
|
getAccessToken,
|
||||||
handleUnauthorized,
|
handleUnauthorized,
|
||||||
@ -18,11 +18,13 @@ export function SessionProvider({ children }: { children: ReactNode }) {
|
|||||||
const updateSession = useCallback((authData: { user: UserResponse; accessToken: string }) => {
|
const updateSession = useCallback((authData: { user: UserResponse; accessToken: string }) => {
|
||||||
setUser(authData.user)
|
setUser(authData.user)
|
||||||
setAccessTokenState(authData.accessToken)
|
setAccessTokenState(authData.accessToken)
|
||||||
|
useSessionStore.getState().setSession(authData)
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const clearSession = useCallback(() => {
|
const clearSession = useCallback(() => {
|
||||||
setUser(null)
|
setUser(null)
|
||||||
setAccessTokenState(null)
|
setAccessTokenState(null)
|
||||||
|
useSessionStore.getState().clearSession()
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const login = useCallback(
|
const login = useCallback(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user