@@ -305,6 +305,42 @@ export default function ShotDetailPage() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* EDL / Pull metadata */}
|
||||
{(shot.exrOutput || shot.sourceClip) && (
|
||||
<div className="mt-3 rounded-lg border border-zinc-800 bg-zinc-900/60 px-4 py-3 space-y-2">
|
||||
{shot.exrOutput && (
|
||||
<div className="flex items-center gap-2 flex-wrap">
|
||||
<span className="text-xs font-medium text-zinc-500 uppercase tracking-wider w-24 shrink-0">EXR Output</span>
|
||||
<span className="font-mono text-xs text-zinc-200 flex-1 break-all">{shot.exrOutput}</span>
|
||||
<button
|
||||
className="text-zinc-500 hover:text-zinc-300 transition-colors shrink-0"
|
||||
title="Copy EXR output name"
|
||||
onClick={() => navigator.clipboard.writeText(shot.exrOutput ?? "")}
|
||||
>
|
||||
<Copy className="h-3.5 w-3.5" />
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
{shot.sourceClip && (
|
||||
<div className="flex items-center gap-2">
|
||||
<span className="text-xs font-medium text-zinc-500 uppercase tracking-wider w-24 shrink-0">Source Clip</span>
|
||||
<span className="font-mono text-xs text-zinc-400">{shot.sourceClip}</span>
|
||||
</div>
|
||||
)}
|
||||
{(shot.timecodeStart || shot.timecodeEnd) && (
|
||||
<div className="flex items-center gap-2">
|
||||
<span className="text-xs font-medium text-zinc-500 uppercase tracking-wider w-24 shrink-0">Timecode</span>
|
||||
<span className="font-mono text-xs text-zinc-400">
|
||||
{shot.timecodeStart ?? ""}
|
||||
{shot.timecodeStart && shot.timecodeEnd && " → "}
|
||||
{shot.timecodeEnd ?? ""}
|
||||
{shot.clipDuration && <span className="ml-2 text-zinc-600">({shot.clipDuration})</span>}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{canManage && (
|
||||
<div className="ml-auto shrink-0 flex items-center gap-2">
|
||||
{/* Internal approval action */}
|
||||
|
||||
Reference in New Issue
Block a user