From 2f39aae59e150e93748a60d6f8202d5c6790b3b7 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 5 Aug 2020 23:29:14 +0800 Subject: Refactor a lot. --- Timeline/ClientApp/src/app/timeline/TimelinePageTemplateUI.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'Timeline/ClientApp/src/app/timeline') diff --git a/Timeline/ClientApp/src/app/timeline/TimelinePageTemplateUI.tsx b/Timeline/ClientApp/src/app/timeline/TimelinePageTemplateUI.tsx index 42171e13..43925ebb 100644 --- a/Timeline/ClientApp/src/app/timeline/TimelinePageTemplateUI.tsx +++ b/Timeline/ClientApp/src/app/timeline/TimelinePageTemplateUI.tsx @@ -24,7 +24,7 @@ import Timeline, { import AppBar from '../common/AppBar'; import TimelinePostEdit, { TimelinePostSendCallback } from './TimelinePostEdit'; -type TimelinePostSyncState = 'syncing' | 'synced' | 'offline'; +type TimelinePostSyncState = 'loadcache' | 'syncing' | 'synced' | 'offline'; const TimelinePostSyncStateBadge: React.FC<{ state: TimelinePostSyncState; @@ -37,6 +37,7 @@ const TimelinePostSyncStateBadge: React.FC<{
{(() => { switch (state) { + case 'loadcache': case 'syncing': { return ( <> @@ -200,6 +201,11 @@ export default function TimelinePageTemplateUI( if (timeline != null) { let timelineBody: React.ReactElement; if (postListState != null) { + if (postListState.posts == null) { + throw new UiLogicError( + "Timeline is not null but postListState is 'timeline-notexist or 'timeline-offline'." + ); + } if (postListState.state === 'forbid') { timelineBody = (

{t('timeline.messageCantSee')}

-- cgit v1.2.3