(campaign)
| 152 | return ''; |
| 153 | } |
| 154 | |
| 155 | function normalizeStatus(campaign) { |
| 156 | const status = String( |
| 157 | campaign.frontmatter.status || |
| 158 | campaign.frontmatter.Status || |
| 159 | campaign.bodyStatus || |
| 160 | 'unknown' |
| 161 | ).toLowerCase(); |
| 162 | |
| 163 | const phases = campaign.phases || []; |
| 164 | const allPhasesComplete = phases.length > 0 && phases.every(isPhaseComplete); |
| 165 | if ((status === 'active' || status === 'needs-continue') && allPhasesComplete) { |
| 166 | return 'needs-completion'; |
| 167 | } |
| 168 | |
| 169 | return status; |
| 170 | } |
| 171 | |
| 172 | function phaseSummary(campaign) { |
no outgoing calls
no test coverage detected