diff --git a/src/components/NavigationItems.js b/src/components/NavigationItems.js
index ae5cb1323..ff449449d 100644
--- a/src/components/NavigationItems.js
+++ b/src/components/NavigationItems.js
@@ -8,6 +8,17 @@ import { BreadcrumbContext } from './BreadcrumbContext';
import styles from './NavigationItems.module.scss';
import { link } from '../types';
+const iconLibrary = {
+ 'Collect data': 'collectData',
+ 'Build apps': 'buildApps',
+ 'Automate workflows': 'automation',
+ 'Explore docs': 'developerDocs',
+};
+
+const featherIconLibrary = {
+ 'Developer champions': 'award',
+};
+
const getHighlightedText = (text, highlight) => {
const parts = text.split(new RegExp(`(${highlight})`, 'gi'));
return (
@@ -59,6 +70,28 @@ const NavigationItems = ({
});
};
+const NavIcon = ({ page }) => {
+ if (featherIconLibrary[page.displayName]) {
+ return (
+
+ );
+ }
+
+ if (iconLibrary[page.displayName]) {
+ return (
+
+ );
+ }
+
+ return null;
+};
+
const NavItem = ({ page, depthLevel, searchTerm, filteredPageNames }) => {
const crumbs = useContext(BreadcrumbContext).flatMap((x) => x.displayName);
const isHomePage = crumbs.length === 0 && depthLevel === 0;
@@ -67,19 +100,8 @@ const NavItem = ({ page, depthLevel, searchTerm, filteredPageNames }) => {
isHomePage || crumbs.includes(page.displayName)
);
- const iconLibrary = {
- 'Collect data': 'collectData',
- 'Build apps': 'buildApps',
- 'Automate workflows': 'automation',
- 'Explore docs': 'developerDocs',
- };
const isCurrentPage = crumbs[crumbs.length - 1] === page.displayName;
- const headerIcon = depthLevel === 0 && (
-
- );
+ const headerIcon = depthLevel === 0 && ;
const display = filteredPageNames
? getHighlightedText(page.displayName, searchTerm)
: page.displayName;
@@ -104,7 +126,7 @@ const NavItem = ({ page, depthLevel, searchTerm, filteredPageNames }) => {
)}
to={page.url}
>
-
+
{headerIcon}
{display}
@@ -154,6 +176,12 @@ const NavItem = ({ page, depthLevel, searchTerm, filteredPageNames }) => {
);
};
+NavIcon.propTypes = {
+ page: PropTypes.shape({
+ displayName: PropTypes.string.isRequired,
+ }),
+};
+
NavigationItems.propTypes = {
pages: PropTypes.array.isRequired,
filteredPageNames: PropTypes.array,
diff --git a/src/components/NavigationItems.module.scss b/src/components/NavigationItems.module.scss
index 516dfb096..0045f8fc3 100644
--- a/src/components/NavigationItems.module.scss
+++ b/src/components/NavigationItems.module.scss
@@ -51,6 +51,11 @@ button.navLink {
}
}
+.navLinkText {
+ display: flex;
+ align-items: center;
+}
+
.currentPageIndicator {
stroke-width: 4;
}