Browse Source

SONAR-16435 Clarify date - time on Project Overview

tags/9.5.0.56709
Guillaume Peoc'h 2 years ago
parent
commit
732dee3ca8

+ 11
- 4
server/sonar-web/src/main/js/app/components/nav/component/HeaderMeta.tsx View File

@@ -18,12 +18,13 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
import { useIntl } from 'react-intl';
import BranchStatus from '../../../../components/common/BranchStatus';
import HomePageSelect from '../../../../components/controls/HomePageSelect';
import DetachIcon from '../../../../components/icons/DetachIcon';
import DateTimeFormatter from '../../../../components/intl/DateTimeFormatter';
import { formatterOption } from '../../../../components/intl/DateTimeFormatter';
import { isBranch, isPullRequest } from '../../../../helpers/branch-like';
import { translate } from '../../../../helpers/l10n';
import { translate, translateWithParameters } from '../../../../helpers/l10n';
import { BranchLike } from '../../../../types/branch-like';
import { ComponentQualifier } from '../../../../types/component';
import { TaskWarning } from '../../../../types/tasks';
@@ -48,6 +49,7 @@ export function HeaderMeta(props: HeaderMetaProps) {

const currentPage = getCurrentPage(component, branchLike);
const displayVersion = component.version !== undefined && isABranch;
const lastAnalysisDate = useIntl().formatDate(component.analysisDate, formatterOption);

return (
<>
@@ -63,8 +65,13 @@ export function HeaderMeta(props: HeaderMetaProps) {
</span>
)}
{component.analysisDate && (
<span className="spacer-left nowrap note">
<DateTimeFormatter date={component.analysisDate} />
<span
title={translateWithParameters(
'overview.project.last_analysis.date_time',
lastAnalysisDate
)}
className="spacer-left nowrap note">
{lastAnalysisDate}
</span>
)}
{displayVersion && (

+ 6
- 0
server/sonar-web/src/main/js/app/components/nav/component/__tests__/HeaderMeta-test.tsx View File

@@ -27,6 +27,12 @@ import { mockCurrentUser } from '../../../../../helpers/testMocks';
import { ComponentQualifier } from '../../../../../types/component';
import { getCurrentPage, HeaderMeta, HeaderMetaProps } from '../HeaderMeta';

jest.mock('react-intl', () => ({
useIntl: jest.fn().mockImplementation(() => ({
formatDate: jest.fn().mockImplementation(() => '2017-01-02T00:00:00.000Z')
}))
}));

it('should render correctly for a branch', () => {
const wrapper = shallowRender();
expect(wrapper).toMatchSnapshot();

+ 6
- 9
server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/HeaderMeta-test.tsx.snap View File

@@ -30,10 +30,9 @@ exports[`should render correctly for a branch 1`] = `
</span>
<span
className="spacer-left nowrap note"
title="overview.project.last_analysis.date_time.2017-01-02T00:00:00.000Z"
>
<DateTimeFormatter
date="2017-01-02T00:00:00.000Z"
/>
2017-01-02T00:00:00.000Z
</span>
<span
className="spacer-left nowrap note"
@@ -84,10 +83,9 @@ exports[`should render correctly for a main project branch 1`] = `
</span>
<span
className="spacer-left nowrap note"
title="overview.project.last_analysis.date_time.2017-01-02T00:00:00.000Z"
>
<DateTimeFormatter
date="2017-01-02T00:00:00.000Z"
/>
2017-01-02T00:00:00.000Z
</span>
<span
className="spacer-left nowrap note"
@@ -179,10 +177,9 @@ exports[`should render correctly for a pull request 1`] = `
</span>
<span
className="spacer-left nowrap note"
title="overview.project.last_analysis.date_time.2017-01-02T00:00:00.000Z"
>
<DateTimeFormatter
date="2017-01-02T00:00:00.000Z"
/>
2017-01-02T00:00:00.000Z
</span>
</div>
<div

+ 1
- 0
sonar-core/src/main/resources/org/sonar/l10n/core.properties View File

@@ -3114,6 +3114,7 @@ overview.project.branch_X_empty=The "{0}" branch of this project is empty.
overview.project.main_branch_no_lines_of_code=The main branch has no lines of code.
overview.project.main_branch_empty=The main branch of this project is empty.
overview.project.branch_needs_new_analysis=The branch data is incomplete. Run a new analysis to update it.
overview.project.last_analysis.date_time=Last analysis started on {0}
overview.project.next_steps.set_up_pr_deco_and_ci.admin=To benefit from more of SonarQube's features, {link_ci} and set up DevOps platform integration in your {link_project_settings}.
overview.project.next_steps.set_up_pr_deco_and_ci=To benefit from more of SonarQube's features, {link_ci} and ask a project administrator to set up DevOps platform integration.
overview.project.next_steps.set_up_pr_deco.admin=To benefit from more of SonarQube's features, set up DevOps platform integration in your {link_project_settings}.

Loading…
Cancel
Save