aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/views/timeline
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-06-15 14:14:28 +0800
committercrupest <crupest@outlook.com>2021-06-15 14:14:28 +0800
commit47587812b809fee2a95c76266d9d0e42fc4ac1ca (patch)
treebfaa7320c838e21edf88b5a037263f89a8012222 /FrontEnd/src/app/views/timeline
parentda26373c7fc13cded47428b27638b349b0432437 (diff)
downloadtimeline-47587812b809fee2a95c76266d9d0e42fc4ac1ca.tar.gz
timeline-47587812b809fee2a95c76266d9d0e42fc4ac1ca.tar.bz2
timeline-47587812b809fee2a95c76266d9d0e42fc4ac1ca.zip
...
Diffstat (limited to 'FrontEnd/src/app/views/timeline')
-rw-r--r--FrontEnd/src/app/views/timeline/TimelineCard.tsx74
-rw-r--r--FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx55
-rw-r--r--FrontEnd/src/app/views/timeline/index.tsx23
-rw-r--r--FrontEnd/src/app/views/timeline/timeline.sass0
4 files changed, 0 insertions, 152 deletions
diff --git a/FrontEnd/src/app/views/timeline/TimelineCard.tsx b/FrontEnd/src/app/views/timeline/TimelineCard.tsx
deleted file mode 100644
index e031b565..00000000
--- a/FrontEnd/src/app/views/timeline/TimelineCard.tsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import React from "react";
-
-import { TimelinePageCardProps } from "../timeline-common/TimelinePageTemplate";
-import TimelinePageCardTemplate from "../timeline-common/TimelinePageCardTemplate";
-
-import UserAvatar from "../common/user/UserAvatar";
-import TimelineDeleteDialog from "./TimelineDeleteDialog";
-
-const TimelineCard: React.FC<TimelinePageCardProps> = (props) => {
- const { timeline } = props;
-
- const [dialog, setDialog] = React.useState<
- "member" | "property" | "delete" | null
- >(null);
-
- return (
- <>
- <TimelinePageCardTemplate
- infoArea={
- <>
- <h3 className="tl-color-primary d-inline-block align-middle">
- {timeline.title}
- <small className="ms-3 text-secondary">{timeline.name}</small>
- </h3>
- <div className="align-middle">
- <UserAvatar
- username={timeline.owner.username}
- className="avatar small rounded-circle me-3"
- />
- {timeline.owner.nickname}
- <small className="ms-3 text-secondary">
- @{timeline.owner.username}
- </small>
- </div>
- </>
- }
- manageItems={
- timeline.manageable
- ? [
- {
- type: "button",
- text: "timeline.manageItem.property",
- onClick: () => setDialog("property"),
- },
- { type: "divider" },
- {
- type: "button",
- onClick: () => setDialog("delete"),
- color: "danger",
- text: "timeline.manageItem.delete",
- },
- ]
- : undefined
- }
- dialog={dialog}
- setDialog={setDialog}
- {...props}
- />
- {(() => {
- if (dialog === "delete") {
- return (
- <TimelineDeleteDialog
- timeline={timeline}
- open
- close={() => setDialog(null)}
- />
- );
- }
- })()}
- </>
- );
-};
-
-export default TimelineCard;
diff --git a/FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx b/FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx
deleted file mode 100644
index dbca62ca..00000000
--- a/FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import React from "react";
-import { useHistory } from "react-router";
-import { Trans } from "react-i18next";
-
-import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline";
-
-import OperationDialog from "../common/OperationDialog";
-
-interface TimelineDeleteDialog {
- timeline: HttpTimelineInfo;
- open: boolean;
- close: () => void;
-}
-
-const TimelineDeleteDialog: React.FC<TimelineDeleteDialog> = (props) => {
- const history = useHistory();
-
- const { timeline } = props;
-
- return (
- <OperationDialog
- open={props.open}
- close={props.close}
- title="timeline.deleteDialog.title"
- themeColor="danger"
- inputPrompt={() => {
- return (
- <Trans i18nKey="timeline.deleteDialog.inputPrompt">
- 0<code className="mx-2">{{ name }}</code>2
- </Trans>
- );
- }}
- inputScheme={[
- {
- type: "text",
- },
- ]}
- inputValidator={([value]) => {
- if (value !== timeline.name) {
- return { 0: "timeline.deleteDialog.notMatch" };
- } else {
- return null;
- }
- }}
- onProcess={() => {
- return getHttpTimelineClient().deleteTimeline(timeline.name);
- }}
- onSuccessAndClose={() => {
- history.replace("/");
- }}
- />
- );
-};
-
-export default TimelineDeleteDialog;
diff --git a/FrontEnd/src/app/views/timeline/index.tsx b/FrontEnd/src/app/views/timeline/index.tsx
deleted file mode 100644
index c5bfd7ab..00000000
--- a/FrontEnd/src/app/views/timeline/index.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import React from "react";
-import { useParams } from "react-router";
-
-import TimelinePageTemplate from "../timeline-common/TimelinePageTemplate";
-import TimelineCard from "./TimelineCard";
-
-const TimelinePage: React.FC = () => {
- const { name } = useParams<{ name: string }>();
-
- const [reloadKey, setReloadKey] = React.useState<number>(0);
-
- return (
- <TimelinePageTemplate
- timelineName={name}
- notFoundI18nKey="timeline.timelineNotExist"
- reloadKey={reloadKey}
- CardComponent={TimelineCard}
- onReload={() => setReloadKey(reloadKey + 1)}
- />
- );
-};
-
-export default TimelinePage;
diff --git a/FrontEnd/src/app/views/timeline/timeline.sass b/FrontEnd/src/app/views/timeline/timeline.sass
deleted file mode 100644
index e69de29b..00000000
--- a/FrontEnd/src/app/views/timeline/timeline.sass
+++ /dev/null