pankod/refine

View on GitHub
packages/remix-router/src/legacy/prompt.tsx

Summary

Maintainability
A
0 mins
Test Coverage
import React from "react";
import { useBlocker } from "@remix-run/react";

import type { PromptProps } from "@refinedev/core";

export const Prompt: React.FC<PromptProps> = ({
  message,
  when,
  setWarnWhen,
}) => {
  const blocker = React.useCallback(() => {
    if (when) {
      if (window.confirm(message)) {
        setWarnWhen?.(false);
        return false;
      }
      return true;
    }
    return false;
  }, [when, message, setWarnWhen]);

  useBlocker(blocker);

  return null;
};