Skip to content

Commit

Permalink
feat: update postEarned to postReward in relevant files
Browse files Browse the repository at this point in the history
  • Loading branch information
teodorus-nathaniel committed Jan 12, 2024
1 parent 893445f commit e70647c
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import clsx from 'clsx'
import { ComponentProps } from 'react'
import { TbCoins } from 'react-icons/tb'
import { FormatBalance } from 'src/components/common/balances'
import { useSelectPostEarned } from 'src/rtk/features/activeStaking/hooks'
import { useSelectPostReward } from 'src/rtk/features/activeStaking/hooks'

export type PostEarnedStatProps = ComponentProps<'div'> & { postId: string }
export type PostRewardStatProps = ComponentProps<'div'> & { postId: string }

export default function PostEarnedStat({ postId, ...props }: PostEarnedStatProps) {
const postEarn = useSelectPostEarned(postId)
if (!postEarn?.hasEarned) return null
export default function PostRewardStat({ postId, ...props }: PostRewardStatProps) {
const postEarn = useSelectPostReward(postId)
if (!postEarn?.isNotZero) return null

return (
<div
Expand All @@ -26,7 +26,7 @@ export default function PostEarnedStat({ postId, ...props }: PostEarnedStatProps
decimals={10}
precision={2}
withMutedDecimals={false}
value={postEarn.earned}
value={postEarn.amount}
/>
</span>
</div>
Expand Down
4 changes: 2 additions & 2 deletions src/components/posts/view-post/helpers.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import ViewTags from '../../utils/ViewTags'
import Embed from '../embed/Embed'
import ViewPostLink from '../ViewPostLink'
import { PostDropDownMenu } from './PostDropDownMenu'
import PostEarnedStat from './PostEarnedStat'
import PostRewardStat from './PostRewardStat'
import TwitterPost from './TwitterPost'

type IsUnlistedPostProps = {
Expand Down Expand Up @@ -298,7 +298,7 @@ export const PostActionsPanel: FC<PostActionsPanelProps> = props => {
return (
<div className={`DfActionsPanel ${withBorder && 'DfActionBorder'} ${className ?? ''}`}>
<ReactionsAction />
<PostEarnedStat postId={postDetails.id} />
<PostRewardStat postId={postDetails.id} />
{/* <ShareDropdown postDetails={postDetails} space={space} className='DfAction' /> */}
</div>
)
Expand Down
28 changes: 14 additions & 14 deletions src/components/utils/datahub/super-likes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
fetchAddressLikeCounts,
} from 'src/rtk/features/activeStaking/addressLikeCountSlice'
import { CanPostSuperLiked } from 'src/rtk/features/activeStaking/canPostSuperLikedSlice'
import { PostEarned } from 'src/rtk/features/activeStaking/postEarnedSlice'
import { PostRewards } from 'src/rtk/features/activeStaking/postRewardSlice'
import { RewardHistory } from 'src/rtk/features/activeStaking/rewardHistorySlice'
import { fetchRewardReport, RewardReport } from 'src/rtk/features/activeStaking/rewardReportSlice'
import {
Expand Down Expand Up @@ -65,38 +65,38 @@ export async function getSuperLikeCounts(postIds: string[]): Promise<SuperLikeCo
return postIds.map(postId => resultMap.get(postId) ?? { postId, count: 0 })
}

const GET_POST_EARNED = gql`
query GetPostEarned($postIds: [String!]!) {
activeStakingPostEarned(args: { postPersistentIds: $postIds }) {
const GET_POST_REWARDS = gql`
query GetPostRewards($postIds: [String!]!) {
activeStakingRewardsByPosts(args: { postPersistentIds: $postIds }) {
persistentPostId
earned
amount
}
}
`
export async function getPostEarned(postIds: string[]): Promise<PostEarned[]> {
export async function getPostRewards(postIds: string[]): Promise<PostRewards[]> {
const res = await datahubQueryRequest<
{
activeStakingPostEarned: {
activeStakingRewardsByPosts: {
persistentPostId: string
earned: string
amount: string
}[]
},
{ postIds: string[] }
>({
document: GET_POST_EARNED,
document: GET_POST_REWARDS,
variables: { postIds },
})

const resultMap = new Map<string, PostEarned>()
res.activeStakingPostEarned.forEach(item =>
const resultMap = new Map<string, PostRewards>()
res.activeStakingRewardsByPosts.forEach(item =>
resultMap.set(item.persistentPostId, {
postId: item.persistentPostId,
earned: item.earned,
hasEarned: BigInt(item.earned) > 0,
amount: item.amount,
isNotZero: BigInt(item.amount) > 0,
}),
)

return postIds.map(postId => resultMap.get(postId) ?? { postId, earned: '0', hasEarned: false })
return postIds.map(postId => resultMap.get(postId) ?? { postId, amount: '0', isNotZero: false })
}

const GET_ADDRESS_LIKE_COUNT_TO_POSTS = gql`
Expand Down
4 changes: 2 additions & 2 deletions src/rtk/app/rootReducer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import myAccount from '../features/accounts/myAccountSlice'
import spaceEditors from '../features/accounts/spaceEditorsSlice'
import addressLikeCount from '../features/activeStaking/addressLikeCountSlice'
import canPostSuperLiked from '../features/activeStaking/canPostSuperLikedSlice'
import postEarned from '../features/activeStaking/postEarnedSlice'
import postReward from '../features/activeStaking/postRewardSlice'
import rewardHistory from '../features/activeStaking/rewardHistorySlice'
import rewardReport from '../features/activeStaking/rewardReportSlice'
import superLikeCounts from '../features/activeStaking/superLikeCountsSlice'
Expand Down Expand Up @@ -66,7 +66,7 @@ const rootReducer = combineReducers({
rewardReport,
rewardHistory,
canPostSuperLiked,
postEarned,
postReward,
})

export type RootState = ReturnType<typeof rootReducer>
Expand Down
6 changes: 3 additions & 3 deletions src/rtk/features/activeStaking/hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
selectAddressLikeCount,
} from './addressLikeCountSlice'
import { selectCanPostSuperLiked } from './canPostSuperLikedSlice'
import { selectPostEarned } from './postEarnedSlice'
import { selectPostReward } from './postRewardSlice'
import { fetchRewardHistory, selectUserRewardHistory } from './rewardHistorySlice'
import { fetchRewardReport, selectUserRewardReport } from './rewardReportSlice'
import { selectPostSuperLikeCount } from './superLikeCountsSlice'
Expand Down Expand Up @@ -77,6 +77,6 @@ export function useFetchUserRewardHistory(address?: string, config?: { enabled?:
}
}

export function useSelectPostEarned(postId: string) {
return useAppSelector(state => selectPostEarned(state, postId))
export function useSelectPostReward(postId: string) {
return useAppSelector(state => selectPostReward(state, postId))
}
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'
import { getPostEarned } from 'src/components/utils/datahub/super-likes'
import { getPostRewards } from 'src/components/utils/datahub/super-likes'
import { RootState } from 'src/rtk/app/rootReducer'
import { createSimpleManyFetchWrapper } from 'src/rtk/app/wrappers'

export type PostEarned = {
export type PostRewards = {
postId: string
earned: string
hasEarned: boolean
amount: string
isNotZero: boolean
}

const sliceName = 'postEarned'
const sliceName = 'postRewards'

const adapter = createEntityAdapter<PostEarned>({
const adapter = createEntityAdapter<PostRewards>({
selectId: data => data.postId,
})
const selectors = adapter.getSelectors<RootState>(state => state.postEarned)
const selectors = adapter.getSelectors<RootState>(state => state.postReward)

export const selectPostEarned = selectors.selectById
export const selectPostReward = selectors.selectById

export const fetchPostEarned = createSimpleManyFetchWrapper<{ postIds: string[] }, PostEarned>({
export const fetchPostRewards = createSimpleManyFetchWrapper<{ postIds: string[] }, PostRewards>({
sliceName,
fetchData: async function ({ postIds }) {
return await getPostEarned(postIds)
return await getPostRewards(postIds)
},
getCachedData: (state, id) => selectPostEarned(state, id),
saveToCacheAction: data => slice.actions.setPostEarned(data),
getCachedData: (state, id) => selectPostReward(state, id),
saveToCacheAction: data => slice.actions.setPostRewards(data),
shouldFetchCondition: ({ postIds }) => postIds?.length !== 0,
filterNewArgs: ({ postIds }, isNewId) => {
const newPostIds = postIds?.filter(postId => isNewId(postId))
Expand All @@ -36,7 +36,7 @@ const slice = createSlice({
name: sliceName,
initialState: adapter.getInitialState(),
reducers: {
setPostEarned: adapter.upsertMany,
setPostRewards: adapter.upsertMany,
},
})

Expand Down
4 changes: 2 additions & 2 deletions src/rtk/features/posts/postsSlice.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import {
} from 'src/types'
import { fetchAddressLikeCounts } from '../activeStaking/addressLikeCountSlice'
import { fetchCanPostsSuperLiked } from '../activeStaking/canPostSuperLikedSlice'
import { fetchPostEarned } from '../activeStaking/postEarnedSlice'
import { fetchPostRewards } from '../activeStaking/postRewardSlice'
import { fetchSuperLikeCounts } from '../activeStaking/superLikeCountsSlice'
import { Content, fetchContents, selectPostContentById } from '../contents/contentsSlice'
import { fetchProfileSpaces } from '../profiles/profilesSlice'
Expand Down Expand Up @@ -340,7 +340,7 @@ export const fetchPosts = createAsyncThunk<PostStruct[], FetchPostsArgs, ThunkAp
}),
)
dispatch(fetchSuperLikeCounts({ postIds: newIds }))
dispatch(fetchPostEarned({ postIds: newIds }))
dispatch(fetchPostRewards({ postIds: newIds }))
dispatch(fetchCanPostsSuperLiked({ postIds: newIds }))

withReactionByAccount &&
Expand Down

0 comments on commit e70647c

Please sign in to comment.