aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-11-05 17:00:35 +0800
committercrupest <crupest@outlook.com>2020-11-05 17:00:35 +0800
commitaa949db456d360bd73e4794dbfc7e86f00e889e5 (patch)
tree17f9cbb148928f7ed0fee8134cc256776a6b9dbf /FrontEnd/src
parent07f13e6c31945685860303883ee31f4c022bb7a5 (diff)
downloadtimeline-aa949db456d360bd73e4794dbfc7e86f00e889e5.tar.gz
timeline-aa949db456d360bd73e4794dbfc7e86f00e889e5.tar.bz2
timeline-aa949db456d360bd73e4794dbfc7e86f00e889e5.zip
fix: Fix #167 .
Diffstat (limited to 'FrontEnd/src')
-rw-r--r--FrontEnd/src/app/views/timeline-common/TimelineItem.tsx60
1 files changed, 27 insertions, 33 deletions
diff --git a/FrontEnd/src/app/views/timeline-common/TimelineItem.tsx b/FrontEnd/src/app/views/timeline-common/TimelineItem.tsx
index 5ccc5523..408c49a1 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelineItem.tsx
+++ b/FrontEnd/src/app/views/timeline-common/TimelineItem.tsx
@@ -13,13 +13,13 @@ import { TimelinePostInfo } from "@/services/timeline";
import BlobImage from "../common/BlobImage";
const TimelinePostDeleteConfirmDialog: React.FC<{
- toggle: () => void;
+ onClose: () => void;
onConfirm: () => void;
-}> = ({ toggle, onConfirm }) => {
+}> = ({ onClose, onConfirm }) => {
const { t } = useTranslation();
return (
- <Modal toggle={toggle} isOpen centered>
+ <Modal onHide={onClose} show centered>
<Modal.Header>
<Modal.Title className="text-danger">
{t("timeline.post.deleteDialog.title")}
@@ -27,14 +27,14 @@ const TimelinePostDeleteConfirmDialog: React.FC<{
</Modal.Header>
<Modal.Body>{t("timeline.post.deleteDialog.prompt")}</Modal.Body>
<Modal.Footer>
- <Button variant="secondary" onClick={toggle}>
+ <Button variant="secondary" onClick={onClose}>
{t("operationDialog.cancel")}
</Button>
<Button
variant="danger"
onClick={() => {
onConfirm();
- toggle();
+ onClose();
}}
>
{t("operationDialog.confirm")}
@@ -68,10 +68,6 @@ const TimelineItem: React.FC<TimelineItemProps> = (props) => {
const avatar = useAvatar(props.post.author.username);
const [deleteDialog, setDeleteDialog] = React.useState<boolean>(false);
- const toggleDeleteDialog = React.useCallback(
- () => setDeleteDialog((old) => !old),
- []
- );
return (
<div
@@ -139,32 +135,30 @@ const TimelineItem: React.FC<TimelineItemProps> = (props) => {
})()}
</div>
{more != null && more.isOpen ? (
- <>
- <div
- className="position-absolute position-lt w-100 h-100 mask d-flex justify-content-center align-items-center"
- onClick={more.toggle}
- >
- <Svg
- src={trashIcon}
- className="text-danger icon-button large"
- onClick={(e) => {
- toggleDeleteDialog();
- e.stopPropagation();
- }}
- />
- </div>
- {deleteDialog ? (
- <TimelinePostDeleteConfirmDialog
- toggle={() => {
- toggleDeleteDialog();
- more.toggle();
- }}
- onConfirm={more.onDelete}
- />
- ) : null}
- </>
+ <div
+ className="position-absolute position-lt w-100 h-100 mask d-flex justify-content-center align-items-center"
+ onClick={more.toggle}
+ >
+ <Svg
+ src={trashIcon}
+ className="text-danger icon-button large"
+ onClick={(e) => {
+ setDeleteDialog(true);
+ e.stopPropagation();
+ }}
+ />
+ </div>
) : null}
</div>
+ {deleteDialog && more != null ? (
+ <TimelinePostDeleteConfirmDialog
+ onClose={() => {
+ setDeleteDialog(false);
+ more.toggle();
+ }}
+ onConfirm={more.onDelete}
+ />
+ ) : null}
</div>
);
};