export default function SetAOI()

in frontend/src/components/projectCreate/setAOI.js [11:88]


export default function SetAOI({
  metadata,
  updateMetadata,
  uploadFile,
  drawHandler,
  deleteHandler,
  drawIsActive,
}) {
  const { containsMultiplePolygons } = useContainsMultiplePolygons(metadata.geom);

  const { getRootProps, getInputProps, open } = useDropzone({
    onDrop: uploadFile,
    noClick: true,
    noKeyboard: true,
  });

  return (
    <div {...getRootProps()}>
      <h3 className="f3 fw6 mt0 mb3 ttu barlow-condensed blue-dark">
        <FormattedMessage {...messages.step1} />
      </h3>
      <div>
        <p>
          <FormattedMessage {...messages.defineAreaDescription} />
        </p>
        <CustomButton
          className={`bg-white ph3 pv2 mr2 ba ${
            drawIsActive ? 'primary b--primary' : 'blue-dark b--grey-light'
          }`}
          onClick={drawHandler}
          icon={<MappedIcon className="h1 w1 v-mid" />}
        >
          <FormattedMessage {...messages.draw} />
        </CustomButton>
        <input {...getInputProps()} />
        <CustomButton
          className="bg-white blue-dark ba b--grey-light ph3 pv2"
          onClick={open}
          icon={<FileImportIcon className="h1 w1 v-mid" />}
        >
          <FormattedMessage {...messages.selectFile} />
        </CustomButton>
        <p className="f6 blue-grey lh-title mt3">
          <FormattedMessage {...messages.importDescription} />
        </p>
      </div>

      <div className="pb2">
        {containsMultiplePolygons && (
          <SwitchToggle
            label={<FormattedMessage {...messages.arbitraryTasks} />}
            labelPosition="right"
            isChecked={metadata.arbitraryTasks}
            onChange={() =>
              updateMetadata({
                ...metadata,
                arbitraryTasks: !metadata.arbitraryTasks,
                tasksNumber:
                  metadata.geom && metadata.geom.features ? metadata.geom.features.length : 0,
              })
            }
          />
        )}
      </div>
      {metadata.geom && (
        <div>
          <CustomButton
            className="bg-white blue-dark ba b--grey-light ph3 pv2"
            onClick={deleteHandler}
            icon={<UndoIcon className="w1 h1 v-top" />}
          >
            <FormattedMessage {...messages.reset} />
          </CustomButton>
        </div>
      )}
    </div>
  );
}