diff options
author | crupest <crupest@outlook.com> | 2023-08-29 01:30:30 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-08-29 01:30:30 +0800 |
commit | b05860b6d2ea17db29a338659def49dc31082346 (patch) | |
tree | cbbd9d99af5e6b006f142effeae5222278dad02f /FrontEnd/src/pages/timeline/TimelineCard.tsx | |
parent | 502dd817c79018c84b0a958dd4b2e24781e68ae1 (diff) | |
download | timeline-b05860b6d2ea17db29a338659def49dc31082346.tar.gz timeline-b05860b6d2ea17db29a338659def49dc31082346.tar.bz2 timeline-b05860b6d2ea17db29a338659def49dc31082346.zip |
Refactor dialog module.
Diffstat (limited to 'FrontEnd/src/pages/timeline/TimelineCard.tsx')
-rw-r--r-- | FrontEnd/src/pages/timeline/TimelineCard.tsx | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/FrontEnd/src/pages/timeline/TimelineCard.tsx b/FrontEnd/src/pages/timeline/TimelineCard.tsx index f17a3ce9..133f1ef4 100644 --- a/FrontEnd/src/pages/timeline/TimelineCard.tsx +++ b/FrontEnd/src/pages/timeline/TimelineCard.tsx @@ -8,7 +8,7 @@ import { HttpTimelineInfo } from "~src/http/timeline"; import { getHttpBookmarkClient } from "~src/http/bookmark"; import { useMobile } from "~src/components/hooks"; -import { Dialog, useDialog } from "~src/components/dialog"; +import { Dialog, DialogProvider, useDialog } from "~src/components/dialog"; import UserAvatar from "~src/components/user/UserAvatar"; import PopupMenu from "~src/components/menu/PopupMenu"; import FullPageDialog from "~src/components/dialog/FullPageDialog"; @@ -40,11 +40,17 @@ export default function TimelineCard(props: TimelinePageCardProps) { const isMobile = useMobile(); - const { createDialogSwitch, dialogPropsMap } = useDialog([ - "member", - "property", - "delete", - ]); + const { controller, createDialogSwitch } = useDialog({ + member: ( + <Dialog> + <TimelineMember timeline={timeline} onChange={onReload} /> + </Dialog> + ), + property: ( + <TimelinePropertyChangeDialog timeline={timeline} onChange={onReload} /> + ), + delete: <TimelineDeleteDialog timeline={timeline} />, + }); const content = ( <div> @@ -144,15 +150,7 @@ export default function TimelineCard(props: TimelinePageCardProps) { ) : ( <div style={{ display: collapse ? "none" : "block" }}>{content}</div> )} - <Dialog {...dialogPropsMap["member"]}> - <TimelineMember timeline={timeline} onChange={onReload} /> - </Dialog> - <TimelinePropertyChangeDialog - timeline={timeline} - onChange={onReload} - {...dialogPropsMap["property"]} - /> - <TimelineDeleteDialog timeline={timeline} {...dialogPropsMap["delete"]} /> + <DialogProvider controller={controller} /> </Card> ); } |