diff options
author | crupest <crupest@outlook.com> | 2023-09-21 15:35:27 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-09-21 15:35:27 +0800 |
commit | c7d2545ec7bbcdba30b775453d53df5a359410bd (patch) | |
tree | 768668b9d1b2cd835212c3a3567dd8f54700a7fa /FrontEnd/src/pages/timeline/TimelinePostView.tsx | |
parent | f836d77e73f3ea0af45c5f71dae7268143d6d86f (diff) | |
download | timeline-c7d2545ec7bbcdba30b775453d53df5a359410bd.tar.gz timeline-c7d2545ec7bbcdba30b775453d53df5a359410bd.tar.bz2 timeline-c7d2545ec7bbcdba30b775453d53df5a359410bd.zip |
Revert dialog.
Diffstat (limited to 'FrontEnd/src/pages/timeline/TimelinePostView.tsx')
-rw-r--r-- | FrontEnd/src/pages/timeline/TimelinePostView.tsx | 52 |
1 files changed, 25 insertions, 27 deletions
diff --git a/FrontEnd/src/pages/timeline/TimelinePostView.tsx b/FrontEnd/src/pages/timeline/TimelinePostView.tsx index 4f0460ff..2cfe51c4 100644 --- a/FrontEnd/src/pages/timeline/TimelinePostView.tsx +++ b/FrontEnd/src/pages/timeline/TimelinePostView.tsx @@ -8,7 +8,7 @@ import { import { pushAlert } from "~src/components/alert"; import { useClickOutside } from "~src/components/hooks"; import UserAvatar from "~src/components/user/UserAvatar"; -import { DialogProvider, useDialog } from "~src/components/dialog"; +import { useDialog } from "~src/components/dialog"; import FlatButton from "~src/components/button/FlatButton"; import ConfirmDialog from "~src/components/dialog/ConfirmDialog"; import TimelinePostContentView from "./view/TimelinePostContentView"; @@ -32,33 +32,13 @@ export default function TimelinePostView(props: TimelinePostViewProps) { const [operationMaskVisible, setOperationMaskVisible] = useState<boolean>(false); - const { controller, switchDialog } = useDialog( - { - delete: ( - <ConfirmDialog - title="timeline.post.deleteDialog.title" - body="timeline.post.deleteDialog.prompt" - onConfirm={() => { - void getHttpTimelineClient() - .deletePost(post.timelineOwnerV2, post.timelineNameV2, post.id) - .then(onDeleted, () => { - pushAlert({ - color: "danger", - message: "timeline.deletePostFailed", - }); - }); - }} - /> - ), - }, - { - onClose: { - delete: () => { - setOperationMaskVisible(false); - }, + const { switchDialog, dialogPropsMap } = useDialog(["delete"], { + onClose: { + delete: () => { + setOperationMaskVisible(false); }, }, - ); + }); const [maskElement, setMaskElement] = useState<HTMLElement | null>(null); useClickOutside(maskElement, () => setOperationMaskVisible(false)); @@ -114,10 +94,28 @@ export default function TimelinePostView(props: TimelinePostViewProps) { e.stopPropagation(); }} /> + <ConfirmDialog + title="timeline.post.deleteDialog.title" + body="timeline.post.deleteDialog.prompt" + onConfirm={() => { + void getHttpTimelineClient() + .deletePost( + post.timelineOwnerV2, + post.timelineNameV2, + post.id, + ) + .then(onDeleted, () => { + pushAlert({ + color: "danger", + message: "timeline.deletePostFailed", + }); + }); + }} + {...dialogPropsMap["delete"]} + /> </div> ) : null} </TimelinePostCard> - <DialogProvider controller={controller} /> </TimelinePostContainer> ); } |