@@ -15,6 +15,7 @@ const PassportContext = createContext<{
1515 connectZkEvm : ( ) => void ;
1616 logout : ( ) => void ;
1717 login : ( ) => void ;
18+ popupRedirect : ( ) => void ;
1819 getIdToken : ( ) => Promise < string | undefined > ;
1920 getAccessToken : ( ) => Promise < string | undefined > ;
2021 getUserInfo : ( ) => Promise < UserProfile | undefined > ;
@@ -27,6 +28,7 @@ const PassportContext = createContext<{
2728 connectZkEvm : ( ) => undefined ,
2829 logout : ( ) => undefined ,
2930 login : ( ) => Promise . resolve ( undefined ) ,
31+ popupRedirect : ( ) => Promise . resolve ( undefined ) ,
3032 getIdToken : ( ) => Promise . resolve ( undefined ) ,
3133 getAccessToken : ( ) => Promise . resolve ( undefined ) ,
3234 getUserInfo : ( ) => Promise . resolve ( undefined ) ,
@@ -135,7 +137,7 @@ export function PassportProvider({
135137 }
136138 } , [ addMessage , passportClient , setIsLoading ] ) ;
137139
138- const login = useCallback ( async ( ) => {
140+ const popupRedirect = useCallback ( async ( ) => {
139141 try {
140142 setIsLoading ( true ) ;
141143 const userProfile = await passportClient . login ( ) ;
@@ -148,13 +150,27 @@ export function PassportProvider({
148150 }
149151 } , [ addMessage , passportClient , setIsLoading ] ) ;
150152
153+ const login = useCallback ( async ( ) => {
154+ try {
155+ setIsLoading ( true ) ;
156+ const userProfile = await passportClient . login ( { useRedirectFlow : true } ) ;
157+ addMessage ( 'Login Redirect' , userProfile ) ;
158+ } catch ( err ) {
159+ addMessage ( 'Login Redirect' , err ) ;
160+ console . error ( err ) ;
161+ } finally {
162+ setIsLoading ( false ) ;
163+ }
164+ } , [ addMessage , passportClient , setIsLoading ] ) ;
165+
151166 const providerValues = useMemo ( ( ) => ( {
152167 imxProvider,
153168 zkEvmProvider,
154169 connectImx,
155170 connectZkEvm,
156171 logout,
157172 login,
173+ popupRedirect,
158174 getIdToken,
159175 getAccessToken,
160176 getUserInfo,
@@ -167,6 +183,7 @@ export function PassportProvider({
167183 connectZkEvm ,
168184 logout ,
169185 login ,
186+ popupRedirect ,
170187 getIdToken ,
171188 getAccessToken ,
172189 getUserInfo ,
@@ -188,6 +205,7 @@ export function usePassportProvider() {
188205 connectImx,
189206 connectZkEvm,
190207 login,
208+ popupRedirect,
191209 logout,
192210 getIdToken,
193211 getAccessToken,
@@ -201,6 +219,7 @@ export function usePassportProvider() {
201219 connectImx,
202220 connectZkEvm,
203221 login,
222+ popupRedirect,
204223 logout,
205224 getIdToken,
206225 getAccessToken,
0 commit comments