import { WebApplication } from '@/UIModels/Application' import { concatenateUint8Arrays } from '@/Utils/ConcatenateUint8Arrays' import { DialogContent, DialogOverlay } from '@reach/dialog' import { SNFile } from '@standardnotes/snjs' import { NoPreviewIllustration } from '@standardnotes/stylekit' import { FunctionComponent } from 'preact' import { useCallback, useEffect, useRef, useState } from 'preact/hooks' import { getFileIconComponent } from '@/Components/AttachedFilesPopover/PopoverFileItem' import { Button } from '@/Components/Button/Button' import { Icon } from '@/Components/Icon' import { FilePreviewInfoPanel } from './FilePreviewInfoPanel' import { isFileTypePreviewable } from './isFilePreviewable' type Props = { application: WebApplication file: SNFile onDismiss: () => void } const getPreviewComponentForFile = (file: SNFile, objectUrl: string) => { if (file.mimeType.startsWith('image/')) { return } if (file.mimeType.startsWith('video/')) { return