diff options
author | crupest <crupest@outlook.com> | 2021-02-13 15:52:44 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-02-13 15:52:44 +0800 |
commit | a7cc64ca2b30b47c57cae2115e10f34f361c90b9 (patch) | |
tree | 619520e5863518232ddce9cea4f7269ef1e6360e | |
parent | 790fc48e013ecd424d73e45072607927a3a43a70 (diff) | |
download | timeline-a7cc64ca2b30b47c57cae2115e10f34f361c90b9.tar.gz timeline-a7cc64ca2b30b47c57cae2115e10f34f361c90b9.tar.bz2 timeline-a7cc64ca2b30b47c57cae2115e10f34f361c90b9.zip |
...
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx b/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx index ed21d6b5..b0d3fe97 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx +++ b/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx @@ -3,15 +3,14 @@ import { useTranslation } from "react-i18next"; import { Spinner } from "react-bootstrap"; import { getAlertHost } from "@/services/alert"; -import { TimelineInfo, TimelinePostInfo } from "@/services/timeline"; + +import { HttpTimelineInfo } from "@/http/timeline"; import Timeline from "./Timeline"; import TimelinePostEdit, { TimelinePostSendCallback } from "./TimelinePostEdit"; -import { TimelineSyncStatus } from "./SyncStatusBadge"; export interface TimelineCardComponentProps<TManageItems> { - timeline: TimelineInfo; - syncStatus: TimelineSyncStatus; + timeline: HttpTimelineInfo; operations: { onManage?: (item: TManageItems | "property") => void; onMember: () => void; @@ -31,13 +30,11 @@ export interface TimelinePageTemplateUIOperations<TManageItems> { export interface TimelinePageTemplateUIProps<TManageItems> { timeline?: - | (TimelineInfo & { + | (HttpTimelineInfo & { operations: TimelinePageTemplateUIOperations<TManageItems>; - posts?: TimelinePostInfo[] | "forbid"; }) | "notexist" | "offline"; - syncStatus: TimelineSyncStatus; notExistMessageI18nKey: string; CardComponent: React.ComponentType<TimelineCardComponentProps<TManageItems>>; } @@ -45,7 +42,7 @@ export interface TimelinePageTemplateUIProps<TManageItems> { export default function TimelinePageTemplateUI<TManageItems>( props: TimelinePageTemplateUIProps<TManageItems> ): React.ReactElement | null { - const { timeline, syncStatus, CardComponent } = props; + const { timeline, CardComponent } = props; const { t } = useTranslation(); @@ -105,35 +102,24 @@ export default function TimelinePageTemplateUI<TManageItems>( } else if (timeline === "notexist") { body = <p className="text-danger">{t(props.notExistMessageI18nKey)}</p>; } else { - const { operations, posts } = timeline; + const { operations } = timeline; body = ( <> <CardComponent className="timeline-template-card" timeline={timeline} operations={operations} - syncStatus={syncStatus} collapse={cardCollapse} toggleCollapse={toggleCardCollapse} /> - {posts != null ? ( - posts === "forbid" ? ( - <div>{t("timeline.messageCantSee")}</div> - ) : ( - <div - className="timeline-container" - style={{ - minHeight: `calc(100vh - ${56 + bottomSpaceHeight}px)`, - }} - > - <Timeline timeline={timeline} posts={posts} /> - </div> - ) - ) : ( - <div className="full-viewport-center-child"> - <Spinner variant="primary" animation="grow" /> - </div> - )} + <div + className="timeline-container" + style={{ + minHeight: `calc(100vh - ${56 + bottomSpaceHeight}px)`, + }} + > + <Timeline timelineName={timeline.name} /> + </div> {operations.onPost != null ? ( <> <div |