Source: surfaces/OpenModal.js

import React, { useEffect } from "react";
import { useMenuContext, useModalContext } from "../../_core";


/**
 * Componente que inicializa un modal sincrónicamente con el contenido que tiene dentro.
 * @name Reactor.Components.Surfaces.Modal
 * @param {BooleanString} keep_token No borra el token de operacion al ocultar el modal
 * @param {"true" | "md" | "sm" | "lg" | "xl"} fullscreen Determina el tamaño del popup
 * @class
 * @example
 *  <modal fullscreen="true">
 *    <div>El contenido del modal</div>
 *  </modal>
 */

export const OpenModal = ({children, fullscreen, keep_token = "false"}) => {
  const { show } = useModalContext();  
  const menu = useMenuContext();

  useEffect(()=>{
    menu.hide({keepToken: keep_token === "true"});
    show({content: children, fullscreen})
  }, [])

  return <></>;
}