import React from '@wordpress/element';
import Uploader from '../../file-browser/components/Uploader';

const FileUploader = ({ data, accountId, shortcodeId }) => {
	// console.log('FileUploader data', data);
	const path = data?.source?.items?.folders[0]?.path;
	const settings = data?.settings?.uploader;

	let newAccId;
	if ( data?.source?.items?.folders[0]?.account_id ) {
		newAccId = data?.source?.items?.folders[0]?.account_id;
	} else {
		newAccId = accountId;
	}

	return (
		<Uploader
			path={path}
			filters={{
				allowAllExtension: settings?.allowAll,
				allowedExtensions: settings?.extension ? settings?.extension : '',
				allowedExceptExtensions: settings?.except ? settings?.except : '',
				showFolders: settings?.enableFolderUpload,
				showFiles: true,
			}}
			formLabel={settings?.formLabel}
			fileUploadButtonLabel={settings?.fileUploadButtonLabel}
			folderUploadButtonLabel={settings?.folderUploadButtonLabel}
			enableUploadBtn={settings?.enableUploadBtn}
			uploaderButtonText={settings?.uploaderButtonText}
			maxFileSize={settings?.maxFileSize ? settings?.maxFileSize : ''}
			maxFiles={settings?.maxFiles ? settings?.maxFiles : ''}
			minFileSize={settings?.minFileSize ? settings?.minFileSize : ''}
			className={'edbi-file-browser__upload--not-fixed'}
			isFormUploader={data?.isFormUploader}
			formDesc={settings?.formDesc}
			showHideBtn={false}
			allowFolderUpload={settings?.enableFolderUpload}
			uploadImmediately={settings?.uploadImmediately}
			onUpload={(file) => {
				// console.log('on upload', file);
			}}
			showUploadConfirmation={settings?.showUploadConfirmation}
			uploadConfirmMsg={settings?.uploadConfirmMsg}
			isMainUploader={ settings?.isMainUploader }
			accountId={newAccId}
			shortCodeID={shortcodeId}
		/>
	);
};

export default FileUploader;
