mirror of
https://github.com/OpenCut-app/OpenCut.git
synced 2026-07-13 21:52:53 +02:00
fix: regenerate video thumbnails when loading project
This commit is contained in:
@@ -213,7 +213,28 @@ export const useMediaStore = create<MediaStore>((set, get) => ({
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const mediaItems = await storageService.loadAllMediaItems(projectId);
|
const mediaItems = await storageService.loadAllMediaItems(projectId);
|
||||||
set({ mediaItems });
|
// Regenerate thumbnails for video items
|
||||||
|
const updatedMediaItems = await Promise.all(
|
||||||
|
mediaItems.map(async (item) => {
|
||||||
|
if (item.type === "video" && item.file) {
|
||||||
|
try {
|
||||||
|
const { thumbnailUrl, width, height } = await generateVideoThumbnail(item.file);
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
thumbnailUrl,
|
||||||
|
width: width || item.width,
|
||||||
|
height: height || item.height
|
||||||
|
};
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`Failed to regenerate thumbnail for video ${item.id}:`, error);
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return item;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
set({ mediaItems: updatedMediaItems });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Failed to load media items:", error);
|
console.error("Failed to load media items:", error);
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
Reference in New Issue
Block a user