Skip to content

Commit 06efe7e

Browse files
VGR-GITclaude
andcommitted
chore(rewards): consolidate ondo_winning_banner into ondo_outcome_banner.winner_pending
Co-authored-by: VGR-GIT <vangulckrik@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 9309190 commit 06efe7e

3 files changed

Lines changed: 31 additions & 11 deletions

File tree

app/components/UI/Rewards/Views/OndoCampaignDetailsView.test.tsx

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { useGetOndoLeaderboard } from '../hooks/useGetOndoLeaderboard';
1616
import { useGetOndoLeaderboardPosition } from '../hooks/useGetOndoLeaderboardPosition';
1717
import { useGetOndoPortfolioPosition } from '../hooks/useGetOndoPortfolioPosition';
1818
import { useGetOndoCampaignDeposits } from '../hooks/useGetOndoCampaignDeposits';
19+
import { useOndoCampaignParticipantOutcome } from '../hooks/useOndoCampaignParticipantOutcome';
1920
import Routes from '../../../../constants/navigation/Routes';
2021

2122
const mockGoBack = jest.fn();
@@ -278,6 +279,11 @@ jest.mock('../hooks/useOndoCampaignParticipantOutcome', () => ({
278279
})),
279280
}));
280281

282+
const mockUseOndoCampaignParticipantOutcome =
283+
useOndoCampaignParticipantOutcome as jest.MockedFunction<
284+
typeof useOndoCampaignParticipantOutcome
285+
>;
286+
281287
const mockOndoPrizePool = jest.fn();
282288
jest.mock('../components/Campaigns/OndoPrizePool', () => {
283289
const ReactActual = jest.requireActual('react');
@@ -575,6 +581,11 @@ describe('OndoCampaignDetailsView', () => {
575581
hasError: false,
576582
refetch: jest.fn(),
577583
});
584+
mockUseOndoCampaignParticipantOutcome.mockReturnValue({
585+
outcome: null,
586+
isLoading: false,
587+
hasError: false,
588+
});
578589
mockOndoPrizePool.mockReset();
579590
});
580591

@@ -1297,6 +1308,15 @@ describe('OndoCampaignDetailsView', () => {
12971308
hasFetched: true,
12981309
refetch: jest.fn(),
12991310
});
1311+
mockUseOndoCampaignParticipantOutcome.mockReturnValue({
1312+
outcome: {
1313+
subscriptionId: 'sub-1',
1314+
outcomeStatus: 'pending',
1315+
winnerVerificationCode: 'LVL346',
1316+
},
1317+
isLoading: false,
1318+
hasError: false,
1319+
});
13001320
};
13011321

13021322
it('auto-navigates to winning view on focus when user is a winner and campaign is complete', () => {
@@ -1362,7 +1382,7 @@ describe('OndoCampaignDetailsView', () => {
13621382
it('shows the winner banner in the stats section when user is a winner and campaign is complete', () => {
13631383
setupWinner();
13641384
const { getByText } = render(<OndoCampaignDetailsView />);
1365-
expect(getByText('rewards.ondo_winning_banner.title')).toBeDefined();
1385+
expect(getByText('rewards.ondo_outcome_banner.winner_pending.title')).toBeDefined();
13661386
});
13671387

13681388
it('does not show the winner banner when user is not a winner', () => {
@@ -1391,14 +1411,14 @@ describe('OndoCampaignDetailsView', () => {
13911411
refetch: jest.fn(),
13921412
});
13931413
const { queryByText } = render(<OndoCampaignDetailsView />);
1394-
expect(queryByText('rewards.ondo_winning_banner.title')).toBeNull();
1414+
expect(queryByText('rewards.ondo_outcome_banner.winner_pending.title')).toBeNull();
13951415
});
13961416

13971417
it('tapping the winner banner navigates to the winning view', () => {
13981418
setupWinner();
13991419
mockNavigate.mockClear();
14001420
const { getByLabelText } = render(<OndoCampaignDetailsView />);
1401-
fireEvent.press(getByLabelText('rewards.ondo_winning_banner.a11y'));
1421+
fireEvent.press(getByLabelText('rewards.ondo_outcome_banner.winner_pending.a11y'));
14021422
expect(mockNavigate).toHaveBeenCalledWith(
14031423
Routes.REWARDS_ONDO_CAMPAIGN_WINNING_VIEW,
14041424
{ campaignId: 'campaign-1', campaignName: 'Test Campaign' },

app/components/UI/Rewards/Views/OndoCampaignDetailsView.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ interface WinnerPendingBannerProps {
8989
const WinnerPendingBanner = React.memo<WinnerPendingBannerProps>(
9090
({ campaignName, onPress }) => (
9191
<Pressable
92-
accessibilityLabel={strings('rewards.ondo_winning_banner.a11y')}
92+
accessibilityLabel={strings('rewards.ondo_outcome_banner.winner_pending.a11y')}
9393
onPress={onPress}
9494
>
9595
<Box
@@ -100,10 +100,10 @@ const WinnerPendingBanner = React.memo<WinnerPendingBannerProps>(
100100
<TrophyIcon width={20} height={20} />
101101
<Box twClassName="flex-1 gap-0.5">
102102
<Text variant={TextVariant.BodyMd} fontWeight={FontWeight.Medium}>
103-
{strings('rewards.ondo_winning_banner.title', { campaignName })}
103+
{strings('rewards.ondo_outcome_banner.winner_pending.title', { campaignName })}
104104
</Text>
105105
<Text variant={TextVariant.BodySm} color={TextColor.TextAlternative}>
106-
{strings('rewards.ondo_winning_banner.description')}
106+
{strings('rewards.ondo_outcome_banner.winner_pending.description')}
107107
</Text>
108108
</Box>
109109
<Icon

locales/languages/en.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8275,11 +8275,6 @@
82758275
"retry_button": "Retry",
82768276
"refreshing": "Refreshing..."
82778277
},
8278-
"ondo_winning_banner": {
8279-
"title": "You won the {{campaignName}}",
8280-
"description": "Claim your prize today.",
8281-
"a11y": "Open winner details"
8282-
},
82838278
"ondo_campaign_winning": {
82848279
"you_won": "You won",
82858280
"rank_label": "{{place}} place",
@@ -8292,6 +8287,11 @@
82928287
"close_a11y": "Close"
82938288
},
82948289
"ondo_outcome_banner": {
8290+
"winner_pending": {
8291+
"title": "You won the {{campaignName}}",
8292+
"description": "Claim your prize today.",
8293+
"a11y": "Open winner details"
8294+
},
82958295
"participant_pending": {
82968296
"title": "Determining winners",
82978297
"description": "We're still determining the winners."

0 commit comments

Comments
 (0)