diff --git a/client/i18n/locales/english/translations.json b/client/i18n/locales/english/translations.json
index dd9a628a4a8..7cd40ecefee 100644
--- a/client/i18n/locales/english/translations.json
+++ b/client/i18n/locales/english/translations.json
@@ -304,6 +304,7 @@
"longest-streak": "Longest Streak:",
"current-streak": "Current Streak:",
"projects": "Projects",
+ "stats": "Stats",
"timeline": "Timeline",
"none-completed": "No challenges have been completed yet.",
"get-started": "Get started here.",
diff --git a/client/src/components/profile/components/__snapshots__/timeline-buttons.test.js.snap b/client/src/components/profile/components/__snapshots__/timeline-buttons.test.js.snap
index bca2e5aeb7f..9ed4b007526 100644
--- a/client/src/components/profile/components/__snapshots__/timeline-buttons.test.js.snap
+++ b/client/src/components/profile/components/__snapshots__/timeline-buttons.test.js.snap
@@ -7,11 +7,17 @@ exports[`should check certification page consistency 1`] = `
-
+
profile.timeline
+
diff --git a/client/src/components/profile/components/certifications.css b/client/src/components/profile/components/certifications.css
deleted file mode 100644
index dec44de2a7e..00000000000
--- a/client/src/components/profile/components/certifications.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.certifications .btn {
- white-space: normal;
-}
diff --git a/client/src/components/profile/components/certifications.tsx b/client/src/components/profile/components/certifications.tsx
index 10eb2684d5d..55042c4d92d 100644
--- a/client/src/components/profile/components/certifications.tsx
+++ b/client/src/components/profile/components/certifications.tsx
@@ -2,12 +2,10 @@ import React from 'react';
import { useTranslation } from 'react-i18next';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
-import { Col, Row } from '@freecodecamp/ui';
import { certificatesByNameSelector } from '../../../redux/selectors';
import type { CurrentCert } from '../../../redux/prop-types';
import { FullWidthRow, Link, Spacer } from '../../helpers';
-import './certifications.css';
const mapStateToProps = (
state: Record,
@@ -48,19 +46,15 @@ function CertButton({ username, cert }: CertButtonProps): JSX.Element {
const { t } = useTranslation();
return (
<>
-
-
-
- {t('buttons.view-cert-title', {
- certTitle: t(`certification.title.${cert.certSlug}`)
- })}
-
-
-
+
+ {t('buttons.view-cert-title', {
+ certTitle: t(`certification.title.${cert.certSlug}`)
+ })}
+
>
);
@@ -76,7 +70,7 @@ function Certificates({
const { t } = useTranslation();
return (
- {t('profile.fcc-certs')}
+ {t('profile.fcc-certs')}
{hasModernCert && currentCerts ? (
currentCerts
@@ -89,9 +83,9 @@ function Certificates({
)}
{hasLegacyCert ? (
-
-
{t('settings.headings.legacy-certs')}
-
+
+ {t('settings.headings.legacy-certs')}
+
{legacyCerts &&
legacyCerts
.filter(({ show }) => show)
@@ -102,7 +96,7 @@ function Certificates({
username={username}
/>
))}
-
+
) : null}
diff --git a/client/src/components/profile/components/heat-map.tsx b/client/src/components/profile/components/heat-map.tsx
index e6c1da4633e..01886d52f88 100644
--- a/client/src/components/profile/components/heat-map.tsx
+++ b/client/src/components/profile/components/heat-map.tsx
@@ -98,31 +98,6 @@ class HeatMapInner extends Component {
return (
-
-
- {title}
-
-
{
values={dataToDisplay}
/>
+
+
+ {title}
+
+
+
);
diff --git a/client/src/components/profile/components/heatmap.css b/client/src/components/profile/components/heatmap.css
index 0254d3fe95a..3971e609a63 100644
--- a/client/src/components/profile/components/heatmap.css
+++ b/client/src/components/profile/components/heatmap.css
@@ -1,7 +1,3 @@
-.heatmap-nav {
- text-align: center;
-}
-
.heatmap-nav-btn {
margin: 0 20px;
}
diff --git a/client/src/components/profile/components/portfolio-projects.tsx b/client/src/components/profile/components/portfolio-projects.tsx
index 099e0a09e22..eee49f3cc13 100644
--- a/client/src/components/profile/components/portfolio-projects.tsx
+++ b/client/src/components/profile/components/portfolio-projects.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import { useTranslation } from 'react-i18next';
import type { PortfolioProjectData } from '../../../redux/prop-types';
import './portfolio-projects.css';
-import { FullWidthRow } from '../../helpers';
+import { FullWidthRow, Spacer } from '../../helpers';
interface PortfolioProjectsProps {
portfolioProjects: PortfolioProjectData[];
@@ -17,7 +17,7 @@ export const PortfolioProjects = ({
}
return (
- {t('profile.projects')}
+ {t('profile.projects')}
{portfolioProjects.map(({ title, url, image, description, id }) => (
))}
+
);
diff --git a/client/src/components/profile/components/stats.tsx b/client/src/components/profile/components/stats.tsx
index bb1b3923449..5fe70ab127d 100644
--- a/client/src/components/profile/components/stats.tsx
+++ b/client/src/components/profile/components/stats.tsx
@@ -112,7 +112,7 @@ function Stats({ points, calendar }: StatsProps): JSX.Element {
return (
- Stats
+ {t('profile.stats')}
diff --git a/client/src/components/profile/components/time-line.tsx b/client/src/components/profile/components/time-line.tsx
index 8c164a679d4..45c6d3459f2 100644
--- a/client/src/components/profile/components/time-line.tsx
+++ b/client/src/components/profile/components/time-line.tsx
@@ -16,7 +16,7 @@ import { CompletedChallenge } from '../../../redux/prop-types';
import ProjectPreviewModal from '../../../templates/Challenges/components/project-preview-modal';
import ExamResultsModal from '../../SolutionViewer/exam-results-modal';
import { openModal } from '../../../templates/Challenges/redux/actions';
-import { Link, FullWidthRow } from '../../helpers';
+import { Link, FullWidthRow, Spacer } from '../../helpers';
import { SolutionDisplayWidget } from '../../solution-display-widget';
import { SuperBlocks } from '../../../../../shared/config/superblocks';
import TimelinePagination from './timeline-pagination';
@@ -176,7 +176,8 @@ function TimelineInner({
return (
- {t('profile.timeline')}
+ {t('profile.timeline')}
+
{completedMap.length === 0 ? (
{t('profile.none-completed')}