635621b04a
* feat: separate flow for folder and file uploads * feat: add basic index document detection * feat(wip): separate preview step * fix: fix kb and mb units * feat: add post upload summary, add some styling * feat: upload flow * fix: change element order and add conditional rendering * refactor: remove unused variables for now * fix: put back stamp creation to stamp page * refactor: rework postage stamps and grid * feat: add website and folder icons * feat: add asset preview to download flow, add file icon * feat: add basic design to postage stamp selection dialog * feat: add web icon, shorten stamp in preview * feat: extract swarm hash in download flow * fix: extract swarmbutton and solve icon hover and focus color * fix: always show buy button on stamp page * refactor: downgrade * refactor: speed up icon transition * style: improve download buttons * style: change [back to upload] icon * style: add spacing before swarm gateway text * style: post upload summary spacing * refactor: drop verticalspacing and use box * refactor: merge icons to one component * refactor: use conditions instead of weird assignment * docs: explain filter(x => x) * refactor: generalize capacity * refactor: avoid passing arrow functions * refactor: get rid of PaperGridContainer and Container * fix: fix hover color for postage stamps * feat: add disabled and loading state to buttons * fix: make drag and drop work for websites * feat: handle folders and non existing hashes * fix: provide empty default value to select to avoid console warning * style: remove body2 font variants * fix: remove typo * feat: disable folder upload, add website upload * fix: disable showPreviews to avoid flickering * feat(temp): remove folder upload * fix: remove stuck focus on buttons even after rendering different buttons * style: merge hover and focus styles, fix safari text wrap issue * style: remove dropbox outline in safari
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import Collapse from '@material-ui/core/Collapse'
|
|
import { createStyles, makeStyles, Theme } from '@material-ui/core/styles'
|
|
import { Alert, AlertTitle } from '@material-ui/lab'
|
|
import { ReactElement } from 'react'
|
|
|
|
const LIMIT = 100_000_000 // 100 megabytes
|
|
|
|
interface Props {
|
|
files: File[]
|
|
}
|
|
|
|
const useStyles = makeStyles((theme: Theme) =>
|
|
createStyles({
|
|
root: {
|
|
width: '100%',
|
|
marginTop: theme.spacing(2),
|
|
marginBottom: theme.spacing(2),
|
|
},
|
|
}),
|
|
)
|
|
|
|
export default function UploadSizeAlert(props: Props): ReactElement | null {
|
|
const classes = useStyles()
|
|
|
|
const totalSize = props.files.reduce((previous, current) => previous + current.size, 0)
|
|
|
|
const aboveLimit = totalSize >= LIMIT
|
|
|
|
return (
|
|
<Collapse in={aboveLimit}>
|
|
<div className={classes.root}>
|
|
<Alert severity="warning">
|
|
<AlertTitle>Warning</AlertTitle>
|
|
The files you are trying to upload are above the recommended size. The chunks may not be synchronised properly
|
|
over the network.
|
|
</Alert>
|
|
</div>
|
|
</Collapse>
|
|
)
|
|
}
|