summaryrefslogtreecommitdiff
path: root/apps/web/src
diff options
context:
space:
mode:
authorMaze <167211895+mazeincoding@users.noreply.github.com>2025-07-17 13:06:06 +0200
committerGitHub <noreply@github.com>2025-07-17 13:06:06 +0200
commit5a7a089f0ea5183ebddc10fc187744bd4a8d8efc (patch)
tree7696766b86102114e36ccce2aece71706a93a31f /apps/web/src
parent9bf5ce399c98911338f47c89c31992e7e91a848d (diff)
parent36df8f2afe7952d7c23e8534375a883b32159ed6 (diff)
downloadopencut-5a7a089f0ea5183ebddc10fc187744bd4a8d8efc.tar.gz
Merge pull request #323 from khanguyen74/feature/regenerate-media-items-thumbnail
fix: regenerate video thumbnails when a project is loaded
Diffstat (limited to 'apps/web/src')
-rw-r--r--apps/web/src/stores/media-store.ts24
1 files changed, 23 insertions, 1 deletions
diff --git a/apps/web/src/stores/media-store.ts b/apps/web/src/stores/media-store.ts
index 7d4851c2..c4ee5f3e 100644
--- a/apps/web/src/stores/media-store.ts
+++ b/apps/web/src/stores/media-store.ts
@@ -213,7 +213,29 @@ export const useMediaStore = create<MediaStore>((set, get) => ({
try {
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) {
console.error("Failed to load media items:", error);
} finally {