import { Box, Grid, Typography } from '@material-ui/core'
import { Web } from '@material-ui/icons'
import { ReactElement } from 'react'
import { File, Folder } from 'react-feather'
import { FitImage } from '../../components/FitImage'
import { getHumanReadableFileSize } from '../../utils/file'
import { AssetIcon } from './AssetIcon'
import { shortenHash } from '../../utils/hash'
interface Props {
previewUri?: string
metadata?: Metadata
}
// TODO: add optional prop for indexDocument when it is already known (e.g. downloading a manifest)
export function AssetPreview({ metadata, previewUri }: Props): ReactElement | null {
let previewComponent =
let type = metadata?.type
if (metadata?.isWebsite) {
previewComponent =
type = 'Website'
} else if (metadata?.type === 'folder') {
previewComponent =
type = 'Folder'
}
return (
{previewUri ? (
) : (
)}
{metadata?.hash && Swarm Hash: {shortenHash(metadata.hash)}}
{metadata?.type === 'folder' ? 'Folder Name' : 'Filename'}: {metadata?.name}
Kind: {type}
{metadata?.size && Size: {getHumanReadableFileSize(metadata.size)}}
{metadata?.type === 'folder' && metadata.count && (
Folder content
{metadata.count} items
)}
)
}