mirror of
https://github.com/bknd-io/bknd/
synced 2026-08-04 00:56:01 +00:00
optimize elements by reducing the bundle size required
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import type { MediaFieldSchema } from "media/AppMedia";
|
||||
import type { FileState } from "./Dropzone";
|
||||
|
||||
export function mediaItemToFileState(
|
||||
item: MediaFieldSchema,
|
||||
options: {
|
||||
overrides?: Partial<FileState>;
|
||||
baseUrl?: string;
|
||||
} = { overrides: {}, baseUrl: "" }
|
||||
): FileState {
|
||||
return {
|
||||
body: `${options.baseUrl}/api/media/file/${item.path}`,
|
||||
path: item.path,
|
||||
name: item.path,
|
||||
size: item.size ?? 0,
|
||||
type: item.mime_type ?? "",
|
||||
state: "uploaded",
|
||||
progress: 0,
|
||||
...options.overrides
|
||||
};
|
||||
}
|
||||
|
||||
export function mediaItemsToFileStates(
|
||||
items: MediaFieldSchema[],
|
||||
options: {
|
||||
overrides?: Partial<FileState>;
|
||||
baseUrl?: string;
|
||||
} = { overrides: {}, baseUrl: "" }
|
||||
): FileState[] {
|
||||
return items.map((item) => mediaItemToFileState(item, options));
|
||||
}
|
||||
Reference in New Issue
Block a user