Browse Source

SONAR-21563 Improve UX for software quality cards in branch overview

tags/10.5.0.89998
stanislavh 2 months ago
parent
commit
0bd2242935

+ 0
- 1
server/sonar-web/src/main/js/apps/overview/branches/NewCodeMeasuresPanel.tsx View File

@@ -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}`,

+ 36
- 34
server/sonar-web/src/main/js/apps/overview/branches/SoftwareImpactMeasureCard.tsx View File

@@ -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}`,

+ 0
- 5
server/sonar-web/src/main/js/apps/overview/branches/__tests__/BranchOverview-it.tsx View File

@@ -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(),

+ 4
- 5
sonar-core/src/main/resources/org/sonar/l10n/core.properties View File

@@ -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

Loading…
Cancel
Save