Files
xiaoxia-saas/apps/web/src/pages/generate/components/material/MaterialModeTabs.tsx
T
xiaoxia cf544881fd
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m9s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m11s
CI/CD Pipeline / Frontend Lint (push) Successful in 2m26s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m45s
CI/CD Pipeline / Validate - Code Quality (push) Failing after 2m55s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 1m5s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m14s
CI/CD Pipeline / Integration Tests (push) Successful in 3m8s
CI/CD Pipeline / Unit Tests (push) Successful in 7m24s
CI/CD Pipeline / Build Staging API Image (push) Successful in 15m59s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m22s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 35s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 3m21s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m8s
CI/CD Pipeline / Production Browser E2E (push) Failing after 1291h7m30s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 1291h7m57s
CI/CD Pipeline / Build Production Web Image (push) Failing after 1291h7m59s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 1291h10m11s
CI/CD Pipeline / PR Build Web Image (push) Failing after 1291h10m12s
CI/CD Pipeline / PR Build API Image (push) Failing after 1291h10m12s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 1291h10m13s
CI/CD Pipeline / Deploy Production (push) Failing after 1291h40m1s
CI/CD Pipeline / Build Production API Image (push) Failing after 1291h40m30s
refactor: GeneratePage Phase 3 - Step内部子组件拆分 (#816)
2026-07-24 20:18:32 +08:00

33 lines
800 B
TypeScript

/**
* 素材模式切换 Tab
*/
import React from "react"
interface MaterialModeTabsProps {
mode: "manual" | "auto"
onModeChange: (mode: "manual" | "auto") => void
}
const MaterialModeTabs: React.FC<MaterialModeTabsProps> = ({ mode, onModeChange }) => {
return (
<div className="xx-material-mode-tabs">
<button
className={`xx-material-mode-tab ${mode === "manual" ? "active" : ""}`}
onClick={() => onModeChange("manual")}
type="button"
>
手动选择素材
</button>
<button
className={`xx-material-mode-tab ${mode === "auto" ? "active" : ""}`}
onClick={() => onModeChange("auto")}
type="button"
>
选择视频库自动匹配
</button>
</div>
)
}
export default MaterialModeTabs