aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src/app/timeline/TimelinePage.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-07-26 15:02:55 +0800
committercrupest <crupest@outlook.com>2020-07-26 15:02:55 +0800
commitb78d21a524f7a11ad29b4bd230f23825f80c3ed7 (patch)
tree88bfe8d4c5298f61a90c501933784885ec9ce77f /Timeline/ClientApp/src/app/timeline/TimelinePage.tsx
parent886ab2a222bc503156542988edc7be5062f6e7b1 (diff)
downloadtimeline-b78d21a524f7a11ad29b4bd230f23825f80c3ed7.tar.gz
timeline-b78d21a524f7a11ad29b4bd230f23825f80c3ed7.tar.bz2
timeline-b78d21a524f7a11ad29b4bd230f23825f80c3ed7.zip
Merge front end repo
Diffstat (limited to 'Timeline/ClientApp/src/app/timeline/TimelinePage.tsx')
-rw-r--r--Timeline/ClientApp/src/app/timeline/TimelinePage.tsx36
1 files changed, 36 insertions, 0 deletions
diff --git a/Timeline/ClientApp/src/app/timeline/TimelinePage.tsx b/Timeline/ClientApp/src/app/timeline/TimelinePage.tsx
new file mode 100644
index 00000000..7d0a8807
--- /dev/null
+++ b/Timeline/ClientApp/src/app/timeline/TimelinePage.tsx
@@ -0,0 +1,36 @@
+import React from 'react';
+import { useParams } from 'react-router';
+
+import TimelinePageUI from './TimelinePageUI';
+import TimelinePageTemplate from '../timeline/TimelinePageTemplate';
+import { OrdinaryTimelineManageItem } from './TimelineInfoCard';
+import TimelineDeleteDialog from './TimelineDeleteDialog';
+
+const TimelinePage: React.FC = (_) => {
+ const { name } = useParams<{ name: string }>();
+
+ const [dialog, setDialog] = React.useState<OrdinaryTimelineManageItem | null>(
+ null
+ );
+
+ let dialogElement: React.ReactElement | undefined;
+ if (dialog === 'delete') {
+ dialogElement = (
+ <TimelineDeleteDialog open close={() => setDialog(null)} name={name} />
+ );
+ }
+
+ return (
+ <>
+ <TimelinePageTemplate
+ name={name}
+ UiComponent={TimelinePageUI}
+ onManage={(item) => setDialog(item)}
+ notFoundI18nKey="timeline.timelineNotExist"
+ />
+ {dialogElement}
+ </>
+ );
+};
+
+export default TimelinePage;