fix: 修复项目详情页中Gitea类型仍然显示为'其他'的问题
This commit is contained in:
parent
9bfde8ec24
commit
2f28e7e6eb
|
|
@ -9,7 +9,7 @@ import {
|
|||
} from "@/components/ui/select";
|
||||
import { GitBranch, Zap, Info } from "lucide-react";
|
||||
import type { Project, CreateAuditTaskForm } from "@/shared/types";
|
||||
import { isRepositoryProject, isZipProject } from "@/shared/utils/projectUtils";
|
||||
import { isRepositoryProject, isZipProject, getRepositoryPlatformLabel } from "@/shared/utils/projectUtils";
|
||||
import ZipFileSection from "./ZipFileSection";
|
||||
import type { ZipFileMeta } from "@/shared/utils/zipStorage";
|
||||
|
||||
|
|
@ -138,7 +138,7 @@ function ProjectInfoCard({ project }: { project: Project }) {
|
|||
{isRepo && (
|
||||
<>
|
||||
<p>
|
||||
仓库平台:{project.repository_type?.toUpperCase() || "OTHER"}
|
||||
仓库平台:{getRepositoryPlatformLabel(project.repository_type)}
|
||||
</p>
|
||||
<p>默认分支:{project.default_branch}</p>
|
||||
</>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ import { api } from "@/shared/config/database";
|
|||
import { runRepositoryAudit, scanStoredZipFile } from "@/features/projects/services";
|
||||
import type { Project, AuditTask, CreateProjectForm } from "@/shared/types";
|
||||
import { hasZipFile } from "@/shared/utils/zipStorage";
|
||||
import { isRepositoryProject, getSourceTypeLabel } from "@/shared/utils/projectUtils";
|
||||
import { isRepositoryProject, getSourceTypeLabel, getRepositoryPlatformLabel } from "@/shared/utils/projectUtils";
|
||||
import { toast } from "sonner";
|
||||
import CreateTaskDialog from "@/components/audit/CreateTaskDialog";
|
||||
import FileSelectionDialog from "@/components/audit/FileSelectionDialog";
|
||||
|
|
@ -475,8 +475,7 @@ export default function ProjectDetail() {
|
|||
<div className="flex items-center justify-between">
|
||||
<span className="text-sm text-muted-foreground uppercase">仓库平台</span>
|
||||
<Badge className="cyber-badge-muted">
|
||||
{project.repository_type === 'github' ? 'GitHub' :
|
||||
project.repository_type === 'gitlab' ? 'GitLab' : '其他'}
|
||||
{getRepositoryPlatformLabel(project.repository_type)}
|
||||
</Badge>
|
||||
</div>
|
||||
|
||||
|
|
@ -529,8 +528,7 @@ export default function ProjectDetail() {
|
|||
className="flex items-center justify-between p-3 bg-muted/50 rounded-lg hover:bg-muted transition-all group"
|
||||
>
|
||||
<div className="flex items-center space-x-3">
|
||||
<div className={`w-8 h-8 rounded-lg flex items-center justify-center ${
|
||||
task.status === 'completed' ? 'bg-emerald-500/20' :
|
||||
<div className={`w-8 h-8 rounded-lg flex items-center justify-center ${task.status === 'completed' ? 'bg-emerald-500/20' :
|
||||
task.status === 'running' ? 'bg-sky-500/20' :
|
||||
task.status === 'failed' ? 'bg-rose-500/20' :
|
||||
'bg-muted'
|
||||
|
|
@ -579,8 +577,7 @@ export default function ProjectDetail() {
|
|||
<div key={task.id} className="cyber-card p-6">
|
||||
<div className="flex items-center justify-between mb-4 pb-4 border-b border-border">
|
||||
<div className="flex items-center space-x-3">
|
||||
<div className={`w-10 h-10 rounded-lg flex items-center justify-center ${
|
||||
task.status === 'completed' ? 'bg-emerald-500/20' :
|
||||
<div className={`w-10 h-10 rounded-lg flex items-center justify-center ${task.status === 'completed' ? 'bg-emerald-500/20' :
|
||||
task.status === 'running' ? 'bg-sky-500/20' :
|
||||
task.status === 'failed' ? 'bg-rose-500/20' :
|
||||
'bg-muted'
|
||||
|
|
@ -676,8 +673,7 @@ export default function ProjectDetail() {
|
|||
<div key={index} className="cyber-card p-4 hover:border-border transition-all">
|
||||
<div className="flex items-start justify-between">
|
||||
<div className="flex items-start space-x-3">
|
||||
<div className={`w-8 h-8 rounded-lg flex items-center justify-center ${
|
||||
issue.severity === 'critical' ? 'bg-rose-500/20 text-rose-600 dark:text-rose-400' :
|
||||
<div className={`w-8 h-8 rounded-lg flex items-center justify-center ${issue.severity === 'critical' ? 'bg-rose-500/20 text-rose-600 dark:text-rose-400' :
|
||||
issue.severity === 'high' ? 'bg-orange-500/20 text-orange-600 dark:text-orange-400' :
|
||||
issue.severity === 'medium' ? 'bg-amber-500/20 text-amber-600 dark:text-amber-400' :
|
||||
'bg-sky-500/20 text-sky-600 dark:text-sky-400'
|
||||
|
|
@ -785,6 +781,7 @@ export default function ProjectDetail() {
|
|||
<SelectContent className="cyber-dialog border-border">
|
||||
<SelectItem value="github">GitHub</SelectItem>
|
||||
<SelectItem value="gitlab">GitLab</SelectItem>
|
||||
<SelectItem value="gitea">Gitea</SelectItem>
|
||||
<SelectItem value="other">其他</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
|
|
|
|||
|
|
@ -485,10 +485,10 @@ export default function Projects() {
|
|||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent className="cyber-dialog border-border">
|
||||
<SelectItem value="github">GITHUB</SelectItem>
|
||||
<SelectItem value="gitlab">GITLAB</SelectItem>
|
||||
<SelectItem value="gitea">GITEA</SelectItem>
|
||||
<SelectItem value="other">OTHER</SelectItem>
|
||||
<SelectItem value="github">GitHub</SelectItem>
|
||||
<SelectItem value="gitlab">GitLab</SelectItem>
|
||||
<SelectItem value="gitea">Gitea</SelectItem>
|
||||
<SelectItem value="other">其他</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
|
|
@ -1016,10 +1016,10 @@ export default function Projects() {
|
|||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent className="cyber-dialog border-border">
|
||||
<SelectItem value="github">GITHUB</SelectItem>
|
||||
<SelectItem value="gitlab">GITLAB</SelectItem>
|
||||
<SelectItem value="gitea">GITEA</SelectItem>
|
||||
<SelectItem value="other">OTHER</SelectItem>
|
||||
<SelectItem value="github">GitHub</SelectItem>
|
||||
<SelectItem value="gitlab">GitLab</SelectItem>
|
||||
<SelectItem value="gitea">Gitea</SelectItem>
|
||||
<SelectItem value="other">其他</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import type { AuditTask, AuditIssue } from "@/shared/types";
|
|||
import { toast } from "sonner";
|
||||
import ExportReportDialog from "@/components/reports/ExportReportDialog";
|
||||
import { calculateTaskProgress } from "@/shared/utils/utils";
|
||||
import { isRepositoryProject, getSourceTypeLabel } from "@/shared/utils/projectUtils";
|
||||
import { isRepositoryProject, getSourceTypeLabel, getRepositoryPlatformLabel } from "@/shared/utils/projectUtils";
|
||||
|
||||
// AI explanation parser
|
||||
function parseAIExplanation(aiExplanation: string) {
|
||||
|
|
@ -86,8 +86,7 @@ function IssuesList({ issues }: { issues: AuditIssue[] }) {
|
|||
<div key={issue.id || index} className="cyber-card p-4 hover:border-border transition-all group">
|
||||
<div className="flex items-start justify-between mb-3">
|
||||
<div className="flex items-start space-x-3">
|
||||
<div className={`w-10 h-10 rounded-lg flex items-center justify-center ${
|
||||
issue.severity === 'critical' ? 'bg-rose-500/20 text-rose-400' :
|
||||
<div className={`w-10 h-10 rounded-lg flex items-center justify-center ${issue.severity === 'critical' ? 'bg-rose-500/20 text-rose-400' :
|
||||
issue.severity === 'high' ? 'bg-orange-500/20 text-orange-400' :
|
||||
issue.severity === 'medium' ? 'bg-amber-500/20 text-amber-400' :
|
||||
'bg-sky-500/20 text-sky-400'
|
||||
|
|
@ -702,7 +701,7 @@ export default function TaskDetail() {
|
|||
{isRepositoryProject(task.project) && (
|
||||
<div>
|
||||
<p className="text-xs font-bold text-muted-foreground uppercase mb-1">仓库平台</p>
|
||||
<p className="text-base font-bold text-foreground">{task.project.repository_type?.toUpperCase() || 'OTHER'}</p>
|
||||
<p className="text-base font-bold text-foreground">{getRepositoryPlatformLabel(task.project.repository_type)}</p>
|
||||
</div>
|
||||
)}
|
||||
{task.project.programming_languages && (
|
||||
|
|
|
|||
Loading…
Reference in New Issue