From 459f99d5072551e5c891aef409712185ad44de99 Mon Sep 17 00:00:00 2001 From: diced Date: Wed, 20 Aug 2025 20:51:41 -0700 Subject: [PATCH] feat: pdf rendering in dashboard uses builtin browser renderer, basically every modern browser will work --- src/components/file/DashboardFileType.tsx | 19 ++++++++++++++++--- src/components/render/Pdf.tsx | 17 +++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 src/components/render/Pdf.tsx diff --git a/src/components/file/DashboardFileType.tsx b/src/components/file/DashboardFileType.tsx index cb613306..f4f93149 100755 --- a/src/components/file/DashboardFileType.tsx +++ b/src/components/file/DashboardFileType.tsx @@ -11,11 +11,12 @@ import { Text, } from '@mantine/core'; import { Icon, IconFileUnknown, IconPlayerPlay, IconShieldLockFilled } from '@tabler/icons-react'; -import { useEffect, useState, useCallback, useMemo } from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; import { renderMode } from '../pages/upload/renderMode'; +import Asciinema from '../render/Asciinema'; +import Pdf from '../render/Pdf'; import Render from '../render/Render'; import fileIcon from './fileIcon'; -import Asciinema from '../render/Asciinema'; function PlaceholderContent({ text, Icon }: { text: string; Icon: Icon }) { return ( @@ -204,6 +205,7 @@ export default function DashboardFileType({ ) : ( ); + case type === 'image': return show ? (
@@ -243,6 +245,7 @@ export default function DashboardFileType({ alt={file.name || 'Image'} /> ); + case type === 'audio': return show ? (