From 538d6830a0022b49b99695095d85e567b0c86e71 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 30 Jul 2023 23:47:53 +0800 Subject: ... --- FrontEnd/src/pages/timeline/TimelinePostEdit.tsx | 267 +++++++++++++++++++++++ 1 file changed, 267 insertions(+) create mode 100644 FrontEnd/src/pages/timeline/TimelinePostEdit.tsx (limited to 'FrontEnd/src/pages/timeline/TimelinePostEdit.tsx') diff --git a/FrontEnd/src/pages/timeline/TimelinePostEdit.tsx b/FrontEnd/src/pages/timeline/TimelinePostEdit.tsx new file mode 100644 index 00000000..c1fa0dd9 --- /dev/null +++ b/FrontEnd/src/pages/timeline/TimelinePostEdit.tsx @@ -0,0 +1,267 @@ +import * as React from "react"; +import { useTranslation } from "react-i18next"; + +import { UiLogicError } from "@/common"; + +import { + getHttpTimelineClient, + HttpTimelineInfo, + HttpTimelinePostInfo, + HttpTimelinePostPostRequestData, +} from "@/http/timeline"; + +import { pushAlert } from "@/services/alert"; + +import base64 from "@/utilities/base64"; + +import BlobImage from "@/views/common/BlobImage"; +import LoadingButton from "@/views/common/button/LoadingButton"; +import PopupMenu from "@/views/common/menu/PopupMenu"; +import MarkdownPostEdit from "./MarkdownPostEdit"; +import TimelinePostEditCard from "./TimelinePostEditCard"; +import IconButton from "@/views/common/button/IconButton"; + +import "./TimelinePostEdit.css"; + +interface TimelinePostEditTextProps { + text: string; + disabled: boolean; + onChange: (text: string) => void; + className?: string; + style?: React.CSSProperties; +} + +const TimelinePostEditText: React.FC = (props) => { + const { text, disabled, onChange, className, style } = props; + + return ( +