Checkpoint: v4.0 media service, compose deploy, and verified docs

这个提交包含在:
cryptocommuniums-afk
2026-03-14 21:45:31 +08:00
父节点 27083d5af9
当前提交 d5431aee0e
修改 41 个文件,包含 4056 行新增883 行删除

查看文件

@@ -341,7 +341,7 @@ export default function LiveCamera() {
<div className="absolute inset-0 flex flex-col items-center justify-center text-white/60">
<CameraOff className="h-12 w-12 mb-3" />
<p className="text-sm"></p>
<Button variant="secondary" className="mt-3 gap-2" onClick={() => setShowSetupGuide(true)}>
<Button data-testid="live-camera-start-button" variant="secondary" className="mt-3 gap-2" onClick={() => setShowSetupGuide(true)}>
<Camera className="h-4 w-4" />
</Button>
</div>
@@ -357,7 +357,7 @@ export default function LiveCamera() {
{/* Controls bar */}
<div className="flex items-center justify-center gap-3 p-3 bg-muted/30 flex-wrap">
{!cameraActive ? (
<Button onClick={() => setShowSetupGuide(true)} className="gap-2">
<Button data-testid="live-camera-toolbar-start-button" onClick={() => setShowSetupGuide(true)} className="gap-2">
<Camera className="h-4 w-4" />
</Button>
) : (