import {
  IFramePage,
  PageInfo,
  IFrameMessageData,
  IFramePageOptions,
} from 'iframe-resizer';
import { EVENTS } from './renderer-client-types';

const iFrameResizer: {
  onReady?: () => void;
  onMessage?: (data: IFrameMessageData) => void;
  onPageInfo?: (info: PageInfo) => void;
} = {
  // onPageInfo(info) {
  //   console.log('onPageInfo called', info);
  // },
  // onMessage(data) {
  //   console.log('onMessage called', data);
  // },
  onReady() {
    // console.log('onReady called');
    // https://github.com/davidjbradshaw/iframe-resizer/blob/master/docs/iframed_page/methods.md
    if ('parentIFrame' in window) {
      // eslint-disable-next-line prefer-destructuring
      const parentIFrame: IFramePage = (window as any).parentIFrame;
      parentIFrame.sendMessage({
        type: 'event',
        event: EVENTS.ready,
      });
    }
  },
};

(window as any).iFrameResizer = iFrameResizer;

import('iframe-resizer/js/iframeResizer.contentWindow');
