diff --git a/web/studio/src/components/MediaPlayer.tsx b/web/studio/src/components/MediaPlayer.tsx
index 86455c9..c97a290 100644
--- a/web/studio/src/components/MediaPlayer.tsx
+++ b/web/studio/src/components/MediaPlayer.tsx
@@ -9,6 +9,7 @@ interface MediaPlayerProps {
en?: string;
es?: string;
cues?: { start: number; end: number; text: string }[];
+ cues_en?: { start: number; end: number; text: string }[];
} | null;
locked?: boolean;
onEnded?: () => void;
@@ -139,88 +140,90 @@ export default function MediaPlayer({ src, type, transcription, locked, onEnded,
};
return (
-
- {/* Media Content */}
-
- {renderMedia()}
+
+ {/* Top Row: Media + Interactive Sidebar */}
+
0 ? 'xl:grid-cols-12' : ''} gap-6 w-full`}>
+ {/* Media Content */}
+
0 ? 'xl:col-span-8' : 'w-full'} relative`}>
+ {renderMedia()}
- {locked && (
-
-
-
🔒
+ {locked && (
+
+
+ 🔒
+
+
Playback Limited
+
This content can only be played once according to the activity rules.
-
Playback Limited
-
This content can only be played once according to the activity rules.
-
- )}
+ )}
+
- {/* Simple Transcript (Fallback or Mobile) */}
- {shouldShowTranscription && !transcription?.cues && (
-
-
-
- Transcription AI Enhanced
-
+ {/* Interactive Sidebar (Cues Only) */}
+ {shouldShowTranscription && activeCues.length > 0 && (
+
+
+
Interactive Content
-
- "{transcription[language] || "Transcription not available."}"
+
+ {activeCues.map((cue, idx) => (
+
+ ))}
)}
- {/* Interactive Sidebar */}
- {shouldShowTranscription && transcription?.cues && (
-
-
-
Interactive Content
-
-
-
-
-
-
- {language === "en" && transcription.en && !transcription.cues.some(c => c.text === transcription.en) && (
-
- {transcription.en}
-
+ {/* Bottom Row: Full Transcription Text */}
+ {shouldShowTranscription && (
+
+
+
+ 📝 Full Transcription ({language.toUpperCase()})
+
+ {!transcription.cues && (
+
+
+
+
)}
- {transcription.cues.map((cue, idx) => (
-
- ))}
+
+
+ "{transcription[language] || "Transcription not available."}"
)}
);
+}
+ );
}