diff options
author | crupest <crupest@outlook.com> | 2021-02-13 21:55:47 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-02-13 21:55:47 +0800 |
commit | c7a3813b8c64152e91fdd0f99e8f0baf0fef4678 (patch) | |
tree | d73f7a3e95bbd918ddbf1602fb1b429bb7d6d9cf /FrontEnd/src/app/views/timeline-common/Timeline.tsx | |
parent | a39b1d690632f336ac5d73186200e393ff241ac0 (diff) | |
download | timeline-c7a3813b8c64152e91fdd0f99e8f0baf0fef4678.tar.gz timeline-c7a3813b8c64152e91fdd0f99e8f0baf0fef4678.tar.bz2 timeline-c7a3813b8c64152e91fdd0f99e8f0baf0fef4678.zip |
...
Diffstat (limited to 'FrontEnd/src/app/views/timeline-common/Timeline.tsx')
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/Timeline.tsx | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/FrontEnd/src/app/views/timeline-common/Timeline.tsx b/FrontEnd/src/app/views/timeline-common/Timeline.tsx index d41588bb..07ca2924 100644 --- a/FrontEnd/src/app/views/timeline-common/Timeline.tsx +++ b/FrontEnd/src/app/views/timeline-common/Timeline.tsx @@ -15,10 +15,20 @@ export interface TimelineProps { timelineName: string; reloadKey: number; onReload: () => void; + additionalPosts?: HttpTimelinePostInfo[]; + onLoad?: () => void; } const Timeline: React.FC<TimelineProps> = (props) => { - const { timelineName, className, style, reloadKey, onReload } = props; + const { + timelineName, + className, + style, + reloadKey, + onReload, + additionalPosts, + onLoad, + } = props; const [posts, setPosts] = React.useState< | HttpTimelinePostInfo[] @@ -59,6 +69,12 @@ const Timeline: React.FC<TimelineProps> = (props) => { }; }, [timelineName, reloadKey]); + React.useEffect(() => { + if (Array.isArray(posts)) { + onLoad?.(); + } + }, [posts, additionalPosts, onLoad]); + switch (posts) { case "loading": return ( @@ -91,7 +107,12 @@ const Timeline: React.FC<TimelineProps> = (props) => { </div> ); default: - return <TimelinePostListView posts={posts} onReload={onReload} />; + return ( + <TimelinePostListView + posts={[...posts, ...(additionalPosts ?? [])]} + onReload={onReload} + /> + ); } }; |