Skip to content

Instantly share code, notes, and snippets.

@jsmanifest
Created June 16, 2019 17:51
Show Gist options
  • Save jsmanifest/7cbc730659a86f56511317056c40e950 to your computer and use it in GitHub Desktop.
Save jsmanifest/7cbc730659a86f56511317056c40e950 to your computer and use it in GitHub Desktop.
const FileUploaderScreen = ({ status }) => {
let src
switch (status) {
case 'IDLE':
src = idleSrc
break
case 'LOADED':
case 'PENDING':
src = pendingSrc
break
case 'FILES_UPLOADED':
src = uploadedSrc
break
case 'UPLOAD_ERROR':
src = errorSrc
break
default:
src = idleSrc
break
}
return (
<div className="uploader-input">
{status === 'IDLE' && <Init />}
<div
style={{ backgroundImage: `url("${src}")` }}
className={cx('uploader-overlay', {
brightness50: status === 'IDLE',
brightness100: status === 'LOADED',
opacity05: status === 'PENDING',
grayscale: status === 'FILES_UPLOADED',
})}
/>
</div>
)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment