Shadow refactoring and improvements (#1959)
* Make shadow a type-only concept * Prevent unnecessary init state recalc * Use derived state instead of effects * Batch emitter updates * Use object first seen time instead of dataUpdatedAt * Stop threading dataUpdatedAt through * Use same value consistently
This commit is contained in:
parent
f18b9b32b0
commit
4c4ba553bd
27 changed files with 115 additions and 203 deletions
|
@ -38,7 +38,6 @@ export function Feed({
|
|||
const {markAllRead} = useUnreadNotificationsApi()
|
||||
const {
|
||||
data,
|
||||
dataUpdatedAt,
|
||||
isLoading,
|
||||
isFetching,
|
||||
isFetched,
|
||||
|
@ -132,15 +131,9 @@ export function Feed({
|
|||
} else if (item === LOADING_ITEM) {
|
||||
return <NotificationFeedLoadingPlaceholder />
|
||||
}
|
||||
return (
|
||||
<FeedItem
|
||||
item={item}
|
||||
dataUpdatedAt={dataUpdatedAt}
|
||||
moderationOpts={moderationOpts!}
|
||||
/>
|
||||
)
|
||||
return <FeedItem item={item} moderationOpts={moderationOpts!} />
|
||||
},
|
||||
[onPressRetryLoadMore, dataUpdatedAt, moderationOpts],
|
||||
[onPressRetryLoadMore, moderationOpts],
|
||||
)
|
||||
|
||||
const showHeaderSpinner = !isPTRing && isFetching && !isLoading
|
||||
|
|
|
@ -58,11 +58,9 @@ interface Author {
|
|||
|
||||
let FeedItem = ({
|
||||
item,
|
||||
dataUpdatedAt,
|
||||
moderationOpts,
|
||||
}: {
|
||||
item: FeedNotification
|
||||
dataUpdatedAt: number
|
||||
moderationOpts: ModerationOpts
|
||||
}): React.ReactNode => {
|
||||
const pal = usePalette('default')
|
||||
|
@ -135,7 +133,6 @@ let FeedItem = ({
|
|||
accessible={false}>
|
||||
<Post
|
||||
post={item.subject}
|
||||
dataUpdatedAt={dataUpdatedAt}
|
||||
style={
|
||||
item.notification.isRead
|
||||
? undefined
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue