aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/components/hooks/useWindowLeave.ts
blob: 08777e305df64540eee23ce847fa34aed0c8046b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { useEffect } from "react";

import { useC, Text } from "../common";

export default function useWindowLeave(
  allow: boolean,
  message: Text = "timeline.confirmLeave",
) {
  const c = useC();

  useEffect(() => {
    if (!allow) {
      window.onbeforeunload = () => {
        return c(message);
      };

      return () => {
        window.onbeforeunload = null;
      };
    }
  }, [allow, message]);
}