\n
\n
{`${\n inEditMode\n ? 'Upload Images'\n : isUploading\n ? 'Uploading images...'\n : 'Upload complete'\n }`}
\n {!inEditMode && (\n \n {uploadProgress != null\n ? `${uploadProgress.toFixed(0)}%`\n : `${getNumberOfUploadedFiles()}/${numberOfFiles} uploaded`}\n \n )}\n \n
\n
\n \n onFarmChange(v.value)}\n disabled={!inEditMode}\n />\n
\n
\n \n ({ value: -1, label }),\n }}\n disabled={!inEditMode}\n onChange={v => onFieldNameChange(v.label)}\n />\n
\n {crops && (\n
\n \n ({ value: -1, label }),\n }}\n disabled={!inEditMode}\n onChange={v => onCropChange(v.label)}\n />\n
\n )}\n
\n {options.length > 0 && (\n
\n {options.map(({ key, Component }) => {\n return (\n
\n onOptionChange(key, active)}\n />\n
\n )\n })}\n
\n )}\n\n {isOverlappingProject && (gcpEnabled || purchasesEnabled) && (\n
\n {!gcpState ? (\n
\n ) : (\n
\n \n {\n gcpState.gcps.filter(p => isValidGcp(p, gcpState.markers))\n .length\n }{' '}\n GCPs registered\n \n \n
\n )}\n
\n )}\n {missingGeoreference && (\n
\n \n
\n )}\n\n {cost && inEditMode && (\n
{costToString(cost, units)}\n )}\n {isDoneUploading ||\n (hasUploadError && (\n
\n {(isDoneUploading && <>{success(projectType).message}>) ||\n (hasUploadError &&\n 'Something went wrong when uploading images, please try again')}\n \n ))}\n\n
\n {isDoneUploading && projectId ? (\n \n {success(projectType).linkText}\n \n ) : (\n \n )}\n
\n\n {gcpEnabled && showGcp && (\n
setShowGcp(false)}\n />\n )}\n {\n const file = positionImportFileInput.current.files[0]\n if (file) {\n setPositionsFile(file)\n setImportPositions(true)\n }\n }}\n />\n {positionsFile && showImportPositions && (\n f.file.name)}\n file={positionsFile}\n show={showImportPositions}\n skipMinimumNumberMapped={true}\n onClose={onCloseImportPositions}\n />\n )}\n \n