Skip to content

feat(predict): cp-7.63.0 add Predict Superbowl sport card to wallet Carousel#25062

Merged
matallui merged 10 commits intomainfrom
predict/superbowl-banner
Jan 23, 2026
Merged

feat(predict): cp-7.63.0 add Predict Superbowl sport card to wallet Carousel#25062
matallui merged 10 commits intomainfrom
predict/superbowl-banner

Conversation

@caieu
Copy link
Copy Markdown
Contributor

@caieu caieu commented Jan 22, 2026

Description

This PR integrates the Predict Superbowl sport card into the wallet home Carousel component. When a predict-superbowl slide is configured in Contentful with a valid marketId, the Carousel renders a PredictMarketSportCardWrapper instead of the standard carousel cards.

Key changes:

  • Added PredictMarketSportCardWrapper component that fetches market data and renders PredictMarketSportCard
  • Added metadata field to CarouselSlide type to support passing marketId
  • Added CAROUSEL entry point for Predict navigation tracking
  • Modified PredictSportCardFooter to navigate through PREDICT.ROOT when accessed from Carousel
  • Added close button functionality to PredictMarketSportCard for dismissing the banner
  • Added comprehensive unit tests for all new components and integration

Changelog

CHANGELOG entry: null

Related issues

Fixes:

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

https://www.loom.com/share/232ede925eef4c75ab9e322573d03363

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Integrates Predict Super Bowl content into the wallet carousel based on Contentful configuration.

  • Adds metadata to CarouselSlide and maps it from Contentful to extract marketId
  • In Carousel, detects predict-superbowl slides, hides them from regular cards, and renders PredictMarketSportCardWrapper directly with entryPoint = CAROUSEL; supports dismiss via Redux and tracks "Banner Display" on load
  • Introduces PredictMarketSportCardWrapper to fetch market data and call optional onLoad; PredictMarketSportCard now supports an optional close button
  • Updates PredictSportCardFooter to navigate through Routes.PREDICT.ROOT when entryPoint is CAROUSEL
  • Adds PREDICT_SUPERBOWL_VARIABLE_NAME, PredictCarouselMetadata, and extends PredictEntryPoint with CAROUSEL
  • Comprehensive unit tests added for carousel integration, card wrapper, card close button, and footer navigation

Written by Cursor Bugbot for commit 2ebd877. This will update automatically on new commits. Configure here.

@github-actions
Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-predict Predict team label Jan 22, 2026
@caieu caieu changed the title feat(predict): add Predict Superbowl sport card to wallet Carousel feat(predict): cp-7.63.0 add Predict Superbowl sport card to wallet Carousel Jan 22, 2026
@caieu caieu marked this pull request as ready for review January 22, 2026 19:53
@caieu caieu requested a review from a team as a code owner January 22, 2026 19:53
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokePredictions, SmokeWalletPlatform
  • Risk Level: medium
  • AI Confidence: 80%
click to see 🤖 AI reasoning details

This PR adds a Predict Superbowl integration to the Carousel component on the main Wallet screen. The changes include:

  1. Carousel Component: Modified to detect and render a special "predict-superbowl" slide using PredictMarketSportCardWrapper instead of regular carousel slides when a valid marketId is present in metadata.

  2. New PredictMarketSportCardWrapper: A new wrapper component that fetches market data via usePredictMarket hook and renders the sport card with dismiss functionality.

  3. PredictMarketSportCard: Added onDismiss prop and close button for dismissing the card from the carousel.

  4. PredictSportCardFooter: Added special navigation handling for CAROUSEL entry point - navigates through Routes.PREDICT.ROOT first since the carousel is outside the Predict navigator.

  5. New types and constants: Added PREDICT_SUPERBOWL_VARIABLE_NAME, PredictCarouselMetadata, and CAROUSEL entry point type.

The Carousel is rendered on the main Wallet view (app/components/Views/Wallet/index.tsx), making this a user-facing change. The integration creates a new entry point for Predictions from the wallet home screen.

Selected Tags Rationale:

  • SmokePredictions: Directly tests Polymarket prediction market integration, which is the core feature being integrated into the carousel. The navigation flow to buy preview and market interactions should be validated.
  • SmokeWalletPlatform: The Carousel is part of the wallet home screen experience. Changes to how content is displayed on the wallet home could affect the overall wallet platform functionality.

The risk is medium because:

  • Changes are UI-focused with no core engine/controller modifications
  • Comprehensive unit tests are included for all new components
  • The feature is behind a feature flag (carousel banners enabled)
  • Navigation changes are isolated to the new CAROUSEL entry point

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Contributor

@matallui matallui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Let's wait on @Montoya and team to review as well.

@matallui matallui added this pull request to the merge queue Jan 23, 2026
@matallui matallui removed this pull request from the merge queue due to a manual request Jan 23, 2026
@matallui matallui added this pull request to the merge queue Jan 23, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 23, 2026
@matallui matallui added this pull request to the merge queue Jan 23, 2026
Merged via the queue into main with commit 67f890f Jan 23, 2026
86 checks passed
@matallui matallui deleted the predict/superbowl-banner branch January 23, 2026 22:04
@github-actions github-actions bot locked and limited conversation to collaborators Jan 23, 2026
@metamaskbot metamaskbot added the release-7.65.0 Issue or pull request that will be included in release 7.65.0 label Jan 23, 2026
@metamaskbot metamaskbot added release-7.64.0 Issue or pull request that will be included in release 7.64.0 and removed release-7.65.0 Issue or pull request that will be included in release 7.65.0 labels Feb 3, 2026
@metamaskbot
Copy link
Copy Markdown
Collaborator

Missing release label release-7.64.0 on PR. Adding release label release-7.64.0 on PR and removing other release labels(release-7.65.0), as PR was added to branch 7.64.0 when release was cut.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.64.0 Issue or pull request that will be included in release 7.64.0 size-L team-predict Predict team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants