1- import { Iterable } from '@iterable/react-native-sdk' ;
1+ import {
2+ Iterable ,
3+ IterableEmbeddedView ,
4+ IterableEmbeddedViewType ,
5+ IterableEmbeddedMessage ,
6+ } from '@iterable/react-native-sdk' ;
27import { useIsFocused } from '@react-navigation/native' ;
38import { useCallback , useEffect , useState } from 'react' ;
49import { Text , TouchableOpacity , View } from 'react-native' ;
@@ -9,9 +14,9 @@ import styles from './Embedded.styles';
914export const Embedded = ( ) => {
1015 const { isLoggedIn } = useIterableApp ( ) ;
1116 const isFocused = useIsFocused ( ) ;
12- const [ loggedInAs , setLoggedInAs ] = useState < string > ( '' ) ;
1317 const [ hasSession , setHasSession ] = useState < boolean > ( false ) ;
1418 const [ placementIds , setPlacementIds ] = useState < number [ ] > ( [ ] ) ;
19+ const [ messages , setMessages ] = useState < IterableEmbeddedMessage [ ] > ( [ ] ) ;
1520
1621 useEffect ( ( ) => {
1722 if ( isFocused ) {
@@ -28,22 +33,18 @@ export const Embedded = () => {
2833
2934 useEffect ( ( ) => {
3035 if ( isLoggedIn ) {
31- Iterable . getEmail ( ) . then ( ( email ) => setLoggedInAs ( email || '' ) ) ;
3236 Iterable . embeddedManager . getPlacementIds ( ) . then ( ( ids : unknown ) => {
3337 console . log ( `π > User > ids:` , ids ) ;
3438 setPlacementIds ( ids as number [ ] ) ;
3539 } ) ;
36- } else {
37- setLoggedInAs ( '' ) ;
3840 }
3941 } , [ isLoggedIn ] ) ;
4042
4143 const getEmbeddedMessages = useCallback ( ( ) => {
42- Iterable . embeddedManager
43- . getMessages ( placementIds )
44- . then ( ( messages : unknown ) => {
45- console . log ( messages ) ;
46- } ) ;
44+ Iterable . embeddedManager . getMessages ( placementIds ) . then ( ( messageList ) => {
45+ console . log ( messageList ) ;
46+ setMessages ( messageList as IterableEmbeddedMessage [ ] ) ;
47+ } ) ;
4748 } , [ placementIds ] ) ;
4849
4950 const getPlacementIds = useCallback ( ( ) => {
@@ -58,8 +59,6 @@ export const Embedded = () => {
5859
5960 return (
6061 < View style = { styles . container } >
61- < Text style = { styles . appName } > Welcome Iterator</ Text >
62- < Text style = { styles . text } > Logged in as { loggedInAs } </ Text >
6362 < Text style = { styles . text } > Has session: { hasSession . toString ( ) } </ Text >
6463 < Text style = { styles . text } >
6564 Placement ids: [{ placementIds . join ( ', ' ) } ]
@@ -73,6 +72,16 @@ export const Embedded = () => {
7372 < TouchableOpacity style = { styles . button } onPress = { sync } >
7473 < Text style = { styles . buttonText } > Sync</ Text >
7574 </ TouchableOpacity >
75+ < View style = { styles . hr } />
76+ { messages . map ( ( message ) => {
77+ return (
78+ < IterableEmbeddedView
79+ key = { message . metadata . messageId }
80+ viewType = { IterableEmbeddedViewType . Card }
81+ message = { message }
82+ />
83+ ) ;
84+ } ) }
7685 </ View >
7786 ) ;
7887} ;
0 commit comments