1- import React from "react"
2- import { StyleSheet , Platform } from "react-native"
1+ import React , { useEffect , useState } from "react"
2+ import { StyleSheet } from "react-native"
33import { SafeAreaView } from "react-native-safe-area-context"
44import * as Linking from "expo-linking"
55
66import { ConnectWidget } from "@mxenabled/react-native-widget-sdk"
7-
8- const baseUrl = Platform . OS === "android" ? "http://10.0.2.2:8089" : "http://localhost:8089"
9- const proxy = `${ baseUrl } /user/widget_urls`
7+ import { fetchWidgetUrl } from "../shared/api"
108
119const styles = StyleSheet . create ( {
1210 page : {
@@ -18,39 +16,48 @@ const styles = StyleSheet.create({
1816export default function Connect ( ) {
1917 const clientRedirectUrl = Linking . createURL ( "connect" )
2018
19+ const [ url , setUrl ] = useState < string | null > ( null )
20+
21+ useEffect ( ( ) => {
22+ fetchWidgetUrl ( { clientRedirectUrl, widgetType : "connect_widget" } ) . then ( ( url ) => {
23+ setUrl ( url )
24+ } )
25+ } , [ clientRedirectUrl ] )
26+
2127 return (
2228 < SafeAreaView style = { styles . page } >
23- < ConnectWidget
24- url = "junk"
25- clientRedirectUrl = { clientRedirectUrl }
26- onSsoUrlLoadError = { ( error ) => {
27- console . error ( `SSO URL load error: ${ error } ` )
28- } }
29- onMessage = { ( url ) => {
30- console . log ( `Got a message: ${ url } ` )
31- } }
32- onInvalidMessageError = { ( url , _error ) => {
33- console . log ( `Got an unknown message: ${ url } ` )
34- } }
35- onLoad = { ( _payload ) => {
36- console . log ( "Widget is loading" )
37- } }
38- onLoaded = { ( _payload ) => {
39- console . log ( "Widget has loaded" )
40- } }
41- onMemberConnected = { ( payload ) => {
42- console . log ( `Member connected with payload: ${ JSON . stringify ( payload ) } ` )
43- } }
44- onOAuthRequested = { ( payload ) => {
45- console . log ( `OAuth requested with URL: ${ payload . url } ` )
46- } }
47- onStepChange = { ( payload ) => {
48- console . log ( `Moving from ${ payload . previous } to ${ payload . current } ` )
49- } }
50- onSelectedInstitution = { ( payload ) => {
51- console . log ( `Selecting ${ payload . name } ` )
52- } }
53- />
29+ { url && (
30+ < ConnectWidget
31+ url = { url }
32+ onSsoUrlLoadError = { ( error ) => {
33+ console . error ( `SSO URL load error: ${ error } ` )
34+ } }
35+ onMessage = { ( url ) => {
36+ console . log ( `Got a message: ${ url } ` )
37+ } }
38+ onInvalidMessageError = { ( url , _error ) => {
39+ console . log ( `Got an unknown message: ${ url } ` )
40+ } }
41+ onLoad = { ( _payload ) => {
42+ console . log ( "Widget is loading" )
43+ } }
44+ onLoaded = { ( _payload ) => {
45+ console . log ( "Widget has loaded" )
46+ } }
47+ onMemberConnected = { ( payload ) => {
48+ console . log ( `Member connected with payload: ${ JSON . stringify ( payload ) } ` )
49+ } }
50+ onOAuthRequested = { ( payload ) => {
51+ console . log ( `OAuth requested with URL: ${ payload . url } ` )
52+ } }
53+ onStepChange = { ( payload ) => {
54+ console . log ( `Moving from ${ payload . previous } to ${ payload . current } ` )
55+ } }
56+ onSelectedInstitution = { ( payload ) => {
57+ console . log ( `Selecting ${ payload . name } ` )
58+ } }
59+ />
60+ ) }
5461 </ SafeAreaView >
5562 )
5663}
0 commit comments