Skip to content

Commit fa804eb

Browse files
committed
fix: add missing live positions
1 parent f997144 commit fa804eb

5 files changed

Lines changed: 37 additions & 5 deletions

File tree

app/components/UI/Predict/components/PredictPicks/PredictPicksForCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ const PredictPicksForCard: React.FC<PredictPicksForCardProps> = ({
3232
}) => {
3333
const { data: fetchedPositions = [] } = usePredictPositions({
3434
marketId,
35-
refetchInterval: positionsProp ? undefined : 10000,
3635
enabled: !positionsProp,
36+
livePriceUpdates: !positionsProp,
3737
});
3838

3939
const basePositions = positionsProp ?? fetchedPositions;

app/components/UI/Predict/components/PredictPositionsHeader/PredictPositionsHeader.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,10 @@ const PredictPositionsHeader = forwardRef<
9494
const evmAccount = getEvmAccountFromSelectedAccountGroup();
9595
const selectedAddress = evmAccount?.address ?? '0x0';
9696
const { isDepositPending } = usePredictDeposit();
97-
const { data: activePositions } = usePredictPositions({ claimable: false });
97+
const { data: activePositions } = usePredictPositions({
98+
claimable: false,
99+
livePriceUpdates: true,
100+
});
98101
const { data: claimablePositions = [] } = usePredictPositions({
99102
claimable: true,
100103
});

app/components/UI/Predict/components/PredictSportCardFooter/PredictSportCardFooter.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const PredictSportCardFooter: React.FC<PredictSportCardFooterProps> = ({
5353
const { data: positions = [], isLoading } = usePredictPositions({
5454
marketId: market.id,
5555
claimable: false,
56-
refetchInterval: 10000,
56+
livePriceUpdates: true,
5757
});
5858

5959
const { data: claimablePositions = [] } = usePredictPositions({

app/components/Views/Homepage/Sections/Predictions/hooks/usePredictPositionsForHomepage.test.ts

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { usePredictPositionsForHomepage } from './usePredictPositionsForHomepage
33
import type { PredictPosition } from '../../../../../UI/Predict/types';
44

55
const mockRefetch = jest.fn().mockResolvedValue(undefined);
6+
const mockUsePredictPositions = jest.fn();
67
let mockUsePredictPositionsReturn: {
78
data: PredictPosition[] | undefined;
89
isLoading: boolean;
@@ -16,7 +17,12 @@ let mockUsePredictPositionsReturn: {
1617
};
1718

1819
jest.mock('../../../../../UI/Predict/hooks/usePredictPositions', () => ({
19-
usePredictPositions: () => mockUsePredictPositionsReturn,
20+
usePredictPositions: (
21+
...args: Parameters<typeof mockUsePredictPositions>
22+
) => {
23+
mockUsePredictPositions(...args);
24+
return mockUsePredictPositionsReturn;
25+
},
2026
}));
2127

2228
const createMockPosition = (id: string, currentValue = 12): PredictPosition =>
@@ -36,6 +42,7 @@ const createMockPosition = (id: string, currentValue = 12): PredictPosition =>
3642
describe('usePredictPositionsForHomepage', () => {
3743
beforeEach(() => {
3844
jest.clearAllMocks();
45+
mockUsePredictPositions.mockClear();
3946
mockUsePredictPositionsReturn = {
4047
data: [
4148
createMockPosition('1'),
@@ -157,6 +164,28 @@ describe('usePredictPositionsForHomepage', () => {
157164
expect(result.current.totalClaimableValue).toBe(0);
158165
});
159166

167+
it('enables live updates for active positions', () => {
168+
renderHook(() => usePredictPositionsForHomepage({ claimable: false }));
169+
170+
expect(mockUsePredictPositions).toHaveBeenCalledWith(
171+
expect.objectContaining({
172+
claimable: false,
173+
livePriceUpdates: true,
174+
}),
175+
);
176+
});
177+
178+
it('disables live updates for claimable positions', () => {
179+
renderHook(() => usePredictPositionsForHomepage({ claimable: true }));
180+
181+
expect(mockUsePredictPositions).toHaveBeenCalledWith(
182+
expect.objectContaining({
183+
claimable: true,
184+
livePriceUpdates: false,
185+
}),
186+
);
187+
});
188+
160189
it('treats undefined currentValue as 0 in totalClaimableValue sum', () => {
161190
mockUsePredictPositionsReturn.data = [
162191
{

app/components/Views/Homepage/Sections/Predictions/hooks/usePredictPositionsForHomepage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export const usePredictPositionsForHomepage = (
3232
const { data, isLoading, error, refetch } = usePredictPositions({
3333
claimable,
3434
enabled,
35-
livePriceUpdates: true,
35+
livePriceUpdates: !claimable,
3636
});
3737

3838
const allPositions = useMemo(() => data ?? [], [data]);

0 commit comments

Comments
 (0)