mirror of
https://github.com/harness/drone.git
synced 2025-05-08 22:49:40 +08:00
fix: [code-1991]: fix status icon for check section (#2123)
This commit is contained in:
parent
98bac50f64
commit
a1b9512c59
@ -66,7 +66,17 @@ const ChecksSection = (props: ChecksSectionProps) => {
|
||||
|
||||
function generateStatusSummary(checks: TypeCheckData[]) {
|
||||
// Initialize counts for each status
|
||||
const statusCounts = { failed: 0, pending: 0, running: 0, succeeded: 0, total: checks?.length || 0 }
|
||||
const statusCounts = {
|
||||
failedReq: 0,
|
||||
pendingReq: 0,
|
||||
runningReq: 0,
|
||||
successReq: 0,
|
||||
failed: 0,
|
||||
pending: 0,
|
||||
running: 0,
|
||||
succeeded: 0,
|
||||
total: checks?.length || 0
|
||||
}
|
||||
if (isEmpty(checks)) {
|
||||
return { message: '', summary: statusCounts }
|
||||
}
|
||||
@ -74,30 +84,51 @@ const ChecksSection = (props: ChecksSectionProps) => {
|
||||
// Count occurrences of each status
|
||||
checks.forEach(check => {
|
||||
const status = check.check.status
|
||||
const required = check.required
|
||||
if (status === CheckStatus.FAILURE || status === CheckStatus.ERROR) {
|
||||
if (required) {
|
||||
statusCounts.failedReq += 1
|
||||
} else {
|
||||
statusCounts.failed += 1
|
||||
}
|
||||
} else if (status === CheckStatus.PENDING) {
|
||||
if (required) {
|
||||
statusCounts.pendingReq += 1
|
||||
} else {
|
||||
statusCounts.pending += 1
|
||||
}
|
||||
} else if (status === CheckStatus.RUNNING) {
|
||||
if (required) {
|
||||
statusCounts.runningReq += 1
|
||||
} else {
|
||||
statusCounts.running += 1
|
||||
}
|
||||
} else if (status === CheckStatus.SUCCESS) {
|
||||
if (required) {
|
||||
statusCounts.successReq += 1
|
||||
} else {
|
||||
statusCounts.succeeded += 1
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Format the summary string
|
||||
const summaryParts = []
|
||||
if (statusCounts.failed > 0) {
|
||||
summaryParts.push(`${statusCounts.failed} failed`)
|
||||
if (statusCounts.failed > 0 || statusCounts.failedReq) {
|
||||
const num = statusCounts.failed + statusCounts.failedReq
|
||||
summaryParts.push(`${num} failed`)
|
||||
}
|
||||
if (statusCounts.pending > 0) {
|
||||
summaryParts.push(`${statusCounts.pending} pending`)
|
||||
if (statusCounts.pending > 0 || statusCounts.pendingReq > 0) {
|
||||
const num = statusCounts.pending + statusCounts.pendingReq
|
||||
summaryParts.push(`${num} pending`)
|
||||
}
|
||||
if (statusCounts.running > 0) {
|
||||
summaryParts.push(`${statusCounts.running} running`)
|
||||
if (statusCounts.running > 0 || statusCounts.runningReq) {
|
||||
const num = statusCounts.running + statusCounts.runningReq
|
||||
summaryParts.push(`${num} running`)
|
||||
}
|
||||
if (statusCounts.succeeded > 0) {
|
||||
summaryParts.push(`${statusCounts.succeeded} succeeded`)
|
||||
if (statusCounts.succeeded > 0 || statusCounts.successReq) {
|
||||
const num = statusCounts.succeeded + statusCounts.successReq
|
||||
summaryParts.push(`${num} succeeded`)
|
||||
}
|
||||
|
||||
return { message: summaryParts.join(', '), summary: statusCounts }
|
||||
|
@ -29,6 +29,10 @@ const StatusCircle = ({
|
||||
summary: {
|
||||
message: string
|
||||
summary: {
|
||||
failedReq: number
|
||||
pendingReq: number
|
||||
runningReq: number
|
||||
successReq: number
|
||||
failed: number
|
||||
pending: number
|
||||
running: number
|
||||
@ -40,7 +44,15 @@ const StatusCircle = ({
|
||||
const { getString } = useStrings()
|
||||
const data = summary.summary
|
||||
const status =
|
||||
data.failed > 0
|
||||
data.failedReq > 0
|
||||
? ExecutionState.FAILURE
|
||||
: data.pendingReq > 0
|
||||
? ExecutionState.PENDING
|
||||
: data.runningReq > 0
|
||||
? ExecutionState.RUNNING
|
||||
: data.successReq > 0
|
||||
? ExecutionState.SUCCESS
|
||||
: data.failed > 0
|
||||
? ExecutionState.FAILURE
|
||||
: data.pending > 0
|
||||
? ExecutionState.PENDING
|
||||
|
Loading…
Reference in New Issue
Block a user