import { Editor } from '@craftjs/core';
import { Stage } from './stage';
import {Container} from './components/Container';
import {RexProConfigProvider} from "@jeoshi-design/rex-design.other.core";
type TemplateProps = {
  initData?: string;
  preview?: boolean;
};

const LowCodeEditor = ({initData, preview}: TemplateProps) => {
  const enabled = preview === undefined ? true : Boolean(Number(preview));
    return (
      <RexProConfigProvider value={{
        apiClient: async (path, params) => {
          const res = await fetch('/api/mock' + path, {body: JSON.stringify(params), method: 'post'});
          return res.json();
        }
      }}>
        <Editor resolver={{Container}} enabled={enabled}>
            <Stage initData={initData} />
        </Editor>
        </RexProConfigProvider>
    );
};

export default LowCodeEditor; 