M4: trace API, portal embed client, EmbeddingGemma sync, release plan
This commit is contained in:
@@ -146,6 +146,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Face Traces -->
|
||||
<div class="bg-gray-800 rounded-lg p-6 border border-gray-700">
|
||||
<FaceTraceTimeline
|
||||
:file-uuid="uuid"
|
||||
:total-duration="probeInfo?.format?.duration || 0"
|
||||
@select="handleTraceSelect" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!-- 3. Generic Probe Info -->
|
||||
@@ -191,6 +199,7 @@
|
||||
import { ref, computed, onMounted } from 'vue'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { getVideos, registerVideo, unregisterVideo, processVideo } from '@/api/client'
|
||||
import FaceTraceTimeline from '@/components/FaceTraceTimeline.vue'
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
@@ -310,6 +319,11 @@ async function handleProcess() {
|
||||
}
|
||||
}
|
||||
|
||||
function handleTraceSelect(traceId: number) {
|
||||
// Navigate to face candidates filtered by this trace
|
||||
router.push(`/faces/candidates?trace_id=${traceId}&file_uuid=${uuid}`)
|
||||
}
|
||||
|
||||
async function loadVideoDetail() {
|
||||
loading.value = true
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user