11// Simple in-memory mock store for clips
22
3+ export interface ScoreBreakdown {
4+ hook : number ;
5+ retention : number ;
6+ emotional : number ;
7+ trending : number ;
8+ }
9+
310export interface Clip {
411 id : string ;
512 userId : string ;
@@ -13,6 +20,7 @@ export interface Clip {
1320 resolution : string ;
1421 videoUrl : string ;
1522 createdAt : string ;
23+ scoreBreakdown ?: ScoreBreakdown ;
1624}
1725
1826class ClipsStore {
@@ -25,12 +33,12 @@ class ClipsStore {
2533 private seed ( ) {
2634 // Generate some mock clips to use as baseline
2735 const mockClips = [
28- { id : "1" , title : "Clip #01 - The Big Reveal Hook" , thumbnail : "/projects/thumb1.png" , score : 94 , scoreKey : "high" , duration : "00:45" , style : "Bold & Dynamic" , status : "pending" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" } ,
29- { id : "2" , title : "Clip #02 - Technical Deep Dive" , thumbnail : "/projects/thumb2.png" , score : 68 , scoreKey : "medium" , duration : "00:58" , style : "Minimalist" , status : "listed" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4" } ,
30- { id : "3" , title : "Clip #03 - Audience Reaction" , thumbnail : "/projects/thumb3.png" , score : 82 , scoreKey : "high" , duration : "00:32" , style : "Emoji-Rich" , status : "pending" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4" } ,
31- { id : "4" , title : "Clip #04 - Feature Walkthrough" , thumbnail : "/projects/thumb1.png" , score : 91 , scoreKey : "high" , duration : "00:52" , style : "Subtitles Only" , status : "history" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4" } ,
32- { id : "5" , title : "Clip #05 - Closing Remarks" , thumbnail : "/projects/thumb2.png" , score : 42 , scoreKey : "low" , duration : "01:12" , style : "Minimalist" , status : "pending" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4" } ,
33- { id : "6" , title : "Clip #06 - Product Detail B-Roll" , thumbnail : "/projects/thumb3.png" , score : 89 , scoreKey : "high" , duration : "00:44" , style : "Bold & Dynamic" , status : "listed" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerJoyrides.mp4" } ,
36+ { id : "1" , title : "Clip #01 - The Big Reveal Hook" , thumbnail : "/projects/thumb1.png" , score : 94 , scoreKey : "high" , duration : "00:45" , style : "Bold & Dynamic" , status : "pending" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" , scoreBreakdown : { hook : 96 , retention : 92 , emotional : 90 , trending : 98 } } ,
37+ { id : "2" , title : "Clip #02 - Technical Deep Dive" , thumbnail : "/projects/thumb2.png" , score : 68 , scoreKey : "medium" , duration : "00:58" , style : "Minimalist" , status : "listed" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4" , scoreBreakdown : { hook : 70 , retention : 65 , emotional : 60 , trending : 75 } } ,
38+ { id : "3" , title : "Clip #03 - Audience Reaction" , thumbnail : "/projects/thumb3.png" , score : 82 , scoreKey : "high" , duration : "00:32" , style : "Emoji-Rich" , status : "pending" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4" , scoreBreakdown : { hook : 85 , retention : 80 , emotional : 88 , trending : 75 } } ,
39+ { id : "4" , title : "Clip #04 - Feature Walkthrough" , thumbnail : "/projects/thumb1.png" , score : 91 , scoreKey : "high" , duration : "00:52" , style : "Subtitles Only" , status : "history" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4" , scoreBreakdown : { hook : 92 , retention : 90 , emotional : 85 , trending : 95 } } ,
40+ { id : "5" , title : "Clip #05 - Closing Remarks" , thumbnail : "/projects/thumb2.png" , score : 42 , scoreKey : "low" , duration : "01:12" , style : "Minimalist" , status : "pending" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4" , scoreBreakdown : { hook : 45 , retention : 40 , emotional : 38 , trending : 45 } } ,
41+ { id : "6" , title : "Clip #06 - Product Detail B-Roll" , thumbnail : "/projects/thumb3.png" , score : 89 , scoreKey : "high" , duration : "00:44" , style : "Bold & Dynamic" , status : "listed" , resolution : "1080x1920" , videoUrl : "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerJoyrides.mp4" , scoreBreakdown : { hook : 90 , retention : 88 , emotional : 85 , trending : 92 } } ,
3442 ] ;
3543
3644 // Create base pool that users will pull from
0 commit comments