aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/views/center/TimelineCreateDialog.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-08-02 02:52:07 +0800
committercrupest <crupest@outlook.com>2023-08-02 02:52:07 +0800
commit645a88e7e35d15cec6106709c42b071bec045e0d (patch)
tree8c34d8ac3ba177f725e31b55bdf689a303cfee9a /FrontEnd/src/views/center/TimelineCreateDialog.tsx
parent0c5c9d51c51d07aecb6f4a01586c81c824141cb2 (diff)
downloadtimeline-645a88e7e35d15cec6106709c42b071bec045e0d.tar.gz
timeline-645a88e7e35d15cec6106709c42b071bec045e0d.tar.bz2
timeline-645a88e7e35d15cec6106709c42b071bec045e0d.zip
...
Diffstat (limited to 'FrontEnd/src/views/center/TimelineCreateDialog.tsx')
-rw-r--r--FrontEnd/src/views/center/TimelineCreateDialog.tsx57
1 files changed, 0 insertions, 57 deletions
diff --git a/FrontEnd/src/views/center/TimelineCreateDialog.tsx b/FrontEnd/src/views/center/TimelineCreateDialog.tsx
deleted file mode 100644
index 63742936..00000000
--- a/FrontEnd/src/views/center/TimelineCreateDialog.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import * as React from "react";
-import { useNavigate } from "react-router-dom";
-
-import { validateTimelineName } from "@/services/timeline";
-import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline";
-
-import OperationDialog from "../common/dialog/OperationDialog";
-import { useUserLoggedIn } from "@/services/user";
-
-interface TimelineCreateDialogProps {
- open: boolean;
- close: () => void;
-}
-
-const TimelineCreateDialog: React.FC<TimelineCreateDialogProps> = (props) => {
- const navigate = useNavigate();
-
- const user = useUserLoggedIn();
-
- return (
- <OperationDialog
- open={props.open}
- onClose={props.close}
- themeColor="success"
- title="home.createDialog.title"
- inputScheme={
- [
- {
- type: "text",
- label: "home.createDialog.name",
- helperText: "home.createDialog.nameFormat",
- },
- ] as const
- }
- inputValidator={([name]) => {
- if (name.length === 0) {
- return { 0: "home.createDialog.noEmpty" };
- } else if (name.length > 26) {
- return { 0: "home.createDialog.tooLong" };
- } else if (!validateTimelineName(name)) {
- return { 0: "home.createDialog.badFormat" };
- } else {
- return null;
- }
- }}
- onProcess={([name]): Promise<HttpTimelineInfo> =>
- getHttpTimelineClient().postTimeline({ name })
- }
- onSuccessAndClose={(timeline: HttpTimelineInfo) => {
- navigate(`${user.username}/${timeline.nameV2}`);
- }}
- failurePrompt={(e) => `${e as string}`}
- />
- );
-};
-
-export default TimelineCreateDialog;