aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-01-11 21:58:32 +0800
committerGitHub <noreply@github.com>2021-01-11 21:58:32 +0800
commit5f08a5afe39fb680a14982255d366335bcef5d6e (patch)
tree9deed1bab5913de2e2e31e1b7a8f14e7ee699cf8 /FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx
parent6d30c089c02591ce2f57cf22fe0c41c17c62fbc3 (diff)
parent21ee6d4b78566a857559c5e393ae85731d380092 (diff)
downloadtimeline-5f08a5afe39fb680a14982255d366335bcef5d6e.tar.gz
timeline-5f08a5afe39fb680a14982255d366335bcef5d6e.tar.bz2
timeline-5f08a5afe39fb680a14982255d366335bcef5d6e.zip
Merge pull request #206 from crupest/front-dev
Front development.
Diffstat (limited to 'FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx')
-rw-r--r--FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx61
1 files changed, 33 insertions, 28 deletions
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx b/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx
index 20ec6e43..41246175 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx
+++ b/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx
@@ -13,26 +13,30 @@ import { TimelineSyncStatus } from "./SyncStatusBadge";
export interface TimelineCardComponentProps<TManageItems> {
timeline: TimelineInfo;
- onManage?: (item: TManageItems | "property") => void;
- onMember: () => void;
- onBookmark?: () => void;
- onHighlight?: () => void;
- className?: string;
- collapse: boolean;
syncStatus: TimelineSyncStatus;
+ operations: {
+ onManage?: (item: TManageItems | "property") => void;
+ onMember: () => void;
+ onBookmark?: () => void;
+ onHighlight?: () => void;
+ };
+ collapse: boolean;
toggleCollapse: () => void;
+ className?: string;
}
export interface TimelinePageTemplateUIProps<TManageItems> {
data?:
| {
timeline: TimelineInfo;
- posts?: TimelinePostInfoEx[];
- onManage?: (item: TManageItems | "property") => void;
- onMember: () => void;
- onBookmark?: () => void;
- onHighlight?: () => void;
- onPost?: TimelinePostSendCallback;
+ posts?: TimelinePostInfoEx[] | "forbid";
+ operations: {
+ onManage?: (item: TManageItems | "property") => void;
+ onMember: () => void;
+ onBookmark?: () => void;
+ onHighlight?: () => void;
+ onPost?: TimelinePostSendCallback;
+ };
}
| I18nText;
syncStatus: TimelineSyncStatus;
@@ -155,32 +159,33 @@ export default function TimelinePageTemplateUI<TManageItems>(
<CardComponent
className="timeline-template-card"
timeline={data.timeline}
- onManage={data.onManage}
- onMember={data.onMember}
- onBookmark={data.onBookmark}
- onHighlight={data.onHighlight}
+ operations={data.operations}
syncStatus={syncStatus}
collapse={cardCollapse}
toggleCollapse={toggleCardCollapse}
/>
) : null}
{posts != null ? (
- <div
- className="timeline-container"
- style={{ minHeight: `calc(100vh - ${56 + bottomSpaceHeight}px)` }}
- >
- <Timeline
- containerRef={timelineRef}
- posts={posts}
- onResize={triggerResizeEvent}
- />
- </div>
+ posts === "forbid" ? (
+ <div>{t("timeline.messageCantSee")}</div>
+ ) : (
+ <div
+ className="timeline-container"
+ style={{ minHeight: `calc(100vh - ${56 + bottomSpaceHeight}px)` }}
+ >
+ <Timeline
+ containerRef={timelineRef}
+ posts={posts}
+ onResize={triggerResizeEvent}
+ />
+ </div>
+ )
) : (
<div className="full-viewport-center-child">
<Spinner variant="primary" animation="grow" />
</div>
)}
- {data != null && data.onPost != null ? (
+ {data != null && data.operations.onPost != null ? (
<>
<div
style={{ height: bottomSpaceHeight }}
@@ -188,7 +193,7 @@ export default function TimelinePageTemplateUI<TManageItems>(
/>
<TimelinePostEdit
className="fixed-bottom"
- onPost={data.onPost}
+ onPost={data.operations.onPost}
onHeightChange={onPostEditHeightChange}
timelineUniqueId={data.timeline.uniqueId}
/>