Files
mtdb_movie/common/resources/client/uploads/preview/available-previews.ts
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

29 lines
1.1 KiB
TypeScript
Executable File

import {ImageFilePreview} from './file-preview/image-file-preview';
import {FileEntry} from '../file-entry';
import {DefaultFilePreview} from './file-preview/default-file-preview';
import {TextFilePreview} from './file-preview/text-file-preview';
import {VideoFilePreview} from './file-preview/video-file-preview';
import {AudioFilePreview} from './file-preview/audio-file-preview';
import {PdfFilePreview} from './file-preview/pdf-file-preview';
import {WordDocumentFilePreview} from './file-preview/word-document-file-preview';
export const AvailablePreviews = {
text: TextFilePreview,
video: VideoFilePreview,
audio: AudioFilePreview,
image: ImageFilePreview,
pdf: PdfFilePreview,
spreadsheet: WordDocumentFilePreview,
powerPoint: WordDocumentFilePreview,
word: WordDocumentFilePreview,
'text/rtf': DefaultFilePreview,
} as const;
export function getPreviewForEntry(entry: FileEntry) {
const mime = entry?.mime as keyof typeof AvailablePreviews;
const type = entry?.type as keyof typeof AvailablePreviews;
return (
AvailablePreviews[mime] || AvailablePreviews[type] || DefaultFilePreview
);
}