diff --git a/.circleci/config.yml b/.circleci/config.yml index dd5facd3..ef6ae0df 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,36 +8,43 @@ orbs: jobs: unit-test: docker: - - image: cimg/node:18.20 + - image: cimg/node:18.20 steps: - - checkout + - checkout - - restore_cache: - keys: - - yarn-cache-{{ checksum "yarn.lock" }} + - restore_cache: + keys: + - yarn-cache-{{ checksum "yarn.lock" }} - - run: - name: Install Node.js and Yarn Dependencies - command: yarn install + - run: + name: Enable Corepack + command: corepack enable - - run: - name: Build the Project - command: yarn run build + - run: + name: Install Node.js and Yarn Dependencies + command: yarn install --network-timeout 300000 + no_output_timeout: 20m + environment: + NODE_OPTIONS: "--max-old-space-size=4096" - - run: - name: Expo Prebuild - command: cd apps/AEPSampleAppNewArchEnabled && npx expo prebuild + - run: + name: Build the Project + command: yarn run build - - save_cache: - key: yarn-cache-{{ checksum "yarn.lock" }} - paths: - - ./node_modules - - ./apps/AEPSampleAppNewArchEnabled/node_modules + - run: + name: Expo Prebuild + command: cd apps/AEPSampleAppNewArchEnabled && npx expo prebuild - - run: - name: Unit Tests - command: yarn test --watchAll=false --runInBand + - save_cache: + key: yarn-cache-{{ checksum "yarn.lock" }} + paths: + - ./node_modules + - ./apps/AEPSampleAppNewArchEnabled/node_modules + + - run: + name: Unit Tests + command: yarn test --watchAll=false --runInBand build-sample-app-android: executor: @@ -46,86 +53,100 @@ jobs: resource_class: large steps: - - checkout + - checkout + + - run: + name: Enable Corepack + command: corepack enable - - run: - name: Install Node.js and Yarn Dependencies - command: yarn install + - run: + name: Install Node.js and Yarn Dependencies + command: yarn install --network-timeout 300000 + no_output_timeout: 20m + environment: + NODE_OPTIONS: "--max-old-space-size=4096" - - run: - name: Build the Project - command: yarn run build + - run: + name: Build the Project + command: yarn run build - - run: - name: Expo Prebuild - command: cd apps/AEPSampleAppNewArchEnabled && npx expo prebuild + - run: + name: Expo Prebuild + command: cd apps/AEPSampleAppNewArchEnabled && npx expo prebuild - - run: - name: Building Android Sample App - command: yarn sampleappnewarchenabled:android:build - environment: - _JAVA_OPTIONS: "-Xmx4096M -XX:MaxMetaspaceSize=512m" + - run: + name: Building Android Sample App + command: yarn sampleappnewarchenabled:android:build + environment: + _JAVA_OPTIONS: "-Xmx4096M -XX:MaxMetaspaceSize=512m" build-sample-app-ios: macos: xcode: 15.2 steps: - - checkout - - - restore_cache: - keys: - - ios-yarn-cache-{{ checksum "yarn.lock" }} - - - run: - name: Set Xcode Path - command: sudo xcode-select -s /Applications/Xcode.app - - - run: - name: Install Node.js and Yarn Dependencies - command: yarn install - - - run: - name: Build the Project - command: yarn run build - - - run: - name: Expo Prebuild - command: cd apps/AEPSampleAppNewArchEnabled && npx expo prebuild - - - save_cache: - key: ios-yarn-cache-{{ checksum "yarn.lock" }} - paths: - - ./node_modules - - ./apps/AEPSampleAppNewArchEnabled/node_modules - - - run: - name: Install Cocoapods - command: sudo gem install cocoapods - - - run: - name: Install Pods - command: yarn sampleappnewarchenabled:ios:pod:install - - - run: - name: Building iOS Sample App - command: | - cd apps/AEPSampleAppNewArchEnabled/ios - xcodebuild \ - -workspace AEPSampleAppNewArchEnabled.xcworkspace \ - -scheme AEPSampleAppNewArchEnabled \ - -sdk iphonesimulator \ - -destination "generic/platform=iOS Simulator" \ - clean build + - checkout + + - restore_cache: + keys: + - ios-yarn-cache-{{ checksum "yarn.lock" }} + + - run: + name: Set Xcode Path + command: sudo xcode-select -s /Applications/Xcode.app + + - run: + name: Enable Corepack + command: corepack enable + + - run: + name: Install Node.js and Yarn Dependencies + command: yarn install --network-timeout 300000 + no_output_timeout: 20m + environment: + NODE_OPTIONS: "--max-old-space-size=4096" + + - run: + name: Build the Project + command: yarn run build + + - run: + name: Expo Prebuild + command: cd apps/AEPSampleAppNewArchEnabled && npx expo prebuild + + - save_cache: + key: ios-yarn-cache-{{ checksum "yarn.lock" }} + paths: + - ./node_modules + - ./apps/AEPSampleAppNewArchEnabled/node_modules + + - run: + name: Install Cocoapods + command: sudo gem install cocoapods + + - run: + name: Install Pods + command: yarn sampleappnewarchenabled:ios:pod:install + + - run: + name: Building iOS Sample App + command: | + cd apps/AEPSampleAppNewArchEnabled/ios + xcodebuild \ + -workspace AEPSampleAppNewArchEnabled.xcworkspace \ + -scheme AEPSampleAppNewArchEnabled \ + -sdk iphonesimulator \ + -destination "generic/platform=iOS Simulator" \ + clean build workflows: version: 2.1 ci-workflow: jobs: - - unit-test - - build-sample-app-ios - # - build-sample-app-android - # Disable the Android build job because of the error below: - # Execution failed for task ':react-native-reanimated:configureCMakeDebug[arm64-v8a]'. - # > [CXX1210] /root/project/apps/AEPSampleApp/node_modules/react-native-reanimated/android/CMakeLists.txt debug|arm64-v8a : No compatible library found - # The Android build job will be enabled once the issue is resolved. + - unit-test + - build-sample-app-ios + # - build-sample-app-android + # Disable the Android build job because of the error below: + # Execution failed for task ':react-native-reanimated:configureCMakeDebug[arm64-v8a]'. + # > [CXX1210] /root/project/apps/AEPSampleApp/node_modules/react-native-reanimated/android/CMakeLists.txt debug|arm64-v8a : No compatible library found + # The Android build job will be enabled once the issue is resolved. diff --git a/apps/AEPSampleAppNewArchEnabled/app/ContentCardsView.tsx b/apps/AEPSampleAppNewArchEnabled/app/ContentCardsView.tsx index 56dd72c4..96d7308c 100644 --- a/apps/AEPSampleAppNewArchEnabled/app/ContentCardsView.tsx +++ b/apps/AEPSampleAppNewArchEnabled/app/ContentCardsView.tsx @@ -67,12 +67,15 @@ const StyledText = ({ text }: { text: string }) => { const Header = ({ isLoading, - onTrackAction + onTrackAction, + selectedView, + setSelectedView }: { isLoading: boolean; onTrackAction: () => void; + selectedView: ViewOption; + setSelectedView: (view: ViewOption) => void; }) => { - const [selectedView, setSelectedView] = useState('Remote'); const [showPicker, setShowPicker] = useState(false); const [selectedTheme, setSelectedTheme] = useState('System'); const [trackInput, setTrackInput] = useState(''); @@ -250,7 +253,7 @@ const Header = ({ const MemoHeader = memo(Header); const ContentCardsView = () => { - const [selectedView] = useState('Remote'); + const [selectedView, setSelectedView] = useState('Remote'); const [trackInput, setTrackInput] = useState(''); const colorScheme = useColorScheme(); @@ -299,7 +302,12 @@ const ContentCardsView = () => { return ; }} ListHeaderComponent={ - + } ListEmptyComponent={() => selectedView === 'Remote' && ( diff --git a/apps/AEPSampleAppNewArchEnabled/app/MessagingView.tsx b/apps/AEPSampleAppNewArchEnabled/app/MessagingView.tsx index f4d8d827..95a11580 100644 --- a/apps/AEPSampleAppNewArchEnabled/app/MessagingView.tsx +++ b/apps/AEPSampleAppNewArchEnabled/app/MessagingView.tsx @@ -132,15 +132,9 @@ const unifiedTrackingExample = async () => { const propositions = messages[surface] || []; for (const proposition of propositions) { - const propositionWrapper = new MessagingProposition(proposition); - if (propositionWrapper.items.length > 0) { - const propositionItem = propositionWrapper.items[0]; + for (const propositionItem of proposition.items) { propositionItem.track(MessagingEdgeEventType.DISPLAY); - propositionItem.track( - 'content_card_clicked', - MessagingEdgeEventType.INTERACT, - null - ); + propositionItem.track('content_card_clicked', MessagingEdgeEventType.INTERACT, null); } } } diff --git a/apps/AEPSampleAppNewArchEnabled/package.json b/apps/AEPSampleAppNewArchEnabled/package.json index e4946434..bd565a68 100644 --- a/apps/AEPSampleAppNewArchEnabled/package.json +++ b/apps/AEPSampleAppNewArchEnabled/package.json @@ -35,7 +35,7 @@ "@react-navigation/bottom-tabs": "7.3.12", "@react-navigation/core": "7.9.1", "@react-navigation/drawer": "7.3.11", - "@react-navigation/native": "7.1.8", + "@react-navigation/native": "7.1.17", "@react-navigation/native-stack": "^7.3.1", "@react-navigation/routers": "7.3.7", "@react-navigation/stack": "7.3.1", diff --git a/jest.config.js b/jest.config.js index 44ff49bb..3e9b01c9 100644 --- a/jest.config.js +++ b/jest.config.js @@ -11,4 +11,10 @@ module.exports = { testPathIgnorePatterns: ['./packages/template'], moduleDirectories: ['node_modules', './apps/AEPSampleAppNewArchEnabled/node_modules'], moduleFileExtensions: ['ts', 'tsx', 'js'], + moduleNameMapper: { + '^react-native$': '/apps/AEPSampleAppNewArchEnabled/node_modules/react-native' + }, + transformIgnorePatterns: [ + 'node_modules/(?!(react-native|@react-native|@react-navigation)/)' + ] }; \ No newline at end of file diff --git a/packages/messaging/README.md b/packages/messaging/README.md index 3aaa0c3e..a5022600 100644 --- a/packages/messaging/README.md +++ b/packages/messaging/README.md @@ -223,7 +223,7 @@ propositionItem.track( ); ``` -When using `getPropositionsForSurfaces`, the returned objects can be wrapped with `MessagingProposition` to get typed items and convenient tracking via `PropositionItem.track(...)`. +When using `getPropositionsForSurfaces`, the returned objects are already `MessagingProposition` instances with typed items and convenient tracking via `PropositionItem.track(...)`. ```javascript import { Messaging, MessagingProposition, MessagingEdgeEventType } from '@adobe/react-native-aepmessaging'; @@ -233,17 +233,12 @@ const messages = await Messaging.getPropositionsForSurfaces(SURFACES); for (const surface of SURFACES) { const propositions = messages[surface] || []; - for (const proposition of propositions) { - const msgProp = new MessagingProposition(proposition); - - if (msgProp.items.length > 0) { - const propositionItem = msgProp.items[0]; - + for (const propositionItem of proposition.items) { // Track interaction with custom data - propositionItem.track('content_card_clicked', MessagingEdgeEventType.INTERACT, null); - // Track with tokens for sub-item tracking - propositionItem.track('button_click', MessagingEdgeEventType.INTERACT, ['token-1', 'token-2']); + propositionItem.track('content_card_clicked', MessagingEdgeEventType.INTERACT, null); + // Track with tokens for sub-item tracking + propositionItem.track('button_click', MessagingEdgeEventType.INTERACT, ['token-1', 'token-2']); } } } diff --git a/packages/messaging/dist/module/Messaging.js b/packages/messaging/dist/module/Messaging.js index 2216d5f9..d0cde65d 100644 --- a/packages/messaging/dist/module/Messaging.js +++ b/packages/messaging/dist/module/Messaging.js @@ -62,8 +62,14 @@ class Messaging { * @returns A record of surface names with their corresponding propositions */ static async getPropositionsForSurfaces(surfaces) { - return await RCTAEPMessaging.getPropositionsForSurfaces(surfaces); + const propositionsList = await RCTAEPMessaging.getPropositionsForSurfaces(surfaces); + let messagingPropositionsForSurfaces = {}; + for (const [surface, propositions] of Object.entries(propositionsList)) { + messagingPropositionsForSurfaces[surface] = propositions.map(proposition => new MessagingProposition(proposition)); + } + return messagingPropositionsForSurfaces; } + /** * @deprecated Use PropositionItem.track(...) instead. */ @@ -161,7 +167,7 @@ class Messaging { if (!propositions?.length) { return []; } - const contentCards = propositions.map(proposition => new MessagingProposition(proposition)).flatMap(proposition => proposition.items.filter(item => item.schema === PersonalizationSchema.CONTENT_CARD)); + const contentCards = propositions.flatMap(proposition => proposition.items.filter(item => item.schema === PersonalizationSchema.CONTENT_CARD)); if (!contentCards?.length) { return []; } diff --git a/packages/messaging/dist/module/Messaging.js.map b/packages/messaging/dist/module/Messaging.js.map index 8bd62607..f774fb6b 100644 --- a/packages/messaging/dist/module/Messaging.js.map +++ b/packages/messaging/dist/module/Messaging.js.map @@ -1 +1 @@ -{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","Message","MessagingProposition","PersonalizationSchema","ContentTemplate","RCTAEPMessaging","AEPMessaging","messagingDelegate","Messaging","extensionVersion","Promise","resolve","refreshInAppMessages","getCachedMessages","messages","map","msg","getLatestMessage","message","undefined","getPropositionsForSurfaces","surfaces","trackContentCardDisplay","proposition","contentCard","trackContentCardInteraction","trackPropositionItem","itemId","interaction","eventType","tokens","setMessagingDelegate","delegate","eventEmitter","addListener","onShow","messageInstance","_clearJavascriptMessageHandlers","onDismiss","shouldShowMessage","shouldSaveMessage","setMessageSettings","OS","event","urlLoaded","url","onContentLoaded","removeAllListeners","updatePropositionsForSurfaces","getContentCardUI","surface","propositions","length","contentCards","flatMap","items","filter","item","schema","CONTENT_CARD","card","type","data","meta","adobe","template"],"sourceRoot":"../../src","sources":["Messaging.ts"],"mappings":"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","ignoreList":[]} +{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","Message","MessagingProposition","PersonalizationSchema","ContentTemplate","RCTAEPMessaging","AEPMessaging","messagingDelegate","Messaging","extensionVersion","Promise","resolve","refreshInAppMessages","getCachedMessages","messages","map","msg","getLatestMessage","message","undefined","getPropositionsForSurfaces","surfaces","propositionsList","messagingPropositionsForSurfaces","surface","propositions","Object","entries","proposition","trackContentCardDisplay","contentCard","trackContentCardInteraction","trackPropositionItem","itemId","interaction","eventType","tokens","setMessagingDelegate","delegate","eventEmitter","addListener","onShow","messageInstance","_clearJavascriptMessageHandlers","onDismiss","shouldShowMessage","shouldSaveMessage","setMessageSettings","OS","event","urlLoaded","url","onContentLoaded","removeAllListeners","updatePropositionsForSurfaces","getContentCardUI","length","contentCards","flatMap","items","filter","item","schema","CONTENT_CARD","card","type","data","meta","adobe","template"],"sourceRoot":"../../src","sources":["Messaging.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,aAAa,EACbC,kBAAkB,EAElBC,QAAQ,QACH,cAAc;AACrB,OAAOC,OAAO,MAAM,qBAAkB;AAEtC,SAASC,oBAAoB,QAAQ,kCAA+B;AAEpE,SAASC,qBAAqB,QAAQ,mCAAgC;AACtE,SAASC,eAAe,QAAQ,yBAAsB;AAiCtD,MAAMC,eAAqD,GACzDP,aAAa,CAACQ,YAAY;AAG5B,IAAIC,iBAAoC;AAExC,MAAMC,SAAS,CAAC;EACd;AACF;AACA;AACA;EACE,OAAOC,gBAAgBA,CAAA,EAAoB;IACzC,OAAOC,OAAO,CAACC,OAAO,CAACN,eAAe,CAACI,gBAAgB,CAAC,CAAC,CAAC;EAC5D;;EAEA;AACF;AACA;EACE,OAAOG,oBAAoBA,CAAA,EAAG;IAC5BP,eAAe,CAACO,oBAAoB,CAAC,CAAC;EACxC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,aAAaC,iBAAiBA,CAAA,EAAuB;IACnD,MAAMC,QAAQ,GAAG,MAAMT,eAAe,CAACQ,iBAAiB,CAAC,CAAC;IAC1D,OAAOC,QAAQ,CAACC,GAAG,CAAEC,GAAG,IAAK,IAAIf,OAAO,CAACe,GAAG,CAAC,CAAC;EAChD;;EAEA;AACF;AACA;AACA;EACE,aAAaC,gBAAgBA,CAAA,EAAwC;IACnE,MAAMC,OAAO,GAAG,MAAMb,eAAe,CAACY,gBAAgB,CAAC,CAAC;IACxD,OAAOC,OAAO,GAAG,IAAIjB,OAAO,CAACiB,OAAO,CAAC,GAAGC,SAAS;EACnD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,aAAaC,0BAA0BA,CACrCC,QAAkB,EAC+B;IAEjD,MAAMC,gBAAgB,GAAG,MAAMjB,eAAe,CAACe,0BAA0B,CAACC,QAAQ,CAAC;IACnF,IAAIE,gCAAwE,GAAG,CAAC,CAAC;IAEjF,KAAK,MAAM,CAACC,OAAO,EAAEC,YAAY,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,gBAAgB,CAAC,EAAE;MACtEC,gCAAgC,CAACC,OAAO,CAAC,GAAGC,YAAY,CAACV,GAAG,CACzDa,WAAW,IAAK,IAAI1B,oBAAoB,CAAC0B,WAAW,CACvD,CAAC;IACH;IAEA,OAAOL,gCAAgC;EACzC;;EAEA;AACF;AACA;EACE,OAAOM,uBAAuBA,CAC5BD,WAAiC,EACjCE,WAAwB,EAClB;IACNzB,eAAe,CAACwB,uBAAuB,CAACD,WAAW,EAAEE,WAAW,CAAC;EACnE;;EAEA;AACF;AACA;EACE,OAAOC,2BAA2BA,CAChCH,WAAiC,EACjCE,WAAwB,EAClB;IACNzB,eAAe,CAAC0B,2BAA2B,CAACH,WAAW,EAAEE,WAAW,CAAC;EACvE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,oBAAoBA,CACzBC,MAAc,EACdC,WAA0B,EAC1BC,SAAiB,EACjBC,MAAuB,EACjB;IACN/B,eAAe,CAAC2B,oBAAoB,CAClCC,MAAM,EACNC,WAAW,EACXC,SAAS,EACTC,MACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACE,OAAOC,oBAAoBA,CAACC,QAA2B,EAAc;IACnE/B,iBAAiB,GAAG+B,QAAQ;IAE5B,MAAMC,YAAY,GAAG,IAAIxC,kBAAkB,CAACM,eAAe,CAAC;IAE5DkC,YAAY,CAACC,WAAW,CAAC,QAAQ,EAAGtB,OAAgB,IAClDX,iBAAiB,EAAEkC,MAAM,GAAG,IAAIxC,OAAO,CAACiB,OAAO,CAAC,CAClD,CAAC;IAEDqB,YAAY,CAACC,WAAW,CAAC,WAAW,EAAGtB,OAAgB,IAAK;MAC1D,MAAMwB,eAAe,GAAG,IAAIzC,OAAO,CAACiB,OAAO,CAAC;MAC5CwB,eAAe,CAACC,+BAA+B,CAAC,CAAC;MACjDpC,iBAAiB,EAAEqC,SAAS,GAAGF,eAAe,CAAC;IACjD,CAAC,CAAC;IAEFH,YAAY,CAACC,WAAW,CAAC,mBAAmB,EAAGtB,OAAgB,IAAK;MAClE,MAAMwB,eAAe,GAAG,IAAIzC,OAAO,CAACiB,OAAO,CAAC;MAC5C,MAAM2B,iBAAiB,GACrBtC,iBAAiB,EAAEsC,iBAAiB,GAAGH,eAAe,CAAC,IAAI,IAAI;MACjE,MAAMI,iBAAiB,GACrBvC,iBAAiB,EAAEuC,iBAAiB,GAAGJ,eAAe,CAAC,IAAI,KAAK;MAClErC,eAAe,CAAC0C,kBAAkB,CAACF,iBAAiB,EAAEC,iBAAiB,CAAC;IAC1E,CAAC,CAAC;IAEF,IAAI9C,QAAQ,CAACgD,EAAE,KAAK,KAAK,EAAE;MACzBT,YAAY,CAACC,WAAW,CACtB,WAAW,EACVS,KAAwC,IACvC1C,iBAAiB,EAAE2C,SAAS,GAAGD,KAAK,CAACE,GAAG,EAAE,IAAIlD,OAAO,CAACgD,KAAK,CAAC/B,OAAO,CAAC,CACxE,CAAC;IACH;IAEA,IAAIlB,QAAQ,CAACgD,EAAE,KAAK,SAAS,EAAE;MAC7BT,YAAY,CAACC,WAAW,CACtB,iBAAiB,EAChBS,KAA2B,IAC1B1C,iBAAiB,EAAE6C,eAAe,GAAG,IAAInD,OAAO,CAACgD,KAAK,CAAC/B,OAAO,CAAC,CACnE,CAAC;IACH;IAEAb,eAAe,CAACgC,oBAAoB,CAAC,CAAC;IAEtC,OAAO,MAAM;MACXE,YAAY,CAACc,kBAAkB,CAAC,WAAW,CAAC;MAC5Cd,YAAY,CAACc,kBAAkB,CAAC,QAAQ,CAAC;MACzCd,YAAY,CAACc,kBAAkB,CAAC,mBAAmB,CAAC;MACpD,IAAIrD,QAAQ,CAACgD,EAAE,KAAK,KAAK,EAAE;QACzBT,YAAY,CAACc,kBAAkB,CAAC,WAAW,CAAC;MAC9C;MACA,IAAIrD,QAAQ,CAACgD,EAAE,KAAK,SAAS,EAAE;QAC7BT,YAAY,CAACc,kBAAkB,CAAC,iBAAiB,CAAC;MACpD;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAON,kBAAkBA,CACvBF,iBAA0B,EAC1BC,iBAA0B,EAC1B;IACAzC,eAAe,CAAC0C,kBAAkB,CAACF,iBAAiB,EAAEC,iBAAiB,CAAC;EAC1E;;EAEA;AACF;AACA;AACA;EACE,aAAaQ,6BAA6BA,CACxCjC,QAAkB,EACH;IACf,OAAO,MAAMhB,eAAe,CAACiD,6BAA6B,CAACjC,QAAQ,CAAC;EACtE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,aAAakC,gBAAgBA,CAAC/B,OAAe,EAA8B;IACzE,MAAMV,QAAQ,GAAG,MAAMN,SAAS,CAACY,0BAA0B,CAAC,CAACI,OAAO,CAAC,CAAC;IACtE,MAAMC,YAAY,GAAGX,QAAQ,CAACU,OAAO,CAAC;IACtC,IAAI,CAACC,YAAY,EAAE+B,MAAM,EAAE;MACzB,OAAO,EAAE;IACX;IACA,MAAMC,YAAY,GAAGhC,YAAY,CAC9BiC,OAAO,CAAE9B,WAAW,IACnBA,WAAW,CAAC+B,KAAK,CAACC,MAAM,CACrBC,IAAI,IAAKA,IAAI,CAACC,MAAM,KAAK3D,qBAAqB,CAAC4D,YAClD,CACF,CAAC;IAEH,IAAI,CAACN,YAAY,EAAED,MAAM,EAAE;MACzB,OAAO,EAAE;IACX;IAEA,OAAOC,YAAY,CAAC1C,GAAG,CAAEiD,IAAS,IAAK;MACrC,MAAMC,IAAI,GAAGD,IAAI,CAACE,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,IAAI,YAAY;MAC7D,OAAO,IAAIjE,eAAe,CAAC4D,IAAI,EAAEC,IAAI,CAAC;IACxC,CAAC,CAAC;EACJ;AACF;AAEA,eAAezD,SAAS","ignoreList":[]} diff --git a/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js b/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js index eb4acd29..fe74c0f4 100644 --- a/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js +++ b/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js @@ -38,7 +38,6 @@ export const ContentCardView = ({ DismissButtonProps, ...props }) => { - console.log('ContentCardView', template); const colorScheme = useColorScheme(); const [isVisible, setIsVisible] = useState(true); const isDisplayedRef = useRef(false); @@ -64,16 +63,6 @@ export const ContentCardView = ({ } } }, [template]); - - // Call listener on mount to signal view display (only once to prevent duplicates) - useEffect(() => { - if (!isDisplayedRef.current) { - listener?.('onDisplay', template); - // Track display event using propositionItem - template.track?.(MessagingEdgeEventType.DISPLAY); - isDisplayedRef.current = true; - } - }, [listener, template]); const imageUri = useMemo(() => { if (colorScheme === 'dark' && template.data?.content?.image?.darkUrl) { return template.data.content.image.darkUrl; @@ -82,13 +71,7 @@ export const ContentCardView = ({ }, [colorScheme, template.data?.content?.image?.darkUrl, template.data?.content?.image?.url]); const imageAspectRatio = useAspectRatio(imageUri); - // If not visible, return null to hide the entire view - if (!isVisible) { - return null; - } - if (!template.data) return null; - const content = template?.data?.content; - if (!content) return null; + // Calculate styleOverrides before any early returns const styleOverrides = useMemo(() => { switch (cardVariant) { case 'SmallImage': @@ -101,6 +84,24 @@ export const ContentCardView = ({ return null; } }, [_styleOverrides, cardVariant]); + + // Call listener on mount to signal view display (only once to prevent duplicates) + useEffect(() => { + if (!isDisplayedRef.current) { + listener?.('onDisplay', template); + // Track display event using propositionItem + template.track?.(MessagingEdgeEventType.DISPLAY); + isDisplayedRef.current = true; + } + }, [listener, template]); + + // All validation checks after ALL hooks are called + if (!isVisible) { + return null; + } + if (!template.data) return null; + const content = template?.data?.content; + if (!content) return null; return /*#__PURE__*/React.createElement(Pressable, _extends({ onPress: onPress, style: state => [styles.card, styleOverrides?.card, typeof style === 'function' ? style(state) : style] diff --git a/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js.map b/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js.map index 7fd8f523..d0fd3c5c 100644 --- a/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js.map +++ b/packages/messaging/dist/module/ui/components/ContentCardView/ContentCardView.js.map @@ -1 +1 @@ -{"version":3,"names":["React","useEffect","useCallback","useState","useRef","useMemo","Image","Linking","Pressable","StyleSheet","Text","useColorScheme","View","MessagingEdgeEventType","DismissButton","useTheme","useAspectRatio","Button","ContentCardView","template","listener","variant","styleOverrides","_styleOverrides","style","ContainerProps","ImageContainerProps","ImageProps","ContentContainerProps","TextProps","TitleProps","BodyProps","ButtonContainerProps","ButtonProps","DismissButtonProps","props","console","log","colorScheme","isVisible","setIsVisible","isDisplayedRef","theme","cardVariant","type","onDismiss","track","DISMISS","onPress","INTERACT","data","content","actionUrl","openURL","error","warn","current","DISPLAY","imageUri","image","darkUrl","url","imageAspectRatio","smallImageStyle","largeImageStyle","imageOnlyStyle","createElement","_extends","state","styles","card","smallImageStyles","container","imageContainer","source","uri","aspectRatio","resizeMode","contentContainer","title","color","colors","textPrimary","text","body","buttonContainer","buttons","length","map","button","key","id","textStyle","buttonText","dismissBtn","create","margin","flex","flexDirection","alignItems","borderRadius","backgroundColor","width","paddingVertical","paddingHorizontal","justifyContent","textContent","marginBottom","fontSize","fontWeight","marginRight","lineHeight","flexWrap","paddingTop","gap","marginHorizontal","maxWidth","alignSelf"],"sourceRoot":"../../../../../src","sources":["ui/components/ContentCardView/ContentCardView.tsx"],"mappings":"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","ignoreList":[]} +{"version":3,"names":["React","useEffect","useCallback","useState","useRef","useMemo","Image","Linking","Pressable","StyleSheet","Text","useColorScheme","View","MessagingEdgeEventType","DismissButton","useTheme","useAspectRatio","Button","ContentCardView","template","listener","variant","styleOverrides","_styleOverrides","style","ContainerProps","ImageContainerProps","ImageProps","ContentContainerProps","TextProps","TitleProps","BodyProps","ButtonContainerProps","ButtonProps","DismissButtonProps","props","colorScheme","isVisible","setIsVisible","isDisplayedRef","theme","cardVariant","type","onDismiss","track","DISMISS","onPress","INTERACT","data","content","actionUrl","openURL","error","console","warn","imageUri","image","darkUrl","url","imageAspectRatio","smallImageStyle","largeImageStyle","imageOnlyStyle","current","DISPLAY","createElement","_extends","state","styles","card","smallImageStyles","container","imageContainer","source","uri","aspectRatio","resizeMode","contentContainer","title","color","colors","textPrimary","text","body","buttonContainer","buttons","length","map","button","key","id","textStyle","buttonText","dismissBtn","create","margin","flex","flexDirection","alignItems","borderRadius","backgroundColor","width","paddingVertical","paddingHorizontal","justifyContent","textContent","marginBottom","fontSize","fontWeight","marginRight","lineHeight","flexWrap","paddingTop","gap","marginHorizontal","maxWidth","alignSelf"],"sourceRoot":"../../../../../src","sources":["ui/components/ContentCardView/ContentCardView.tsx"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IACVC,SAAS,EACTC,WAAW,EACXC,QAAQ,EACRC,MAAM,EACNC,OAAO,QACF,OAAO;AASd,SACEC,KAAK,EACLC,OAAO,EACPC,SAAS,EAETC,UAAU,EACVC,IAAI,EACJC,cAAc,EACdC,IAAI,QACC,cAAc;AACrB,OAAOC,sBAAsB,MAAM,2CAAwC;AAC3E,OAAOC,aAAa,MAAM,mCAAgC;AAC1D,SAASC,QAAQ,QAAQ,sBAAa;AACtC,OAAOC,cAAc,MAAM,+BAA4B;AAEvD,OAAOC,MAAM,MAAM,qBAAkB;AAqBrC,OAAO,MAAMC,eAA2C,GAAGA,CAAC;EAC1DC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC,cAAc,EAAEC,eAAe;EAC/BC,KAAK;EACLC,cAAc;EACdC,mBAAmB;EACnBC,UAAU;EACVC,qBAAqB;EACrBC,SAAS;EACTC,UAAU;EACVC,SAAS;EACTC,oBAAoB;EACpBC,WAAW;EACXC,kBAAkB;EAClB,GAAGC;AACL,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAGzB,cAAc,CAAC,CAAC;EACpC,MAAM,CAAC0B,SAAS,EAAEC,YAAY,CAAC,GAAGnC,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAMoC,cAAc,GAAGnC,MAAM,CAAC,KAAK,CAAC;EACpC,MAAMoC,KAAK,GAAGzB,QAAQ,CAAC,CAAC;EAExB,MAAM0B,WAAW,GAAGpC,OAAO,CACzB,MAAMgB,OAAO,IAAIF,QAAQ,CAACuB,IAAI,IAAI,YAAY,EAC9C,CAACrB,OAAO,EAAEF,QAAQ,CAACuB,IAAI,CACzB,CAAC;EAED,MAAMC,SAAS,GAAGzC,WAAW,CAAC,MAAM;IAClCkB,QAAQ,GAAG,WAAW,EAAED,QAAQ,CAAC;;IAEjC;IACAA,QAAQ,CAACyB,KAAK,GAAG/B,sBAAsB,CAACgC,OAAO,CAAC;IAEhDP,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC,EAAE,CAAClB,QAAQ,EAAED,QAAQ,CAAC,CAAC;EAExB,MAAM2B,OAAO,GAAG5C,WAAW,CAAC,MAAM;IAChCkB,QAAQ,GAAG,YAAY,EAAED,QAAQ,CAAC;;IAElC;IACAA,QAAQ,CAACyB,KAAK,GAAG,iBAAiB,EAAE/B,sBAAsB,CAACkC,QAAQ,EAAE,IAAI,CAAC;IAE1E,IAAI5B,QAAQ,CAAC6B,IAAI,EAAEC,OAAO,EAAEC,SAAS,EAAE;MACrC,IAAI;QACF3C,OAAO,CAAC4C,OAAO,CAAChC,QAAQ,CAAC6B,IAAI,CAACC,OAAO,CAACC,SAAS,CAAC;MAClD,CAAC,CAAC,OAAOE,KAAK,EAAE;QACdC,OAAO,CAACC,IAAI,CACV,uBAAuBnC,QAAQ,CAAC6B,IAAI,CAACC,OAAO,CAACC,SAAS,EAAE,EACxDE,KACF,CAAC;MACH;IACF;EACF,CAAC,EAAE,CAACjC,QAAQ,CAAC,CAAC;EAEd,MAAMoC,QAAQ,GAAGlD,OAAO,CAAC,MAAM;IAC7B,IAAI+B,WAAW,KAAK,MAAM,IAAIjB,QAAQ,CAAC6B,IAAI,EAAEC,OAAO,EAAEO,KAAK,EAAEC,OAAO,EAAE;MACpE,OAAOtC,QAAQ,CAAC6B,IAAI,CAACC,OAAO,CAACO,KAAK,CAACC,OAAO;IAC5C;IACA,OAAOtC,QAAQ,CAAC6B,IAAI,CAACC,OAAO,CAACO,KAAK,EAAEE,GAAG;EACzC,CAAC,EAAE,CACDtB,WAAW,EACXjB,QAAQ,CAAC6B,IAAI,EAAEC,OAAO,EAAEO,KAAK,EAAEC,OAAO,EACtCtC,QAAQ,CAAC6B,IAAI,EAAEC,OAAO,EAAEO,KAAK,EAAEE,GAAG,CACnC,CAAC;EAEF,MAAMC,gBAAgB,GAAG3C,cAAc,CAACuC,QAAQ,CAAC;;EAEjD;EACA,MAAMjC,cAAc,GAAGjB,OAAO,CAG5B,MAAM;IACN,QAAQoC,WAAW;MACjB,KAAK,YAAY;QACf,OAAOlB,eAAe,EAAEqC,eAAe;MACzC,KAAK,YAAY;QACf,OAAOrC,eAAe,EAAEsC,eAAe;MACzC,KAAK,WAAW;QACd,OAAOtC,eAAe,EAAEuC,cAAc;MACxC;QACE,OAAO,IAAI;IACf;EACF,CAAC,EAAE,CAACvC,eAAe,EAAEkB,WAAW,CAAC,CAAC;;EAElC;EACAxC,SAAS,CAAC,MAAM;IACd,IAAI,CAACsC,cAAc,CAACwB,OAAO,EAAE;MAC3B3C,QAAQ,GAAG,WAAW,EAAED,QAAQ,CAAC;MACjC;MACAA,QAAQ,CAACyB,KAAK,GAAG/B,sBAAsB,CAACmD,OAAO,CAAC;MAChDzB,cAAc,CAACwB,OAAO,GAAG,IAAI;IAC/B;EACF,CAAC,EAAE,CAAC3C,QAAQ,EAAED,QAAQ,CAAC,CAAC;;EAExB;EACA,IAAI,CAACkB,SAAS,EAAE;IACd,OAAO,IAAI;EACb;EAEA,IAAI,CAAClB,QAAQ,CAAC6B,IAAI,EAAE,OAAO,IAAI;EAE/B,MAAMC,OAAO,GAAG9B,QAAQ,EAAE6B,IAAI,EAAEC,OAAc;EAE9C,IAAI,CAACA,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACEjD,KAAA,CAAAiE,aAAA,CAACzD,SAAS,EAAA0D,QAAA;IACRpB,OAAO,EAAEA,OAAQ;IACjBtB,KAAK,EAAG2C,KAAK,IAAK,CAChBC,MAAM,CAACC,IAAI,EACX/C,cAAc,EAAE+C,IAAI,EACpB,OAAO7C,KAAK,KAAK,UAAU,GAAGA,KAAK,CAAC2C,KAAK,CAAC,GAAG3C,KAAK;EAClD,GACEW,KAAK,gBAETnC,KAAA,CAAAiE,aAAA,CAACrD,IAAI,EAAAsD,QAAA;IACH1C,KAAK,EAAE,CACLiB,WAAW,KAAK,YAAY,GACxB6B,gBAAgB,CAACC,SAAS,GAC1BH,MAAM,CAACG,SAAS,EACpBjD,cAAc,EAAEiD,SAAS;EACzB,GACE9C,cAAc,GAEjB8B,QAAQ,iBACPvD,KAAA,CAAAiE,aAAA,CAACrD,IAAI,EAAAsD,QAAA;IACH1C,KAAK,EAAE,CACLiB,WAAW,KAAK,YAAY,GACxB6B,gBAAgB,CAACE,cAAc,GAC/BJ,MAAM,CAACI,cAAc,EACzBlD,cAAc,EAAEkD,cAAc;EAC9B,GACE9C,mBAAmB,gBAEvB1B,KAAA,CAAAiE,aAAA,CAAC3D,KAAK,EAAA4D,QAAA;IACJO,MAAM,EAAE;MAAEC,GAAG,EAAEnB;IAAS,CAAE;IAC1B/B,KAAK,EAAE,CACLiB,WAAW,KAAK,YAAY,GACxB6B,gBAAgB,CAACd,KAAK,GACtBY,MAAM,CAACZ,KAAK,EAChB;MAAEmB,WAAW,EAAEhB;IAAiB,CAAC,EACjCrC,cAAc,EAAEkC,KAAK,CACrB;IACFoB,UAAU,EAAC;EAAS,GAChBjD,UAAU,CACf,CACG,CACP,EACAc,WAAW,KAAK,WAAW,iBAC1BzC,KAAA,CAAAiE,aAAA,CAACrD,IAAI,EAAAsD,QAAA;IACH1C,KAAK,EAAE,CAAC4C,MAAM,CAACS,gBAAgB,EAAEvD,cAAc,EAAEuD,gBAAgB;EAAE,GAC/DjD,qBAAqB,GAExBqB,OAAO,EAAE6B,KAAK,EAAE7B,OAAO,iBACtBjD,KAAA,CAAAiE,aAAA,CAACvD,IAAI,EAAAwD,QAAA;IACH1C,KAAK,EAAE,CACL4C,MAAM,CAACU,KAAK,EACZ;MAAEC,KAAK,EAAEvC,KAAK,CAACwC,MAAM,CAACC;IAAY,CAAC,EACnC3D,cAAc,EAAE4D,IAAI,EACpB5D,cAAc,EAAEwD,KAAK;EACrB,GACEjD,SAAS,EACTC,UAAU,GAEbmB,OAAO,CAAC6B,KAAK,CAAC7B,OACX,CACP,EACAA,OAAO,EAAEkC,IAAI,EAAElC,OAAO,iBACrBjD,KAAA,CAAAiE,aAAA,CAACvD,IAAI,EAAAwD,QAAA;IACH1C,KAAK,EAAE,CACL4C,MAAM,CAACe,IAAI,EACX;MAAEJ,KAAK,EAAEvC,KAAK,CAACwC,MAAM,CAACC;IAAY,CAAC,EACnC3D,cAAc,EAAE4D,IAAI,EACpB5D,cAAc,EAAE6D,IAAI;EACpB,GACEtD,SAAS,EACTE,SAAS,GAEZkB,OAAO,CAACkC,IAAI,CAAClC,OACV,CACP,eACDjD,KAAA,CAAAiE,aAAA,CAACrD,IAAI,EAAAsD,QAAA;IACH1C,KAAK,EAAE,CAAC4C,MAAM,CAACgB,eAAe,EAAE9D,cAAc,EAAE8D,eAAe;EAAE,GAC7DpD,oBAAoB,GAEvBiB,OAAO,EAAEoC,OAAO,EAAEC,MAAM,IACvBrC,OAAO,EAAEoC,OAAO,EAAEC,MAAM,GAAG,CAAC,IAC5BrC,OAAO,CAACoC,OAAO,CAACE,GAAG,CAAEC,MAAM,iBACzBxF,KAAA,CAAAiE,aAAA,CAAChD,MAAM,EAAAiD,QAAA;IACLuB,GAAG,EAAED,MAAM,CAACE,EAAG;IACfxC,SAAS,EAAEsC,MAAM,CAACtC,SAAU;IAC5B4B,KAAK,EAAEU,MAAM,CAACN,IAAI,CAACjC,OAAQ;IAC3BH,OAAO,EAAEA,OAAQ;IACjBtB,KAAK,EAAEF,cAAc,EAAEkE,MAAO;IAC9BG,SAAS,EAAE,CACTrE,cAAc,EAAE4D,IAAI,EACpB5D,cAAc,EAAEsE,UAAU;EAC1B,GACE3D,WAAW,CAChB,CACF,CACC,CACF,CACP,EACAgB,OAAO,EAAE4C,UAAU,IAAI5C,OAAO,CAAC4C,UAAU,EAAErE,KAAK,KAAK,MAAM,iBAC1DxB,KAAA,CAAAiE,aAAA,CAACnD,aAAa,EAAAoD,QAAA;IACZpB,OAAO,EAAEH,SAAU;IACnBD,IAAI,EAAEO,OAAO,CAAC4C,UAAU,CAACrE;EAAM,GAC3BU,kBAAkB,CACvB,CAEC,CACG,CAAC;AAEhB,CAAC;AAED,MAAMkC,MAAM,GAAG3D,UAAU,CAACqF,MAAM,CAAC;EAC/BzB,IAAI,EAAE;IACJ0B,MAAM,EAAE,EAAE;IACVC,IAAI,EAAE;EACR,CAAC;EACDzB,SAAS,EAAE;IACT0B,aAAa,EAAE;EACjB,CAAC;EACDzB,cAAc,EAAE;IACd0B,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE;EACnB,CAAC;EACD5C,KAAK,EAAE;IACL6C,KAAK,EAAE,MAAM;IACbzB,UAAU,EAAE;EACd,CAAC;EACDC,gBAAgB,EAAE;IAChBmB,IAAI,EAAE,CAAC;IACPM,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,cAAc,EAAE;EAClB,CAAC;EACDC,WAAW,EAAE;IACXT,IAAI,EAAE,CAAC;IACPQ,cAAc,EAAE,YAAY;IAC5BE,YAAY,EAAE;EAChB,CAAC;EACD5B,KAAK,EAAE;IACL6B,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBF,YAAY,EAAE,CAAC;IACfG,WAAW,EAAE;EACf,CAAC;EACD1B,IAAI,EAAE;IACJwB,QAAQ,EAAE,EAAE;IACZG,UAAU,EAAE;EACd,CAAC;EACD1B,eAAe,EAAE;IACfa,aAAa,EAAE,KAAK;IACpBO,cAAc,EAAE,YAAY;IAC5BO,QAAQ,EAAE,MAAM;IAChBC,UAAU,EAAE,CAAC;IACbC,GAAG,EAAE;EACP,CAAC;EACDzB,MAAM,EAAE;IACN0B,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAEF,MAAM5C,gBAAgB,GAAG7D,UAAU,CAACqF,MAAM,CAAC;EACzCzB,IAAI,EAAE;IACJ8B,YAAY,EAAE,EAAE;IAChBF,aAAa,EAAE,KAAK;IACpBgB,GAAG,EAAE,CAAC;IACNE,QAAQ,EAAE,MAAM;IAChBjB,UAAU,EAAE;EACd,CAAC;EACD3B,SAAS,EAAE;IACT0B,aAAa,EAAE;EACjB,CAAC;EACDzB,cAAc,EAAE;IACd2B,YAAY,EAAE,EAAE;IAChBgB,QAAQ,EAAE,KAAK;IACfC,SAAS,EAAE;EACb,CAAC;EACD5D,KAAK,EAAE;IACLoB,UAAU,EAAE,SAAS;IACrByB,KAAK,EAAE,MAAM;IACbc,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]} diff --git a/packages/messaging/dist/typescript/Messaging.d.ts.map b/packages/messaging/dist/typescript/Messaging.d.ts.map index 47da8cb8..5898f83a 100644 --- a/packages/messaging/dist/typescript/Messaging.d.ts.map +++ b/packages/messaging/dist/typescript/Messaging.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Messaging.d.ts","sourceRoot":"","sources":["../../src/Messaging.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Messaging.d.ts","sourceRoot":"","sources":["../../src/Messaging.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/messaging/src/Messaging.ts b/packages/messaging/src/Messaging.ts index 45467049..4233424b 100644 --- a/packages/messaging/src/Messaging.ts +++ b/packages/messaging/src/Messaging.ts @@ -105,8 +105,19 @@ class Messaging { static async getPropositionsForSurfaces( surfaces: string[] ): Promise> { - return await RCTAEPMessaging.getPropositionsForSurfaces(surfaces); + + const propositionsList = await RCTAEPMessaging.getPropositionsForSurfaces(surfaces); + let messagingPropositionsForSurfaces: Record = {}; + + for (const [surface, propositions] of Object.entries(propositionsList)) { + messagingPropositionsForSurfaces[surface] = propositions.map( + (proposition) => new MessagingProposition(proposition) + ); + } + + return messagingPropositionsForSurfaces; } + /** * @deprecated Use PropositionItem.track(...) instead. */ @@ -246,7 +257,6 @@ class Messaging { return []; } const contentCards = propositions - .map((proposition) => new MessagingProposition(proposition)) .flatMap((proposition) => proposition.items.filter( (item) => item.schema === PersonalizationSchema.CONTENT_CARD diff --git a/packages/messaging/src/ui/components/ContentCardView/ContentCardView.tsx b/packages/messaging/src/ui/components/ContentCardView/ContentCardView.tsx index 3141f344..34636f02 100644 --- a/packages/messaging/src/ui/components/ContentCardView/ContentCardView.tsx +++ b/packages/messaging/src/ui/components/ContentCardView/ContentCardView.tsx @@ -79,7 +79,6 @@ export const ContentCardView: React.FC = ({ DismissButtonProps, ...props }) => { - console.log('ContentCardView', template); const colorScheme = useColorScheme(); const [isVisible, setIsVisible] = useState(true); const isDisplayedRef = useRef(false); @@ -117,16 +116,6 @@ export const ContentCardView: React.FC = ({ } }, [template]); - // Call listener on mount to signal view display (only once to prevent duplicates) - useEffect(() => { - if (!isDisplayedRef.current) { - listener?.('onDisplay', template); - // Track display event using propositionItem - template.track?.(MessagingEdgeEventType.DISPLAY); - isDisplayedRef.current = true; - } - }, [listener, template]); - const imageUri = useMemo(() => { if (colorScheme === 'dark' && template.data?.content?.image?.darkUrl) { return template.data.content.image.darkUrl; @@ -140,17 +129,6 @@ export const ContentCardView: React.FC = ({ const imageAspectRatio = useAspectRatio(imageUri); - // If not visible, return null to hide the entire view - if (!isVisible) { - return null; - } - - if (!template.data) return null; - - const content = template?.data?.content as any; - - if (!content) return null; - const styleOverrides = useMemo< | (SmallImageContentStyle & LargeImageContentStyle & ImageOnlyContentStyle) | null @@ -167,6 +145,27 @@ export const ContentCardView: React.FC = ({ } }, [_styleOverrides, cardVariant]); + // Call listener on mount to signal view display (only once to prevent duplicates) + useEffect(() => { + if (!isDisplayedRef.current) { + listener?.('onDisplay', template); + // Track display event using propositionItem + template.track?.(MessagingEdgeEventType.DISPLAY); + isDisplayedRef.current = true; + } + }, [listener, template]); + + // All validation checks after ALL hooks are called + if (!isVisible) { + return null; + } + + if (!template.data) return null; + + const content = template?.data?.content as any; + + if (!content) return null; + return ( { return Object.setPrototypeOf( diff --git a/yarn.lock b/yarn.lock index 03a9bfa0..112e6ab6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5141,7 +5141,7 @@ __metadata: languageName: node linkType: hard -"@react-navigation/core@npm:^7.12.4, @react-navigation/core@npm:^7.9.1": +"@react-navigation/core@npm:^7.12.4": version: 7.12.4 resolution: "@react-navigation/core@npm:7.12.4" dependencies: @@ -5245,19 +5245,19 @@ __metadata: languageName: node linkType: hard -"@react-navigation/native@npm:7.1.8": - version: 7.1.8 - resolution: "@react-navigation/native@npm:7.1.8" +"@react-navigation/native@npm:7.1.17, @react-navigation/native@npm:^7.0.14": + version: 7.1.17 + resolution: "@react-navigation/native@npm:7.1.17" dependencies: - "@react-navigation/core": "npm:^7.9.1" + "@react-navigation/core": "npm:^7.12.4" escape-string-regexp: "npm:^4.0.0" fast-deep-equal: "npm:^3.1.3" nanoid: "npm:^3.3.11" - use-latest-callback: "npm:^0.2.3" + use-latest-callback: "npm:^0.2.4" peerDependencies: react: ">= 18.2.0" react-native: "*" - checksum: 10c0/61cc791daa7944bea20c92cc4f6109e38247926938cffa8a9715e4739f2c0db52671e7337ee3dd0178e0a0c7dfe63f30e40cdfec01f1c55298adb4f684c8bc37 + checksum: 10c0/2f560a508cb10261ce70eca3b77940f69c0bfdb08b551117cce41ab12a3ed8f869b9cf5048bb6f0c40e39293398c26e2d393cdfcab38d1d7c45732021cd8b2be languageName: node linkType: hard @@ -5276,22 +5276,6 @@ __metadata: languageName: node linkType: hard -"@react-navigation/native@npm:^7.0.14": - version: 7.1.17 - resolution: "@react-navigation/native@npm:7.1.17" - dependencies: - "@react-navigation/core": "npm:^7.12.4" - escape-string-regexp: "npm:^4.0.0" - fast-deep-equal: "npm:^3.1.3" - nanoid: "npm:^3.3.11" - use-latest-callback: "npm:^0.2.4" - peerDependencies: - react: ">= 18.2.0" - react-native: "*" - checksum: 10c0/2f560a508cb10261ce70eca3b77940f69c0bfdb08b551117cce41ab12a3ed8f869b9cf5048bb6f0c40e39293398c26e2d393cdfcab38d1d7c45732021cd8b2be - languageName: node - linkType: hard - "@react-navigation/routers@npm:7.3.7": version: 7.3.7 resolution: "@react-navigation/routers@npm:7.3.7" @@ -6112,7 +6096,7 @@ __metadata: "@react-navigation/bottom-tabs": "npm:7.3.12" "@react-navigation/core": "npm:7.9.1" "@react-navigation/drawer": "npm:7.3.11" - "@react-navigation/native": "npm:7.1.8" + "@react-navigation/native": "npm:7.1.17" "@react-navigation/native-stack": "npm:^7.3.1" "@react-navigation/routers": "npm:7.3.7" "@react-navigation/stack": "npm:7.3.1"