import { Zap, LayoutDashboard, FolderKanban, CalendarDays, Users, UserPlus, Mic2, FileText, Settings, Bell, Search, Menu, CheckCircle2, Clock, AlertCircle, Wallet, Presentation, BarChart3 } from "lucide-react"; // Helper function to generate script granularity rows where each row = 1 unit // Total rows will equal the units parameter const generateScriptGranularity = ( sessionId: string, character: string, units: number, baseTimecode: string = "00:01:00:00" ) => { const dialogLines = [ "We need to move now, there's no time to waste.", "I've seen things you wouldn't believe.", "Trust me on this one.", "That's not going to work.", "We have a problem.", "Stay focused, we're almost there.", "This changes everything.", "I didn't sign up for this.", "Keep your eyes on the target.", "We go in three, two, one...", "Something's not right here.", "I've got a bad feeling about this.", "Cover me, I'm going in.", "The mission is compromised.", "We need backup immediately.", "Hold your position.", "Confirm visual on target.", "Negative, abort mission.", "Copy that, proceeding as planned.", "This is our only chance.", "I won't let you down.", "We've been set up.", "There's no turning back now.", "On my signal, move.", "The clock is ticking.", "I've got eyes on the package.", "Breach in three seconds.", "All units, converge on my position.", "We're running out of options.", "This is bigger than we thought.", ]; const notes = [ "Urgent tone", "Reflective", "Reassuring", "Skeptical", "Worried", "Focused", "Surprised", "Reluctant", "Alert", "Commanding", "Suspicious", "Nervous", "Brave", "Tense", "Desperate", "Steady", "Professional", "Frustrated", "Calm", "Determined", "Confident", "Betrayed", "Resolute", "Authoritative", "Anxious", "Observant", "Ready", "Tactical", "Urgent", "Serious" ]; const rows = []; for (let i = 0; i < units; i++) { const hours = Math.floor(i / 60); const minutes = (i * 2) % 60; const seconds = (i * 7) % 60; const frames = (i * 3) % 25; const tcIn = `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}:${String(frames).padStart(2, '0')}`; const tcOut = `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}:${String((seconds + 5) % 60).padStart(2, '0')}:${String((frames + 12) % 25).padStart(2, '0')}`; rows.push({ id: `${sessionId}-SG-${String(i + 1).padStart(3, '0')}`, character, tcIn, tcOut, text: dialogLines[i % dialogLines.length], notes: notes[i % notes.length], tcCount: 1, status: "pending" as const, selected: true }); } return rows; }; export const mockTalents = [ { id: "TAL-001", name: "Sarah Connor", status: "Active", gender: "Female", language: "German", voiceAge: "30-40", roles: ["Main Hero", "Commander"] }, { id: "TAL-002", name: "John Wick", status: "Active", gender: "Male", language: "German", voiceAge: "40-50", roles: ["Villain", "Anti-Hero"] }, { id: "TAL-003", name: "Ellen Ripley", status: "Active", gender: "Female", language: "German", voiceAge: "30-45", roles: ["Sci-Fi Lead", "Officer"] }, { id: "TAL-004", name: "Marty McFly", status: "Active", gender: "Male", language: "German", voiceAge: "16-25", roles: ["Teenager", "Student"] }, { id: "TAL-005", name: "Han Solo", status: "Active", gender: "Male", language: "German", voiceAge: "35-45", roles: ["Smuggler", "Rogue"] }, { id: "TAL-006", name: "Leia Organa", status: "Active", gender: "Female", language: "German", voiceAge: "25-35", roles: ["Princess", "Leader"] }, { id: "TAL-007", name: "Chewie Growler", status: "Active", gender: "Male", language: "German", voiceAge: "40-50", roles: ["Creature", "Sidekick"] }, { id: "TAL-008", name: "Anthony Daniels", status: "Active", gender: "Male", language: "German", voiceAge: "45-55", roles: ["Robot", "Comic Relief"] }, { id: "TAL-009", name: "Kenny Baker", status: "Active", gender: "Male", language: "German", voiceAge: "50-60", roles: ["Robot", "Sidekick"] }, { id: "TAL-010", name: "Obi-Wan Voice", status: "Active", gender: "Male", language: "German", voiceAge: "55-65", roles: ["Mentor", "Jedi Master"] }, ]; export const mockProjects = [ { id: "PRJ-2024-001", title: "The Galactic Guardian", bcId: "1092834-DE", atlasId: "1092834-DE", atlasIdLevel: "title" as const, cast: [ { character: "Commander Shepard", talentId: "TAL-001", talentName: "Sarah Connor", lines: 450, status: "Confirmed" }, { character: "Alien Overlord", talentId: "TAL-002", talentName: "John Wick", lines: 300, status: "Casting" }, { character: "Space Pirate", talentId: "TAL-005", talentName: "Han Solo", lines: 250, status: "Confirmed" }, { character: "Galactic Princess", talentId: "TAL-006", talentName: "Leia Organa", lines: 320, status: "Confirmed" }, { character: "Wookiee Warrior", talentId: "TAL-007", talentName: "Chewbacca", lines: 150, status: "Confirmed" }, { character: "Droid C-3PO", talentId: "TAL-008", talentName: "Anthony Daniels", lines: 400, status: "Pending" }, { character: "Droid R2-D2", talentId: "TAL-009", talentName: "Kenny Baker", lines: 50, status: "Confirmed" }, { character: "Jedi Master", talentId: "TAL-010", talentName: "Obi-Wan Kenobi", lines: 280, status: "Confirmed" }, { character: "Sith Lord", talentId: "TAL-011", talentName: "Darth Vader", lines: 180, status: "Booked" }, { character: "Bounty Hunter", talentId: "TAL-012", talentName: "Boba Fett", lines: 80, status: "Pending" }, { character: "Emperor", talentId: "TAL-013", talentName: "Palpatine", lines: 120, status: "Casting" }, { character: "Smuggler", talentId: "TAL-014", talentName: "Lando Calrissian", lines: 210, status: "Confirmed" }, { character: "Corrupt Senator", talentId: "TAL-002", talentName: "John Wick", lines: 140, status: "Confirmed" }, { character: "Mercenary Leader", talentId: "TAL-002", talentName: "John Wick", lines: 95, status: "Booked" }, { character: "Pedestrian 1", talentId: "TAL-015", talentName: "Extra One", lines: 20, status: "Confirmed", wallaGroup: "Walla Group A" }, { character: "Pedestrian 2", talentId: "TAL-016", talentName: "Extra Two", lines: 15, status: "Confirmed", wallaGroup: "Walla Group A" }, { character: "Crowd Voice", talentId: "TAL-015", talentName: "Extra One", lines: 30, status: "Confirmed", wallaGroup: "Walla Group A" } ], // ... existing fields ... securityTitle: "Project Alpha", aorTitle: "The Galactic Guardian", notes: "High priority release, embargo until June 1st.", client: "Nebula Studios", masterClient: "Universal Pictures", billingCustomer: "Nebula Studios EMEA", platform: "Theatrical", clientGroup: "Major Studios", clientDivision: "Feature Animation", type: "Feature Film", channel: "Theatrical", serviceType: "Dubbing", serviceCategory: "Lip Sync", serviceSubCategory: "Theatrical Dubbing", securityLevel: "Tier 1", qualityExpectation: "Premium", mixType: "Mix 5.1", rights: "All Permitted Rights", adrType: "Iyuno AOR", language: "German", sourceLanguage: "English (US)", targetLanguage: "German", content: "Feature", contentType: "Animation", genre: "Theatrical", status: "In Progress", progress: 65, dueDate: "15.06.2024", finalDeliveryDate: "15.06.2024", recordingStartDate: "15.05.2024", recordingEndDate: "01.06.2024", budget: 45000, spent: 28500, season: null, batch: null, episodes: 1, episodeRuntime: 120, team: { manager: "Alex Morgan", director: "Sarah Jenkins", engineer: "Mike Sound", musicDirector: "Jean-Luc Ponty", translator: "Marie Curie", adaptor: "Pierre Cardin", booker: "Lisa Kudrow" }, episodesList: [ { number: 1, prefix: "EP", service: "Standard", title: "The Galactic Guardian", deliveryDate: "15.06.2024", translator: "Marie Curie", adaptor: "Pierre Cardin", jobId: "1092834_1", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "In Progress" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 2, prefix: "EP", service: "Standard", title: "Attack of the Clones", deliveryDate: "22.06.2024", translator: "Marie Curie", jobId: "1092834_2", adaptor: "Pierre Cardin", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 3, prefix: "EP", service: "Standard", title: "Revenge of the Sith", deliveryDate: "29.06.2024", translator: "Marie Curie", adaptor: "Pierre Cardin", jobId: "1092834_3", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "In Progress" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 4, prefix: "EP", service: "Standard", title: "A New Hope", deliveryDate: "06.07.2024", translator: "Marie Curie", adaptor: "Pierre Cardin", jobId: "1092834_4", milestones: { materialPrep: { status: "In Progress" }, scriptTranslation: { status: "Pending" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 5, prefix: "EP", service: "Standard", title: "The Empire Strikes Back", deliveryDate: "13.07.2024", translator: "Marie Curie", adaptor: "Pierre Cardin", jobId: "1092834_5", milestones: { materialPrep: { status: "Pending" }, scriptTranslation: { status: "Pending" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } } ], milestones: { materialPrep: { status: "Completed", subTasks: { "Source Material Video": { eta: "01.05.2024", actual: "02.05.2024" }, "Source Material Audio": { eta: "01.05.2024", actual: "02.05.2024" }, "Source Script": { eta: "01.05.2024", actual: "02.05.2024" }, "Dubbing Script Template (DT)": { eta: "02.05.2024", actual: "03.05.2024" }, "Work Material": { eta: "02.05.2024", actual: "03.05.2024" } } }, scriptTranslation: { status: "Completed", subTasks: { "Detection": { eta: "05.05.2024", actual: "06.05.2024" }, "Dialog Translation": { eta: "10.05.2024", actual: "12.05.2024" }, "Song Translation (Lyrics)": { eta: "10.05.2024", actual: "12.05.2024" }, "Adaptation": { eta: "12.05.2024", actual: "14.05.2024" } } }, voiceTalentBooking: { status: "Completed", subTasks: { "Casting": { eta: "15.05.2024", actual: "15.05.2024" } } }, preRecordingEdit: { status: "Completed", subTasks: { "Looping": { eta: "16.05.2024", actual: "16.05.2024" }, "M&E Check": { eta: "16.05.2024", actual: "16.05.2024" }, "Creative Quality Assurance": { eta: "17.05.2024", actual: "17.05.2024" } } }, recording: { status: "In Progress", subTasks: { "Recording Dialog Start": { eta: "20.05.2024", actual: "20.05.2024" }, "Recording Dialog End": { eta: "01.06.2024", actual: null }, "Recording Song Start": { eta: "25.05.2024", actual: "25.05.2024" }, "Recording Song End": { eta: "30.05.2024", actual: null } } }, postRecordingEdit: { status: "Pending", subTasks: { "Pre-Mix": { eta: "02.06.2024", actual: null }, "Dialog Edit": { eta: "05.06.2024", actual: null }, "Song Edit (Melodyne)": { eta: "05.06.2024", actual: null } } }, mix: { status: "Pending", subTasks: { "Local Mix": { eta: "10.06.2024", actual: null }, "Centralized Mix": { eta: "15.06.2024", actual: null } } }, qc: { status: "Pending", subTasks: { "Post-Mix QC": { eta: "17.06.2024", actual: null } } }, delivery: { status: "Pending", subTasks: { "Delivery for Client QC": { eta: "20.06.2024", actual: null } } }, clientQc: { status: "Pending", subTasks: { "Client QC": { eta: "25.06.2024", actual: null } } }, finalDelivery: { status: "Pending", subTasks: { "Documents Delivery": { eta: "30.06.2024", actual: null }, "Final Delivery": { eta: "30.06.2024", actual: null } } }, archive: { status: "Pending", subTasks: { "Archive Delivery": { eta: "05.07.2024", actual: null } } } } }, { id: "PRJ-2024-002", title: "Cyber City Detective", bcId: "9928371-DE", atlasId: "9928371-DE", atlasIdLevel: "title" as const, securityTitle: "Neon Nights", aorTitle: "Cyber City Detective", notes: "Simulcast release. Tight deadlines for episodes 1-3.", client: "StreamFlex", masterClient: "Netflix", billingCustomer: "StreamFlex Germany", platform: "VOD / Streaming", clientGroup: "Streaming Services", clientDivision: "Original Series", type: "Series", channel: "Home Entertainment (OTT)", serviceType: "Dubbing", serviceCategory: "Lip Sync", serviceSubCategory: "Series Dubbing", securityLevel: "Tier 2", qualityExpectation: "Standard", mixType: "Mix 2.0", rights: "Non-Theatrical", adrType: "Client AOR", language: "German", sourceLanguage: "Japanese", targetLanguage: "German", content: "Episode", contentType: "Animation", genre: "Scripted Drama", status: "Casting", progress: 15, dueDate: "01.07.2024", finalDeliveryDate: "01.07.2024", recordingStartDate: "10.06.2024", recordingEndDate: "25.06.2024", budget: 82000, spent: 5400, season: "S01", batch: "B01", episodes: 12, episodeRuntime: 45, team: { manager: "Alex Morgan", director: "Tom Ford", engineer: "Jenny Mix", musicDirector: null, translator: "Hans Zimmer", adaptor: "Clara Schumann", booker: "Lisa Kudrow" }, episodesList: [ { number: 1, prefix: "EP", service: "Standard", title: "Neon Rain", deliveryDate: "15.06.2024", translator: "Hans Zimmer", adaptor: "Clara Schumann", jobId: "9928371_1", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "Completed" }, mix: { status: "In Progress" }, delivery: { status: "Pending" } } }, { number: 2, prefix: "EP", service: "Standard", title: "Digital Shadows", deliveryDate: "22.06.2024", translator: "Hans Zimmer", adaptor: "Clara Schumann", jobId: "9928371_2", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "In Progress" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 3, prefix: "EP", service: "Standard", title: "System Failure", deliveryDate: "29.06.2024", translator: "Hans Zimmer", adaptor: "Clara Schumann", jobId: "9928371_3", milestones: { materialPrep: { status: "In Progress" }, scriptTranslation: { status: "Pending" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } } ], cast: [ { character: "Hacker Zero", talentId: "TAL-004", talentName: "Marty McFly", lines: 600, status: "Confirmed" }, { character: "Corp CEO", talentId: "TAL-003", talentName: "Ellen Ripley", lines: 150, status: "Confirmed" }, { character: "Cyber Detective", talentId: "TAL-001", talentName: "Sarah Connor", lines: 480, status: "Confirmed" }, { character: "Underground Boss", talentId: "TAL-002", talentName: "John Wick", lines: 220, status: "Booked" }, { character: "Tech Support", talentId: "TAL-008", talentName: "Anthony Daniels", lines: 180, status: "Confirmed" }, { character: "Street Dealer", talentId: "TAL-005", talentName: "Han Solo", lines: 95, status: "Pending" } ], milestones: { materialPrep: { status: "Completed", subTasks: { "Source Material Video": { eta: "20.05.2024", actual: "21.05.2024" }, "Source Material Audio": { eta: "20.05.2024", actual: "21.05.2024" }, "Source Script": { eta: "20.05.2024", actual: "21.05.2024" }, "Dubbing Script Template (DT)": { eta: "22.05.2024", actual: "23.05.2024" }, "Work Material": { eta: "22.05.2024", actual: "23.05.2024" } } }, scriptTranslation: { status: "In Progress", subTasks: { "Detection": { eta: "25.05.2024", actual: "26.05.2024" }, "Dialog Translation": { eta: "05.06.2024", actual: null }, "Song Translation (Lyrics)": { eta: "05.06.2024", actual: null }, "Adaptation": { eta: "10.06.2024", actual: null } } }, voiceTalentBooking: { status: "In Progress", subTasks: { "Casting": { eta: "10.06.2024", actual: null } } }, preRecordingEdit: { status: "Pending", subTasks: { "Looping": { eta: "12.06.2024", actual: null }, "M&E Check": { eta: "12.06.2024", actual: null }, "Creative Quality Assurance": { eta: "13.06.2024", actual: null } } }, recording: { status: "Pending", subTasks: { "Recording Dialog Start": { eta: "20.06.2024", actual: null }, "Recording Dialog End": { eta: "30.06.2024", actual: null }, "Recording Song Start": { eta: "25.06.2024", actual: null }, "Recording Song End": { eta: "28.06.2024", actual: null } } }, postRecordingEdit: { status: "Pending", subTasks: { "Pre-Mix": { eta: "02.07.2024", actual: null }, "Dialog Edit": { eta: "04.07.2024", actual: null }, "Song Edit (Melodyne)": { eta: "04.07.2024", actual: null } } }, mix: { status: "Pending", subTasks: { "Local Mix": { eta: "05.07.2024", actual: null }, "Centralized Mix": { eta: "10.07.2024", actual: null } } }, qc: { status: "Pending", subTasks: { "Post-Mix QC": { eta: "12.07.2024", actual: null } } }, delivery: { status: "Pending", subTasks: { "Delivery for Client QC": { eta: "15.07.2024", actual: null } } }, clientQc: { status: "Pending", subTasks: { "Client QC": { eta: "20.07.2024", actual: null } } }, finalDelivery: { status: "Pending", subTasks: { "Documents Delivery": { eta: "25.07.2024", actual: null }, "Final Delivery": { eta: "25.07.2024", actual: null } } }, archive: { status: "Pending", subTasks: { "Archive Delivery": { eta: "30.07.2024", actual: null } } } } }, { id: "PRJ-2024-002-B", title: "Cyber City Detective", bcId: "9928371-DE", atlasId: "9928371-DE", atlasIdLevel: "title" as const, securityTitle: "Neon Nights", aorTitle: "Cyber City Detective", notes: "Second batch of episodes.", client: "StreamFlex", masterClient: "Netflix", billingCustomer: "StreamFlex Germany", platform: "VOD / Streaming", clientGroup: "Streaming Services", clientDivision: "Original Series", type: "Series", channel: "Home Entertainment (OTT)", serviceType: "Dubbing", serviceCategory: "Lip Sync", serviceSubCategory: "Series Dubbing", securityLevel: "Tier 2", qualityExpectation: "Standard", mixType: "Mix 2.0", rights: "Non-Theatrical", adrType: "Client AOR", language: "German", sourceLanguage: "Japanese", targetLanguage: "German", content: "Episode", contentType: "Animation", genre: "Scripted Drama", status: "Scheduling", progress: 0, dueDate: "15.07.2024", finalDeliveryDate: "15.07.2024", recordingStartDate: "01.07.2024", recordingEndDate: "10.07.2024", budget: 45000, spent: 0, season: "S01", batch: "B02", episodes: 3, episodeRuntime: 45, team: { manager: "Alex Morgan", director: "Tom Ford", engineer: "Jenny Mix", musicDirector: null, translator: "Hans Zimmer", adaptor: "Clara Schumann", booker: "Lisa Kudrow" }, episodesList: [ { number: 4, prefix: "EP", service: "Standard", title: "Ghost in the Machine", deliveryDate: "05.07.2024", translator: "Hans Zimmer", adaptor: "Clara Schumann", jobId: "9928371_4", milestones: { materialPrep: { status: "In Progress" }, scriptTranslation: { status: "Pending" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 5, prefix: "EP", service: "Standard", title: "Firewall Breach", deliveryDate: "10.07.2024", translator: "Hans Zimmer", adaptor: "Clara Schumann", jobId: "9928371_5", milestones: { materialPrep: { status: "Pending" }, scriptTranslation: { status: "Pending" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 6, prefix: "EP", service: "Standard", title: "Zero Day", deliveryDate: "15.07.2024", translator: "Hans Zimmer", adaptor: "Clara Schumann", jobId: "9928371_6", milestones: { materialPrep: { status: "Pending" }, scriptTranslation: { status: "Pending" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } } ], cast: [ { character: "Hacker Zero", talentId: "TAL-004", talentName: "Marty McFly", lines: 550, status: "Confirmed" }, { character: "Corp CEO", talentId: "TAL-003", talentName: "Ellen Ripley", lines: 140, status: "Confirmed" }, { character: "Cyber Detective", talentId: "TAL-001", talentName: "Sarah Connor", lines: 420, status: "Booked" }, { character: "Underground Boss", talentId: "TAL-002", talentName: "John Wick", lines: 200, status: "Confirmed" }, { character: "Tech Support", talentId: "TAL-008", talentName: "Anthony Daniels", lines: 160, status: "Booked" } ], milestones: { materialPrep: { status: "In Progress", eta: "15.06.2024", actual: null }, scriptTranslation: { status: "Pending", eta: "20.06.2024", actual: null }, casting: { status: "Pending", eta: "25.06.2024", actual: null }, recording: { status: "Pending", eta: "05.07.2024", actual: null }, mixing: { status: "Pending", eta: "12.07.2024", actual: null } } }, { id: "PRJ-2024-003", title: "Love in Tokyo", bcId: "3829102-DE", atlasId: "3829102-DE", atlasIdLevel: "title" as const, securityTitle: null, aorTitle: "Love in Tokyo", notes: null, client: "Romance World", masterClient: "Romance World Int.", billingCustomer: "Romance World DE", platform: "Broadcast", clientGroup: "Cable TV", clientDivision: "Telenovela", type: "Feature Film", channel: "Broadcast (Linear)", serviceType: "Voice Over", serviceCategory: "Voice Over", serviceSubCategory: "Documentary VO", securityLevel: "Tier 2", qualityExpectation: "Standard", mixType: "Mix 2.0", rights: "Non-Theatrical", adrType: "Iyuno AOR", language: "German", sourceLanguage: "Korean", targetLanguage: "German", content: "Feature", contentType: "Live Action", genre: "Scripted Drama", status: "Completed", progress: 100, dueDate: "20.05.2024", finalDeliveryDate: "20.05.2024", recordingStartDate: "25.04.2024", recordingEndDate: "05.05.2024", budget: 32000, spent: 31200, season: null, batch: null, episodes: 1, episodeRuntime: 90, team: { manager: "Davide Ricci", director: "Maria Gonzalez", engineer: "Carlos Ruiz", musicDirector: null, translator: "Pablo Neruda", adaptor: "Isabel Allende", booker: "Sofia Vergara" }, episodesList: [ { number: 1, prefix: "MOV", service: "Standard", title: "Love in Tokyo", deliveryDate: "20.05.2024", translator: "Pablo Neruda", adaptor: "Isabel Allende", jobId: "3829102_1", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "Completed" }, mix: { status: "Completed" }, delivery: { status: "Completed" } } } ], cast: [ { character: "Tokyo Girl", talentId: "TAL-006", talentName: "Leia Organa", lines: 280, status: "Completed" }, { character: "American Businessman", talentId: "TAL-002", talentName: "John Wick", lines: 190, status: "Completed" }, { character: "Best Friend", talentId: "TAL-001", talentName: "Sarah Connor", lines: 145, status: "Completed" }, { character: "Narrator", talentId: "TAL-010", talentName: "Obi-Wan Voice", lines: 60, status: "Completed" } ], milestones: { materialPrep: { status: "Completed", eta: "01.04.2024", actual: "01.04.2024" }, scriptTranslation: { status: "Completed", eta: "15.04.2024", actual: "14.04.2024" }, casting: { status: "Completed", eta: "20.04.2024", actual: "21.04.2024" }, recording: { status: "Completed", eta: "05.05.2024", actual: "06.05.2024" }, mixing: { status: "Completed", eta: "15.05.2024", actual: "18.05.2024" } } }, { id: "PRJ-2024-004", title: "Junior Explorers", bcId: "4492810-DE", atlasId: "4492810-DE", atlasIdLevel: "title" as const, securityTitle: null, aorTitle: "Junior Explorers", notes: "Songs need to be adapted carefully.", client: "KidsTV", masterClient: "Global Kids Network", billingCustomer: "KidsTV Germany", platform: "VOD / Broadcast", clientGroup: "Children's Content", clientDivision: "Animation", type: "Animation Series", channel: "Broadcast (Linear)", serviceType: "Dubbing", serviceCategory: "Lip Sync", serviceSubCategory: "Animation Dubbing", securityLevel: "Tier 2", qualityExpectation: "Standard", mixType: "Mix 2.0", rights: "All Permitted Rights", adrType: "Iyuno AOR", language: "German", sourceLanguage: "English (UK)", targetLanguage: "German", content: "Episode", contentType: "Animation", genre: "Kids", status: "Scheduling", progress: 30, dueDate: "10.08.2024", finalDeliveryDate: "10.08.2024", recordingStartDate: "01.07.2024", recordingEndDate: "25.07.2024", budget: 55000, spent: 12000, season: "S03", batch: "B02", episodes: 24, episodeRuntime: 11, team: { manager: "Davide Ricci", director: "Luigi Mario", engineer: "Peach Toadstool", musicDirector: "Koji Kondo", translator: "Dante Alighieri", adaptor: "Umberto Eco", booker: "Sofia Vergara" }, episodesList: [ { number: 1, prefix: "EP", service: "Standard", title: "The Lost Temple", deliveryDate: "10.08.2024", translator: "Dante Alighieri", adaptor: "Umberto Eco", jobId: "4492810_1", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "In Progress" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 2, prefix: "EP", service: "Standard", title: "Jungle Fever", deliveryDate: "17.08.2024", translator: "Dante Alighieri", adaptor: "Umberto Eco", jobId: "4492810_2", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "In Progress" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, ], cast: [ { character: "Explorer Boy", talentId: "TAL-004", talentName: "Marty McFly", lines: 320, status: "Confirmed" }, { character: "Explorer Girl", talentId: "TAL-006", talentName: "Leia Organa", lines: 280, status: "Confirmed" }, { character: "Wise Owl", talentId: "TAL-010", talentName: "Obi-Wan Voice", lines: 180, status: "Booked" }, { character: "Jungle Guide", talentId: "TAL-005", talentName: "Han Solo", lines: 150, status: "Confirmed" }, { character: "Temple Guardian", talentId: "TAL-002", talentName: "John Wick", lines: 90, status: "Pending" }, { character: "Comic Sidekick", talentId: "TAL-008", talentName: "Anthony Daniels", lines: 220, status: "Confirmed" } ], milestones: { materialPrep: { status: "Completed", eta: "01.06.2024", actual: "02.06.2024" }, scriptTranslation: { status: "Completed", eta: "15.06.2024", actual: "15.06.2024" }, casting: { status: "Pending", eta: "25.06.2024", actual: null }, recording: { status: "Pending", eta: "10.07.2024", actual: null }, mixing: { status: "Pending", eta: "25.07.2024", actual: null } } }, { id: "PRJ-2024-005", title: "Dark Fantasy Chronicles", bcId: "5547891-DE", atlasId: "5547891-DE", atlasIdLevel: "title" as const, securityTitle: "Shadow Realm", aorTitle: "Dark Fantasy Chronicles", notes: "Epic fantasy series - intensive dialogue.", client: "Amazon Prime", masterClient: "Amazon Studios", billingCustomer: "Amazon Prime DE", platform: "VOD / Streaming", clientGroup: "Streaming Services", clientDivision: "Original Series", type: "Series", channel: "Home Entertainment (OTT)", serviceType: "Dubbing", serviceCategory: "Lip Sync", serviceSubCategory: "Series Dubbing", securityLevel: "Tier 1", qualityExpectation: "Premium", mixType: "Mix 5.1", rights: "All Permitted Rights", adrType: "Iyuno AOR", language: "German", sourceLanguage: "English (US)", targetLanguage: "German", content: "Episode", contentType: "Live Action", genre: "Scripted Drama", status: "In Progress", progress: 45, dueDate: "30.06.2024", finalDeliveryDate: "30.06.2024", recordingStartDate: "01.06.2024", recordingEndDate: "20.06.2024", budget: 120000, spent: 45000, season: "S02", batch: "B01", episodes: 8, episodeRuntime: 55, team: { manager: "Alex Morgan", director: "Sarah Jenkins", engineer: "Mike Sound", musicDirector: "Hans Zimmer", translator: "Marie Curie", adaptor: "Pierre Cardin", booker: "Lisa Kudrow" }, episodesList: [ { number: 1, prefix: "EP", service: "Standard", title: "The Shadow King", deliveryDate: "10.06.2024", translator: "Marie Curie", adaptor: "Pierre Cardin", jobId: "5547891_1", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "Completed" }, mix: { status: "In Progress" }, delivery: { status: "Pending" } } }, { number: 2, prefix: "EP", service: "Standard", title: "Dragon's Breath", deliveryDate: "15.06.2024", translator: "Marie Curie", adaptor: "Pierre Cardin", jobId: "5547891_2", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "In Progress" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 3, prefix: "EP", service: "Standard", title: "The Witch Queen", deliveryDate: "20.06.2024", translator: "Marie Curie", adaptor: "Pierre Cardin", jobId: "5547891_3", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "In Progress" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } }, { number: 4, prefix: "EP", service: "Standard", title: "Battle of Shadows", deliveryDate: "25.06.2024", translator: "Marie Curie", adaptor: "Pierre Cardin", jobId: "5547891_4", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Pending" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } } ], cast: [ { character: "Shadow King", talentId: "TAL-002", talentName: "John Wick", lines: 520, status: "Confirmed" }, { character: "Witch Queen", talentId: "TAL-003", talentName: "Ellen Ripley", lines: 480, status: "Confirmed" }, { character: "Knight Captain", talentId: "TAL-001", talentName: "Sarah Connor", lines: 380, status: "Confirmed" }, { character: "Dragon Rider", talentId: "TAL-005", talentName: "Han Solo", lines: 350, status: "Booked" }, { character: "Princess", talentId: "TAL-006", talentName: "Leia Organa", lines: 290, status: "Confirmed" }, { character: "Old Sage", talentId: "TAL-010", talentName: "Obi-Wan Voice", lines: 180, status: "Confirmed" }, { character: "Court Jester", talentId: "TAL-008", talentName: "Anthony Daniels", lines: 160, status: "Booked" }, { character: "Young Squire", talentId: "TAL-004", talentName: "Marty McFly", lines: 220, status: "Confirmed" } ], milestones: { materialPrep: { status: "Completed", eta: "15.05.2024", actual: "16.05.2024" }, scriptTranslation: { status: "In Progress", eta: "25.05.2024", actual: null }, casting: { status: "Completed", eta: "28.05.2024", actual: "28.05.2024" }, recording: { status: "In Progress", eta: "15.06.2024", actual: null }, mixing: { status: "Pending", eta: "25.06.2024", actual: null } } }, { id: "PRJ-2024-006", title: "Medical Drama ER", bcId: "6629100-DE", atlasId: "6629100-DE", atlasIdLevel: "title" as const, securityTitle: null, aorTitle: "Medical Drama ER", notes: "Technical medical terminology requires expert translators.", client: "NBC Universal", masterClient: "NBC Universal Int.", billingCustomer: "NBC Universal EMEA", platform: "Broadcast", clientGroup: "Cable TV", clientDivision: "Drama", type: "Series", channel: "Broadcast (Linear)", serviceType: "Dubbing", serviceCategory: "Lip Sync", serviceSubCategory: "Series Dubbing", securityLevel: "Tier 2", qualityExpectation: "Standard", mixType: "Mix 2.0", rights: "Non-Theatrical", adrType: "Client AOR", language: "German", sourceLanguage: "English (US)", targetLanguage: "German", content: "Episode", contentType: "Live Action", genre: "Scripted Drama", status: "In Progress", progress: 55, dueDate: "20.06.2024", finalDeliveryDate: "20.06.2024", recordingStartDate: "20.05.2024", recordingEndDate: "10.06.2024", budget: 75000, spent: 38000, season: "S05", batch: "B03", episodes: 6, episodeRuntime: 42, team: { manager: "Davide Ricci", director: "Maria Gonzalez", engineer: "Carlos Ruiz", musicDirector: null, translator: "Dr. Thomas Mann", adaptor: "Franz Kafka", booker: "Sofia Vergara" }, episodesList: [ { number: 13, prefix: "EP", service: "Standard", title: "Code Blue", deliveryDate: "05.06.2024", translator: "Dr. Thomas Mann", adaptor: "Franz Kafka", jobId: "6629100_13", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "Completed" }, mix: { status: "Completed" }, delivery: { status: "Completed" } } }, { number: 14, prefix: "EP", service: "Standard", title: "Emergency Room", deliveryDate: "10.06.2024", translator: "Dr. Thomas Mann", adaptor: "Franz Kafka", jobId: "6629100_14", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "Completed" }, mix: { status: "In Progress" }, delivery: { status: "Pending" } } }, { number: 15, prefix: "EP", service: "Standard", title: "Night Shift", deliveryDate: "15.06.2024", translator: "Dr. Thomas Mann", adaptor: "Franz Kafka", jobId: "6629100_15", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "In Progress" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } } ], cast: [ { character: "Dr. Sarah Mitchell", talentId: "TAL-001", talentName: "Sarah Connor", lines: 680, status: "Confirmed" }, { character: "Dr. James Hunter", talentId: "TAL-002", talentName: "John Wick", lines: 520, status: "Confirmed" }, { character: "Head Nurse", talentId: "TAL-003", talentName: "Ellen Ripley", lines: 380, status: "Confirmed" }, { character: "Medical Intern", talentId: "TAL-004", talentName: "Marty McFly", lines: 290, status: "Booked" }, { character: "Hospital Director", talentId: "TAL-010", talentName: "Obi-Wan Voice", lines: 150, status: "Confirmed" }, { character: "Paramedic Lead", talentId: "TAL-005", talentName: "Han Solo", lines: 180, status: "Confirmed" }, { character: "Nurse Jenny", talentId: "TAL-006", talentName: "Leia Organa", lines: 210, status: "Booked" } ], milestones: { materialPrep: { status: "Completed", eta: "01.05.2024", actual: "02.05.2024" }, scriptTranslation: { status: "Completed", eta: "15.05.2024", actual: "14.05.2024" }, casting: { status: "Completed", eta: "18.05.2024", actual: "18.05.2024" }, recording: { status: "In Progress", eta: "08.06.2024", actual: null }, mixing: { status: "Pending", eta: "18.06.2024", actual: null } } }, { id: "PRJ-2024-007", title: "Action Heroes Unite", bcId: "7730201-DE", atlasId: "7730201-DE", atlasIdLevel: "title" as const, securityTitle: "Team Omega", aorTitle: "Action Heroes Unite", notes: "Lots of action sequences with sound effects.", client: "Warner Bros", masterClient: "Warner Bros Int.", billingCustomer: "Warner Bros EMEA", platform: "Theatrical", clientGroup: "Major Studios", clientDivision: "Feature Films", type: "Feature Film", channel: "Theatrical", serviceType: "Dubbing", serviceCategory: "Lip Sync", serviceSubCategory: "Theatrical Dubbing", securityLevel: "Tier 1", qualityExpectation: "Premium", mixType: "Mix 5.1", rights: "All Permitted Rights", adrType: "Iyuno AOR", language: "German", sourceLanguage: "English (US)", targetLanguage: "German", content: "Feature", contentType: "Live Action", genre: "Action", status: "Casting", progress: 20, dueDate: "25.07.2024", finalDeliveryDate: "25.07.2024", recordingStartDate: "01.07.2024", recordingEndDate: "15.07.2024", budget: 95000, spent: 12000, season: null, batch: null, episodes: 1, episodeRuntime: 135, team: { manager: "Alex Morgan", director: "Tom Ford", engineer: "Mike Sound", musicDirector: "Ludwig Goransson", translator: "Marie Curie", adaptor: "Pierre Cardin", booker: "Lisa Kudrow" }, episodesList: [ { number: 1, prefix: "MOV", service: "Premium", title: "Action Heroes Unite", deliveryDate: "25.07.2024", translator: "Marie Curie", adaptor: "Pierre Cardin", jobId: "7730201_1", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "In Progress" }, recording: { status: "Pending" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } } ], cast: [ { character: "Team Leader", talentId: "TAL-001", talentName: "Sarah Connor", lines: 580, status: "Confirmed" }, { character: "Villain Boss", talentId: "TAL-002", talentName: "John Wick", lines: 420, status: "Booked" }, { character: "Tech Expert", talentId: "TAL-003", talentName: "Ellen Ripley", lines: 340, status: "Confirmed" }, { character: "Young Recruit", talentId: "TAL-004", talentName: "Marty McFly", lines: 280, status: "Confirmed" }, { character: "Pilot", talentId: "TAL-005", talentName: "Han Solo", lines: 310, status: "Confirmed" }, { character: "Intel Officer", talentId: "TAL-006", talentName: "Leia Organa", lines: 250, status: "Booked" }, { character: "Robot Assistant", talentId: "TAL-008", talentName: "Anthony Daniels", lines: 180, status: "Confirmed" }, { character: "Mentor General", talentId: "TAL-010", talentName: "Obi-Wan Voice", lines: 120, status: "Pending" } ], milestones: { materialPrep: { status: "Completed", eta: "01.06.2024", actual: "02.06.2024" }, scriptTranslation: { status: "In Progress", eta: "20.06.2024", actual: null }, casting: { status: "In Progress", eta: "28.06.2024", actual: null }, recording: { status: "Pending", eta: "12.07.2024", actual: null }, mixing: { status: "Pending", eta: "22.07.2024", actual: null } } }, { id: "PRJ-2024-008", title: "Anime Adventure", bcId: "8841302-DE", atlasId: "8841302-DE", atlasIdLevel: "title" as const, securityTitle: null, aorTitle: "Anime Adventure", notes: "Popular anime series - high fan expectations.", client: "Crunchyroll", masterClient: "Sony Pictures", billingCustomer: "Crunchyroll EU", platform: "VOD / Streaming", clientGroup: "Streaming Services", clientDivision: "Anime", type: "Series", channel: "Home Entertainment (OTT)", serviceType: "Dubbing", serviceCategory: "Lip Sync", serviceSubCategory: "Anime Dubbing", securityLevel: "Tier 2", qualityExpectation: "Standard", mixType: "Mix 2.0", rights: "Non-Theatrical", adrType: "Client AOR", language: "German", sourceLanguage: "Japanese", targetLanguage: "German", content: "Episode", contentType: "Animation", genre: "Anime", status: "In Progress", progress: 60, dueDate: "05.07.2024", finalDeliveryDate: "05.07.2024", recordingStartDate: "15.05.2024", recordingEndDate: "25.06.2024", budget: 68000, spent: 42000, season: "S01", batch: "B01", episodes: 12, episodeRuntime: 24, team: { manager: "Davide Ricci", director: "Tom Ford", engineer: "Jenny Mix", musicDirector: "Yoko Kanno", translator: "Haruki Murakami", adaptor: "Kazuo Ishiguro", booker: "Sofia Vergara" }, episodesList: [ { number: 1, prefix: "EP", service: "Standard", title: "New Beginnings", deliveryDate: "15.06.2024", translator: "Haruki Murakami", adaptor: "Kazuo Ishiguro", jobId: "8841302_1", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "Completed" }, mix: { status: "Completed" }, delivery: { status: "Completed" } } }, { number: 2, prefix: "EP", service: "Standard", title: "The Tournament", deliveryDate: "22.06.2024", translator: "Haruki Murakami", adaptor: "Kazuo Ishiguro", jobId: "8841302_2", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "Completed" }, mix: { status: "In Progress" }, delivery: { status: "Pending" } } }, { number: 3, prefix: "EP", service: "Standard", title: "Training Arc", deliveryDate: "29.06.2024", translator: "Haruki Murakami", adaptor: "Kazuo Ishiguro", jobId: "8841302_3", milestones: { materialPrep: { status: "Completed" }, scriptTranslation: { status: "Completed" }, recording: { status: "In Progress" }, mix: { status: "Pending" }, delivery: { status: "Pending" } } } ], cast: [ { character: "Main Protagonist", talentId: "TAL-004", talentName: "Marty McFly", lines: 720, status: "Confirmed" }, { character: "Rival Fighter", talentId: "TAL-002", talentName: "John Wick", lines: 380, status: "Confirmed" }, { character: "Team Captain", talentId: "TAL-001", talentName: "Sarah Connor", lines: 290, status: "Booked" }, { character: "Love Interest", talentId: "TAL-006", talentName: "Leia Organa", lines: 340, status: "Confirmed" }, { character: "Sensei Master", talentId: "TAL-010", talentName: "Obi-Wan Voice", lines: 200, status: "Confirmed" }, { character: "Comic Relief", talentId: "TAL-007", talentName: "Chewie Growler", lines: 150, status: "Booked" }, { character: "Robot Companion", talentId: "TAL-009", talentName: "Kenny Baker", lines: 80, status: "Confirmed" } ], milestones: { materialPrep: { status: "Completed", eta: "01.05.2024", actual: "02.05.2024" }, scriptTranslation: { status: "Completed", eta: "10.05.2024", actual: "11.05.2024" }, casting: { status: "Completed", eta: "14.05.2024", actual: "14.05.2024" }, recording: { status: "In Progress", eta: "20.06.2024", actual: null }, mixing: { status: "Pending", eta: "02.07.2024", actual: null } } }, ]; export const mockResources = [ { id: "RES-001", name: "Studio A", type: "Room", subType: "Recording", status: "Active" }, { id: "RES-002", name: "Studio B", type: "Room", subType: "Recording", status: "Inactive" }, { id: "RES-003", name: "Mix Room 1", type: "Room", subType: "Mixing", status: "Active" }, { id: "RES-004", name: "John Doe", type: "Personnel", subType: "Sound Engineer", skills: ["Mixing", "Recording"], status: "Active" }, { id: "RES-005", name: "Jane Smith", type: "Personnel", subType: "Director", skills: ["Dubbing", "Animation"], status: "Active" }, { id: "RES-006", name: "Maria Garcia", type: "Personnel", subType: "Voice Talent", skills: ["Spanish", "French"], status: "Active" }, ]; export const mockScripts = [ { id: "SCR-001", project: "The Galactic Guardian", version: "v2.1", lines: 1450, status: "Ready for Recording", lastUpdated: "01.06.2024" }, { id: "SCR-002", project: "Cyber City Detective - Ep 1", version: "v1.0", lines: 850, status: "Translation", lastUpdated: "03.06.2024" }, { id: "SCR-003", project: "Junior Explorers - Ep 5", version: "v3.0", lines: 400, status: "Adaptation", lastUpdated: "28.05.2024" }, ]; export const mockWorkOrders = [ { id: "WO-101", project: "The Galactic Guardian", task: "Dubbing - Main Character", resource: "Studio A", talent: "Sarah Connor", date: "02.06.2024", time: "10:00 - 14:00", startTime: "10:00", endTime: "14:00", status: "Completed", milestone: "Recording Start", service: "ADR", type: "Recording", city: "Berlin", office: "Iyuno Berlin", room: "Studio 1", bookedUnits: 45, sessions: [ { id: "SES-101-1", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-001", talentName: "Sarah Connor", characterId: "CH-001", characterName: "Commander Shepard", episodeId: "EP-1", episodeNumber: 1, startTime: "10:00", endTime: "12:00", duration: 120, bookedUnits: 25, scriptGranularity: generateScriptGranularity("SES-101-1", "Commander Shepard", 25) }, { id: "SES-101-2", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-001", talentName: "Sarah Connor", characterId: "CH-001", characterName: "Commander Shepard", episodeId: "EP-2", episodeNumber: 2, startTime: "12:00", endTime: "14:00", duration: 120, bookedUnits: 20, scriptGranularity: generateScriptGranularity("SES-101-2", "Commander Shepard", 20) } ] }, { id: "WO-102", project: "The Galactic Guardian", task: "Mixing - Reel 1", resource: "Mix Room 1", engineer: "Mike Sound", date: "02.06.2024", time: "14:30 - 18:00", startTime: "14:30", endTime: "18:00", status: "Completed", milestone: "Mix Review", service: "MIX", type: "Mixing", city: "Berlin", office: "Iyuno Berlin", room: "Mix A", bookedUnits: 35, sessions: [ { id: "SES-102-1", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: null, talentName: "Mix Session", characterId: null, characterName: "Reel 1", episodeId: "EP-1", episodeNumber: 1, startTime: "14:30", endTime: "18:00", duration: 210, bookedUnits: 35, scriptGranularity: generateScriptGranularity("SES-102-1", "Reel 1", 35) } ] }, { id: "WO-103", project: "Cyber City Detective", task: "Casting - Lead Villain", resource: "Casting Booth", director: "Jane Doe", date: "03.06.2024", time: "09:00 - 12:00", startTime: "09:00", endTime: "12:00", status: "Completed", milestone: "Casting Selection", service: "Casting", type: "Review", city: "Munich", office: "Iyuno Munich", room: "Cast 1", bookedUnits: 30, sessions: [ { id: "SES-103-1", projectId: "PRJ-2024-002", projectTitle: "Cyber City Detective", talentId: "TAL-002", talentName: "John Wick", characterId: "CH-004", characterName: "Underground Boss", episodeId: "EP-1", episodeNumber: 1, startTime: "09:00", endTime: "12:00", duration: 180, bookedUnits: 30, scriptGranularity: generateScriptGranularity("SES-103-1", "Underground Boss", 30) } ] }, // New ADR Recording Work Orders { id: "WO-104", project: "The Galactic Guardian", task: "ADR - Commander Shepard", resource: "Studio B", talent: "Sarah Connor", date: "03.06.2024", time: "10:00 - 13:00", startTime: "10:00", endTime: "13:00", status: "Completed", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Berlin", office: "Iyuno Berlin", room: "Studio 2", bookedUnits: 32, sessions: [ { id: "SES-104-1", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-001", talentName: "Sarah Connor", characterId: "CH-001", characterName: "Commander Shepard", episodeId: "EP-3", episodeNumber: 3, startTime: "10:00", endTime: "13:00", duration: 180, bookedUnits: 32, scriptGranularity: generateScriptGranularity("SES-104-1", "Commander Shepard", 32) } ] }, { id: "WO-105", project: "The Galactic Guardian", task: "ADR - Alien Overlord", resource: "Studio A", talent: "John Wick", date: "04.06.2024", time: "14:00 - 18:00", startTime: "14:00", endTime: "18:00", status: "Completed", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Berlin", office: "Iyuno Berlin", room: "Studio 1", bookedUnits: 40, sessions: [ { id: "SES-105-1", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-002", talentName: "John Wick", characterId: "CH-002", characterName: "Alien Overlord", episodeId: "EP-1", episodeNumber: 1, startTime: "14:00", endTime: "16:00", duration: 120, bookedUnits: 20, scriptGranularity: generateScriptGranularity("SES-105-1", "Alien Overlord", 20) }, { id: "SES-105-2", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-002", talentName: "John Wick", characterId: "CH-002", characterName: "Alien Overlord", episodeId: "EP-2", episodeNumber: 2, startTime: "16:00", endTime: "18:00", duration: 120, bookedUnits: 20, scriptGranularity: generateScriptGranularity("SES-105-2", "Alien Overlord", 20) } ] }, { id: "WO-106", project: "The Galactic Guardian", task: "ADR - Space Pirate", resource: "Studio C", talent: "Han Solo", date: "05.06.2024", time: "09:00 - 12:00", startTime: "09:00", endTime: "12:00", status: "Completed", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Hamburg", office: "Iyuno Hamburg", room: "Studio 5", bookedUnits: 25, sessions: [ { id: "SES-106-1", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-005", talentName: "Han Solo", characterId: "CH-003", characterName: "Space Pirate", episodeId: "EP-1", episodeNumber: 1, startTime: "09:00", endTime: "12:00", duration: 180, bookedUnits: 25, scriptGranularity: generateScriptGranularity("SES-106-1", "Space Pirate", 25) } ] }, { id: "WO-107", project: "The Galactic Guardian", task: "ADR - Wookiee Warrior", resource: "Studio A", talent: "Chewbacca", date: "05.06.2024", time: "13:00 - 15:00", startTime: "13:00", endTime: "15:00", status: "Completed", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Berlin", office: "Iyuno Berlin", room: "Studio 1", bookedUnits: 15, sessions: [ { id: "SES-107-1", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-007", talentName: "Chewbacca", characterId: "CH-005", characterName: "Wookiee Warrior", episodeId: "EP-1", episodeNumber: 1, startTime: "13:00", endTime: "15:00", duration: 120, bookedUnits: 15, scriptGranularity: generateScriptGranularity("SES-107-1", "Wookiee Warrior", 15) } ] }, { id: "WO-108", project: "The Galactic Guardian", task: "ADR - Droid C-3PO", resource: "Studio B", talent: "Anthony Daniels", date: "06.06.2024", time: "10:00 - 14:00", startTime: "10:00", endTime: "14:00", status: "Completed", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Berlin", office: "Iyuno Berlin", room: "Studio 2", bookedUnits: 42, sessions: [ { id: "SES-108-1", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-008", talentName: "Anthony Daniels", characterId: "CH-006", characterName: "Droid C-3PO", episodeId: "EP-1", episodeNumber: 1, startTime: "10:00", endTime: "12:00", duration: 120, bookedUnits: 21, scriptGranularity: generateScriptGranularity("SES-108-1", "Droid C-3PO", 21) }, { id: "SES-108-2", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-008", talentName: "Anthony Daniels", characterId: "CH-006", characterName: "Droid C-3PO", episodeId: "EP-2", episodeNumber: 2, startTime: "12:00", endTime: "14:00", duration: 120, bookedUnits: 21, scriptGranularity: generateScriptGranularity("SES-108-2", "Droid C-3PO", 21) } ] }, { id: "WO-109", project: "The Galactic Guardian", task: "ADR - Jedi Master", resource: "Studio A", talent: "Obi-Wan Kenobi", date: "07.06.2024", time: "09:00 - 17:00", startTime: "09:00", endTime: "17:00", status: "Completed", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Munich", office: "Iyuno Munich", room: "Studio 1", bookedUnits: 80, sessions: [ { id: "SES-109-1", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-010", talentName: "Obi-Wan Kenobi", characterId: "CH-008", characterName: "Jedi Master", episodeId: "EP-1", episodeNumber: 1, startTime: "09:00", endTime: "11:00", duration: 120, bookedUnits: 20, scriptGranularity: generateScriptGranularity("SES-109-1", "Jedi Master", 20) }, { id: "SES-109-2", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-010", talentName: "Obi-Wan Kenobi", characterId: "CH-008", characterName: "Jedi Master", episodeId: "EP-2", episodeNumber: 2, startTime: "11:00", endTime: "13:00", duration: 120, bookedUnits: 20, scriptGranularity: generateScriptGranularity("SES-109-2", "Jedi Master", 20) }, { id: "SES-109-3", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-010", talentName: "Obi-Wan Kenobi", characterId: "CH-008", characterName: "Jedi Master", episodeId: "EP-3", episodeNumber: 3, startTime: "13:00", endTime: "15:00", duration: 120, bookedUnits: 20, scriptGranularity: generateScriptGranularity("SES-109-3", "Jedi Master", 20) }, { id: "SES-109-4", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-010", talentName: "Obi-Wan Kenobi", characterId: "CH-008", characterName: "Jedi Master", episodeId: "EP-4", episodeNumber: 4, startTime: "15:00", endTime: "17:00", duration: 120, bookedUnits: 20, scriptGranularity: generateScriptGranularity("SES-109-4", "Jedi Master", 20) } ] }, { id: "WO-110", project: "The Galactic Guardian", task: "ADR - Sith Lord", resource: "Studio D", talent: "Darth Vader", date: "10.06.2024", time: "11:00 - 15:00", startTime: "11:00", endTime: "15:00", status: "Booked", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Berlin", office: "Iyuno Berlin", room: "Studio 4", bookedUnits: 38 }, { id: "WO-111", project: "The Galactic Guardian", task: "ADR - Bounty Hunter", resource: "Studio C", talent: "Boba Fett", date: "11.06.2024", time: "14:00 - 16:00", startTime: "14:00", endTime: "16:00", status: "Pending", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Hamburg", office: "Iyuno Hamburg", room: "Studio 5", bookedUnits: 18 }, { id: "WO-112", project: "The Galactic Guardian", task: "ADR - Emperor", resource: "Studio A", talent: "Palpatine", date: "12.06.2024", time: "10:00 - 12:00", startTime: "10:00", endTime: "12:00", status: "Booked", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Berlin", office: "Iyuno Berlin", room: "Studio 1", bookedUnits: 20, sessions: [ { id: "SES-112-1", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", talentId: "TAL-013", talentName: "Palpatine", characterId: "CH-011", characterName: "Emperor", episodeId: "EP-1", episodeNumber: 1, startTime: "10:00", endTime: "12:00", duration: 120, bookedUnits: 20, scriptGranularity: generateScriptGranularity("SES-112-1", "Emperor", 20) } ] }, { id: "WO-113", project: "The Galactic Guardian", task: "ADR - Smuggler", resource: "Studio B", talent: "Lando Calrissian", date: "13.06.2024", time: "13:00 - 17:00", startTime: "13:00", endTime: "17:00", status: "Booked", milestone: "Recording Dialog", service: "ADR", type: "Recording", city: "Berlin", office: "Iyuno Berlin", room: "Studio 2", bookedUnits: 45 } ]; export const mockPersonnel = [ { id: "PER-001", name: "Sarah Jenkins", role: "Director", location: "Berlin" }, { id: "PER-002", name: "Tom Ford", role: "Director", location: "London" }, { id: "PER-003", name: "Maria Gonzalez", role: "Director", location: "Madrid" }, { id: "PER-004", name: "Luigi Mario", role: "Director", location: "Rome" }, { id: "PER-005", name: "Mike Sound", role: "Engineer", location: "Berlin" }, { id: "PER-006", name: "Jenny Mix", role: "Engineer", location: "London" }, { id: "PER-007", name: "Carlos Ruiz", role: "Engineer", location: "Madrid" }, { id: "PER-008", name: "Peach Toadstool", role: "Engineer", location: "Rome" }, { id: "PER-009", name: "Eddie Edit", role: "Editor", location: "Berlin" }, { id: "PER-010", name: "Cutter Slade", role: "Editor", location: "London" }, ]; export const mockStudios = [ { city: "Berlin", offices: [ { name: "Iyuno Berlin", rooms: ["Studio 1", "Studio 2", "Studio 3", "Studio 4", "Mix A", "Mix B"] }, { name: "Iyuno Potsdam", rooms: ["Studio A", "Studio B"] } ] }, { city: "Munich", offices: [ { name: "Iyuno Munich", rooms: ["Studio 1", "Studio 2", "Cast 1"] } ] }, { city: "Hamburg", offices: [ { name: "Iyuno Hamburg", rooms: ["Studio 1", "Studio 5", "Mix 1"] } ] } ]; export const mockStats = [ { label: "Active Projects", value: "12", trend: "+2", icon: FolderKanban, color: "text-blue-500" }, { label: "Studio Utilization", value: "85%", trend: "+5%", icon: Zap, color: "text-amber-500" }, { label: "Pending Castings", value: "8", trend: "-1", icon: Users, color: "text-purple-500" }, { label: "Deadlines Today", value: "3", trend: "0", icon: CalendarDays, color: "text-red-500" }, ]; export const navItems = [ { icon: LayoutDashboard, label: "Dashboard", href: "/" }, { icon: FolderKanban, label: "Projects", href: "/projects" }, { icon: CalendarDays, label: "Scheduler", href: "/schedule" }, { icon: Mic2, label: "Talent Booking", href: "/talent" }, { icon: Users, label: "Resources", href: "/resources" }, { icon: FileText, label: "Scripts", href: "/scripts" }, { icon: BarChart3, label: "Reporting", href: "/reporting" }, { icon: Settings, label: "Settings", href: "/settings" }, ]; import type { WorkOrder, Session } from "./workOrderTypes"; export const mockHierarchicalWorkOrders: WorkOrder[] = [ { id: "WO-H-001", date: "15.01.2026", startTime: "09:00", endTime: "13:00", city: "Berlin", office: "Iyuno Berlin", room: "Studio 1", director: "Sarah Jenkins", engineer: "Mike Sound", editor: "Eddie Edit", status: "Scheduled", service: "ADR", type: "Recording", sessions: [ { id: "SES-001", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", projectBcId: "1092834-DE", episodeId: "EP-01", episodeNumber: "S01E01", characterId: "CHAR-001", characterName: "Commander Shepard", talentId: "TAL-001", talentName: "Sarah Connor", duration: 60, startTime: "09:00", endTime: "10:00", bookedUnits: 15, orderIndex: 0, scriptGranularity: generateScriptGranularity("SES-001", "Commander Shepard", 15) }, { id: "SES-002", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", projectBcId: "1092834-DE", episodeId: "EP-02", episodeNumber: "S01E02", characterId: "CHAR-001", characterName: "Commander Shepard", talentId: "TAL-001", talentName: "Sarah Connor", duration: 60, startTime: "10:00", endTime: "11:00", bookedUnits: 12, orderIndex: 1, scriptGranularity: generateScriptGranularity("SES-002", "Commander Shepard", 12) }, { id: "SES-003", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", projectBcId: "1092834-DE", episodeId: "EP-03", episodeNumber: "S01E03", characterId: "CHAR-001", characterName: "Commander Shepard", talentId: "TAL-001", talentName: "Sarah Connor", duration: 120, startTime: "11:00", endTime: "13:00", bookedUnits: 28, orderIndex: 2, scriptGranularity: generateScriptGranularity("SES-003", "Commander Shepard", 28) } ], createdAt: "2026-01-10T08:00:00Z", createdBy: "admin" }, { id: "WO-H-002", date: "16.01.2026", startTime: "14:00", endTime: "18:00", city: "Berlin", office: "Iyuno Berlin", room: "Studio 2", director: "Sarah Jenkins", engineer: "Mike Sound", status: "Scheduled", service: "ADR", type: "Recording", sessions: [ { id: "SES-004", projectId: "PRJ-2024-001", projectTitle: "The Galactic Guardian", projectBcId: "1092834-DE", episodeId: "EP-01", episodeNumber: "S01E01", characterId: "CHAR-002", characterName: "Alien Overlord", talentId: "TAL-002", talentName: "John Wick", duration: 90, startTime: "14:00", endTime: "15:30", bookedUnits: 22, orderIndex: 0, scriptGranularity: generateScriptGranularity("SES-004", "Alien Overlord", 22) }, { id: "SES-005", projectId: "PRJ-2024-002", projectTitle: "Cyber City Detective", projectBcId: "1092835-DE", episodeId: "EP-CCD-01", episodeNumber: "Ep 1", characterId: "CHAR-CCD-001", characterName: "Detective Kane", talentId: "TAL-002", talentName: "John Wick", duration: 150, startTime: "15:30", endTime: "18:00", bookedUnits: 35, orderIndex: 1, scriptGranularity: generateScriptGranularity("SES-005", "Detective Kane", 35) } ], createdAt: "2026-01-10T09:00:00Z", createdBy: "admin" }, { id: "WO-H-003", date: "17.01.2026", startTime: "10:00", endTime: "12:30", city: "Munich", office: "Iyuno Munich", room: "Studio 1", director: "Tom Ford", engineer: "Carlos Ruiz", status: "Completed", service: "ADR", type: "Recording", sessions: [ { id: "SES-006", projectId: "PRJ-2024-003", projectTitle: "Junior Explorers", projectBcId: "1092836-DE", episodeId: "EP-JE-05", episodeNumber: "Ep 5", characterId: "CHAR-JE-001", characterName: "Timmy Explorer", talentId: "TAL-004", talentName: "Marty McFly", duration: 150, startTime: "10:00", endTime: "12:30", bookedUnits: 40, orderIndex: 0, scriptGranularity: generateScriptGranularity("SES-006", "Timmy Explorer", 40) } ], createdAt: "2026-01-08T14:00:00Z", createdBy: "admin" } ];