added media overlay preview fallback

This commit is contained in:
dswbx
2025-04-01 13:37:11 +02:00
parent 9134d121cd
commit 44b3f72005
3 changed files with 16 additions and 4 deletions

View File

@@ -3,7 +3,7 @@
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,
"bin": "./dist/cli/index.js", "bin": "./dist/cli/index.js",
"version": "0.10.3-rc.1", "version": "0.11.0-rc.1",
"description": "Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.", "description": "Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.",
"homepage": "https://bknd.io", "homepage": "https://bknd.io",
"repository": { "repository": {

View File

@@ -44,8 +44,7 @@ export function MediaInfoModal({
return ( return (
<div className="flex flex-col md:flex-row"> <div className="flex flex-col md:flex-row">
<div className="flex w-full md:w-[calc(100%-300px)] justify-center items-center bg-lightest min-w-0"> <div className="flex w-full md:w-[calc(100%-300px)] justify-center items-center bg-lightest min-w-0">
{/* @ts-ignore */} <FilePreview file={file} />
<Media.Preview file={file} className="max-h-[70dvh]" controls muted />
</div> </div>
<div className="w-full md:!w-[300px] flex flex-col"> <div className="w-full md:!w-[300px] flex flex-col">
<Item title="ID" value={data?.id} copyValue={origin + mediaUrl} first> <Item title="ID" value={data?.id} copyValue={origin + mediaUrl} first>
@@ -157,6 +156,19 @@ const Item = ({
); );
}; };
const FilePreview = ({ file }: { file: FileState }) => {
if (file.type.startsWith("image/") || file.type.startsWith("video/")) {
// @ts-ignore
return <Media.Preview file={file} className="max-h-[70dvh]" controls muted />;
}
return (
<div className="min-w-96 min-h-48 flex justify-center items-center h-full max-h-[70dvh]">
<span className="opacity-50 font-mono">No Preview Available</span>
</div>
);
};
MediaInfoModal.defaultTitle = undefined; MediaInfoModal.defaultTitle = undefined;
MediaInfoModal.modalProps = { MediaInfoModal.modalProps = {
withCloseButton: false, withCloseButton: false,

View File

@@ -2,7 +2,7 @@ import { readFile } from "node:fs/promises";
import { serveStatic } from "@hono/node-server/serve-static"; import { serveStatic } from "@hono/node-server/serve-static";
import { showRoutes } from "hono/dev"; import { showRoutes } from "hono/dev";
import { App, registries } from "./src"; import { App, registries } from "./src";
import { StorageLocalAdapter } from "./src/media/storage/adapters/StorageLocalAdapter"; import { StorageLocalAdapter } from "./src/adapter/node";
import { EntityManager, LibsqlConnection } from "data"; import { EntityManager, LibsqlConnection } from "data";
import { __bknd } from "modules/ModuleManager"; import { __bknd } from "modules/ModuleManager";