Skip to content

Commit e77efb8

Browse files
authored
fix: unwrap FeedApiItem before using as Post in cache updates (#5839)
1 parent e961f1e commit e77efb8

2 files changed

Lines changed: 21 additions & 7 deletions

File tree

packages/shared/src/hooks/translation/useTranslation.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import type {
1010
TranslateablePostField,
1111
} from '../../graphql/posts';
1212
import { PostType } from '../../graphql/posts';
13+
import { getFeedApiItemPost } from '../../graphql/feed';
1314
import {
1415
updateCachedPagePost,
1516
findIndexOfPostInData,
@@ -173,11 +174,19 @@ export const useTranslation: UseTranslation = ({
173174
true,
174175
);
175176
if (index > -1) {
177+
const post = getFeedApiItemPost(
178+
feedData.pages[pageIndex].page.edges[index].node,
179+
);
180+
181+
if (!post) {
182+
return;
183+
}
184+
176185
updatePost(
177186
pageIndex,
178187
index,
179188
updateTranslation({
180-
post: feedData.pages[pageIndex].page.edges[index].node,
189+
post,
181190
translation: translatedPost,
182191
}),
183192
);

packages/shared/src/hooks/usePoll.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react';
22
import type { InfiniteData } from '@tanstack/react-query';
33
import { useMutation, useQueryClient } from '@tanstack/react-query';
44
import type { Ad, FeedData, Post } from '../graphql/posts';
5+
import { getFeedApiItemPost } from '../graphql/feed';
56
import { votePoll } from '../graphql/posts';
67
import {
78
findIndexOfPostInData,
@@ -67,12 +68,16 @@ const usePoll = ({ post }: { post: Post }) => {
6768
);
6869

6970
if (pageIndex > -1 && index > -1) {
70-
const currentPost = feedData.pages[pageIndex].page.edges[index].node;
71-
const updatedPost = {
72-
...currentPost,
73-
...postUpdate,
74-
};
75-
updateFeed(pageIndex, index, updatedPost);
71+
const currentPost = getFeedApiItemPost(
72+
feedData.pages[pageIndex].page.edges[index].node,
73+
);
74+
75+
if (currentPost) {
76+
updateFeed(pageIndex, index, {
77+
...currentPost,
78+
...postUpdate,
79+
});
80+
}
7681
}
7782
}
7883

0 commit comments

Comments
 (0)