@@ -91,7 +91,6 @@ export default function NewCodeMeasuresPanel(props: Readonly<Props>) { | |||
if (!newAcceptedIssues) { | |||
acceptedIssuesFooter = ( | |||
<StyledInfoMessage className="sw-rounded-2 sw-text-xs sw-p-4 sw-flex sw-gap-1 sw-flex-wrap"> | |||
<span>{intl.formatMessage({ id: 'overview.project.no_data' })}</span> | |||
<span> | |||
{intl.formatMessage({ | |||
id: `overview.run_analysis_to_compute.${component.qualifier}`, |
@@ -96,39 +96,42 @@ export function SoftwareImpactMeasureCard(props: Readonly<SoftwareImpactBreakdow | |||
<TextBold name={intl.formatMessage({ id: `software_quality.${softwareQuality}` })} /> | |||
<BasicSeparator className="sw--mx-4" /> | |||
<div className="sw-flex sw-flex-col sw-gap-3"> | |||
<div | |||
className={classNames('sw-flex sw-gap-1 sw-items-center sw-h-8 sw-mt-2', { | |||
'sw-opacity-60': renderDisabled, | |||
})} | |||
> | |||
{measure ? ( | |||
<Tooltip overlay={countTooltipOverlay}> | |||
<NakedLink | |||
data-testid={`overview__software-impact-${softwareQuality}`} | |||
aria-label={intl.formatMessage( | |||
{ | |||
id: `overview.measures.software_impact.see_list_of_x_open_issues`, | |||
}, | |||
{ | |||
count: measure.total, | |||
softwareQuality: intl.formatMessage({ | |||
id: `software_quality.${softwareQuality}`, | |||
}), | |||
}, | |||
)} | |||
className="sw-text-lg" | |||
to={totalLinkHref} | |||
disabled={component.needIssueSync} | |||
> | |||
{formatMeasure(measure.total, MetricType.ShortInteger)} | |||
</NakedLink> | |||
</Tooltip> | |||
) : ( | |||
<StyledDash className="sw-font-bold" name="-" /> | |||
)} | |||
<TextSubdued className="sw-self-end sw-body-sm sw-pb-1"> | |||
{intl.formatMessage({ id: 'overview.measures.software_impact.total_open_issues' })} | |||
</TextSubdued> | |||
<div className="sw-flex sw-mt-2"> | |||
<div | |||
className={classNames('sw-flex sw-gap-1 sw-items-center', { | |||
'sw-opacity-60': renderDisabled, | |||
})} | |||
> | |||
{measure ? ( | |||
<Tooltip overlay={countTooltipOverlay}> | |||
<NakedLink | |||
data-testid={`overview__software-impact-${softwareQuality}`} | |||
aria-label={intl.formatMessage( | |||
{ | |||
id: `overview.measures.software_impact.see_list_of_x_open_issues`, | |||
}, | |||
{ | |||
count: measure.total, | |||
softwareQuality: intl.formatMessage({ | |||
id: `software_quality.${softwareQuality}`, | |||
}), | |||
}, | |||
)} | |||
className="sw-text-lg" | |||
to={totalLinkHref} | |||
disabled={component.needIssueSync} | |||
> | |||
{formatMeasure(measure.total, MetricType.ShortInteger)} | |||
</NakedLink> | |||
</Tooltip> | |||
) : ( | |||
<StyledDash className="sw-font-bold" name="-" /> | |||
)} | |||
<TextSubdued className="sw-self-end sw-body-sm sw-pb-1"> | |||
{intl.formatMessage({ id: 'overview.measures.software_impact.total_open_issues' })} | |||
</TextSubdued> | |||
</div> | |||
<div className="sw-flex-grow sw-flex sw-justify-end"> | |||
<SoftwareImpactMeasureRating | |||
softwareQuality={softwareQuality} | |||
@@ -158,7 +161,6 @@ export function SoftwareImpactMeasureCard(props: Readonly<SoftwareImpactBreakdow | |||
<> | |||
<BasicSeparator className="sw--mx-4 sw-mb-0 sw-mt-3" /> | |||
<StyledInfoSection className="sw--ml-4 sw--mr-4 sw--mb-4 sw-text-xs sw-p-4 sw-flex sw-gap-1 sw-flex-wrap"> | |||
<span>{intl.formatMessage({ id: 'overview.project.no_data' })}</span> | |||
<span> | |||
{intl.formatMessage({ | |||
id: `overview.run_analysis_to_compute.${component.qualifier}`, |
@@ -359,11 +359,6 @@ describe('project overview', () => { | |||
// Maintainability is not computed | |||
ui.expectSoftwareImpactMeasureCard(SoftwareQuality.Maintainability); | |||
expect( | |||
byText('overview.project.no_data').get( | |||
ui.softwareImpactMeasureCard(SoftwareQuality.Maintainability).get(), | |||
), | |||
).toBeInTheDocument(); | |||
expect( | |||
byText('overview.run_analysis_to_compute.TRK').get( | |||
ui.softwareImpactMeasureCard(SoftwareQuality.Maintainability).get(), |
@@ -3931,7 +3931,7 @@ overview.measures.bad_reference.explanation=This branch could not be compared to | |||
overview.measures.bad_setting.link=This can be fixed in the {setting_link} setting. | |||
overview.measures.security_hotspots_reviewed=Reviewed | |||
overview.measures.software_impact.total_open_issues=Open issues | |||
overview.measures.software_impact.count_tooltip=Issues in code can impact multiple Software Qualities. Fixing an issue can improve more than one Software Quality. | |||
overview.measures.software_impact.count_tooltip=Issues in code can impact multiple Software Qualities, so the sum of impacts tends to be greater than the total amount of issues. | |||
overview.measures.software_impact.see_list_of_x_open_issues=See the list of {count} open {softwareQuality} issues | |||
overview.measures.software_impact.severity.see_x_open_issues=See {count} open {softwareQuality} issues with {severity} severity | |||
overview.measures.software_impact.severity.HIGH=H | |||
@@ -3961,10 +3961,9 @@ overview.project.next_steps.set_up_ci=To benefit from more of SonarQube's featur | |||
overview.project.next_steps.links.project_settings=project settings | |||
overview.project.next_steps.links.set_up_ci=set up analysis in your favorite CI | |||
overview.project.software_impact.has_rating=Software Quality {softwareQuality} has rating {rating} | |||
overview.project.no_data=No data. | |||
overview.run_analysis_to_compute.TRK=Run new analysis to compute. | |||
overview.run_analysis_to_compute.APP=All projects need to be analysed. | |||
overview.missing_project_data.APP=Some projects are missing data. All projects in the application need to be analysed. | |||
overview.run_analysis_to_compute.TRK=Run new analysis to compute the missing data. | |||
overview.run_analysis_to_compute.APP=Analyse all projects to compute the missing data. | |||
overview.missing_project_data.APP=Some projects are missing data. All projects in the application need to be analysed to compute the missing data. | |||
overview.coverage_on=Coverage on | |||
overview.coverage_on_X_lines=Coverage on {count} Lines to cover |