@@ -3,7 +3,7 @@ import styleText from 'data-text:@vook-client/design-system/style.css'
3
3
import createCache from '@emotion/cache'
4
4
import { CacheProvider , Global } from '@emotion/react'
5
5
import { QueryClient , QueryClientProvider } from '@tanstack/react-query'
6
- import { useEffect } from 'react'
6
+ import { useEffect , useState } from 'react'
7
7
import { baseFetcher } from '@vook-client/api'
8
8
9
9
import { getStorage , removeStorage , setStorage } from './utils/storage'
@@ -35,6 +35,7 @@ const queryClient = new QueryClient({
35
35
} )
36
36
37
37
function VookContentScript ( ) {
38
+ const [ login , setLogin ] = useState ( false )
38
39
useDomRect ( )
39
40
const { isSelected, isOpenSearchWindow, position } = useToggle ( )
40
41
@@ -49,13 +50,26 @@ function VookContentScript() {
49
50
await removeStorage ( 'vook-access' )
50
51
await removeStorage ( 'vook-refresh' )
51
52
} )
53
+
54
+ baseFetcher . setTokenRefreshHandler ( async ( access , refresh ) => {
55
+ queryClient . setQueryData ( [ 'access' ] , access )
56
+ queryClient . setQueryData ( [ 'refresh' ] , refresh )
57
+ await setStorage ( 'vook-access' , access )
58
+ await setStorage ( 'vook-refresh' , refresh )
59
+ } )
52
60
} , [ ] )
53
61
54
62
useEffect ( ( ) => {
55
63
const setToken = async ( ) => {
56
64
const access = await getStorage < string > ( 'vook-access' )
57
65
const refresh = await getStorage < string > ( 'vook-refresh' )
58
66
67
+ if ( ! access || ! refresh ) {
68
+ setLogin ( false )
69
+ return
70
+ }
71
+
72
+ setLogin ( true )
59
73
queryClient . setQueryData ( [ 'access' ] , access )
60
74
queryClient . setQueryData ( [ 'refresh' ] , refresh )
61
75
}
@@ -91,8 +105,6 @@ function VookContentScript() {
91
105
await setStorage ( 'vook-access' , event . data . access )
92
106
await setStorage ( 'vook-refresh' , event . data . refresh )
93
107
94
- console . log ( event . data )
95
-
96
108
queryClient . setQueryData ( [ 'access' ] , event . data . access )
97
109
queryClient . setQueryData ( [ 'refresh' ] , event . data . refresh )
98
110
@@ -106,7 +118,7 @@ function VookContentScript() {
106
118
< CacheProvider value = { styleCache } >
107
119
< Global styles = { reset } />
108
120
< QueryClientProvider client = { queryClient } >
109
- { isSelected && < ToggleButton position = { position } /> }
121
+ { login && isSelected && < ToggleButton position = { position } /> }
110
122
{ isOpenSearchWindow && < SearchWindow /> }
111
123
</ QueryClientProvider >
112
124
</ CacheProvider >
0 commit comments