From e6bbe7280af7aea0171ed5f34350d69c2d262425 Mon Sep 17 00:00:00 2001 From: SleeplessOne1917 Date: Thu, 8 Jun 2023 17:55:40 -0400 Subject: [PATCH] Fix prompt navigation bug --- .../components/common/markdown-textarea.tsx | 3 ++- .../components/common/navigation-prompt.tsx | 21 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/shared/components/common/markdown-textarea.tsx b/src/shared/components/common/markdown-textarea.tsx index a6da7b9c..ce14da86 100644 --- a/src/shared/components/common/markdown-textarea.tsx +++ b/src/shared/components/common/markdown-textarea.tsx @@ -129,7 +129,8 @@ export class MarkdownTextArea extends Component< return (
diff --git a/src/shared/components/common/navigation-prompt.tsx b/src/shared/components/common/navigation-prompt.tsx index f80d76f1..e77466d4 100644 --- a/src/shared/components/common/navigation-prompt.tsx +++ b/src/shared/components/common/navigation-prompt.tsx @@ -4,11 +4,11 @@ import { HistoryService } from "../../services/HistoryService"; interface NavigationPromptProps { when: boolean; + suppress?: boolean; } interface NavigationPromptState { promptState: "hidden" | "show" | "approved"; - calls: number; } export default class NavigationPrompt extends Component< @@ -17,7 +17,6 @@ export default class NavigationPrompt extends Component< > { state: NavigationPromptState = { promptState: "hidden", - calls: 0, }; constructor(props: NavigationPromptProps, context: any) { @@ -25,15 +24,15 @@ export default class NavigationPrompt extends Component< } componentDidMount(): void { - console.log("mounted"); - const unblock = HistoryService.history.block(tx => { - this.setState(prev => ({ ...prev, calls: prev.calls + 1 })); - if (!this.props.when || window.confirm(i18n.t("block_leaving"))) { - console.log("Not blocked"); - console.log(this.state.calls); - unblock(); - } - }); + if (!this.props.suppress) { + const unblock = HistoryService.history.block(tx => { + if (!this.props.when || window.confirm(i18n.t("block_leaving"))) { + unblock(); + + tx.retry(); + } + }); + } } componentWillUnmount(): void {