diff --git a/plugins/bazaar/README.md b/plugins/bazaar/README.md
index bd4589f2d3..9b5fb466df 100644
--- a/plugins/bazaar/README.md
+++ b/plugins/bazaar/README.md
@@ -127,6 +127,7 @@ The other fields are:
- project - link Bazaar project to existing entity in the catalog
- community link - link to where the project members can communicate, e.g. Teams or Discord link
+- docs link - link to visit the documentation of the project
- start date
- end date
diff --git a/plugins/bazaar/src/components/AddProjectDialog/AddProjectDialog.tsx b/plugins/bazaar/src/components/AddProjectDialog/AddProjectDialog.tsx
index 45392206d9..c07ae0cfd1 100644
--- a/plugins/bazaar/src/components/AddProjectDialog/AddProjectDialog.tsx
+++ b/plugins/bazaar/src/components/AddProjectDialog/AddProjectDialog.tsx
@@ -45,6 +45,7 @@ export const AddProjectDialog = ({
title: '',
community: '',
description: '',
+ docs: '',
status: 'proposed' as Status,
size: 'medium' as Size,
responsible: '',
diff --git a/plugins/bazaar/src/components/EntityBazaarInfoContent/EntityBazaarInfoContent.tsx b/plugins/bazaar/src/components/EntityBazaarInfoContent/EntityBazaarInfoContent.tsx
index e0a3a9b881..0c7b0bb126 100644
--- a/plugins/bazaar/src/components/EntityBazaarInfoContent/EntityBazaarInfoContent.tsx
+++ b/plugins/bazaar/src/components/EntityBazaarInfoContent/EntityBazaarInfoContent.tsx
@@ -26,6 +26,7 @@ import ChatIcon from '@material-ui/icons/Chat';
import PersonAddIcon from '@material-ui/icons/PersonAdd';
import DashboardIcon from '@material-ui/icons/Dashboard';
import LinkOffIcon from '@material-ui/icons/LinkOff';
+import Description from '@material-ui/icons/Description';
import { EditProjectDialog } from '../EditProjectDialog';
import { useApi, identityApiRef } from '@backstage/core-plugin-api';
import { BazaarProject, Member } from '../../types';
@@ -128,6 +129,12 @@ export const EntityBazaarInfoContent = ({
href: bazaarProject?.community,
disabled: bazaarProject?.community === '' || !isMember,
},
+ {
+ label: 'Docs',
+ icon: ,
+ href: bazaarProject?.docs,
+ disabled: bazaarProject?.docs === null || bazaarProject?.docs === '',
+ },
];
const handleEditClose = () => {
diff --git a/plugins/bazaar/src/components/HomePageBazaarInfoCard/HomePageBazaarInfoCard.tsx b/plugins/bazaar/src/components/HomePageBazaarInfoCard/HomePageBazaarInfoCard.tsx
index 7c6491c8a5..782b7d3c67 100644
--- a/plugins/bazaar/src/components/HomePageBazaarInfoCard/HomePageBazaarInfoCard.tsx
+++ b/plugins/bazaar/src/components/HomePageBazaarInfoCard/HomePageBazaarInfoCard.tsx
@@ -34,6 +34,7 @@ import InsertLinkIcon from '@material-ui/icons/InsertLink';
import DashboardIcon from '@material-ui/icons/Dashboard';
import CloseIcon from '@material-ui/icons/Close';
import LinkOffIcon from '@material-ui/icons/LinkOff';
+import Description from '@material-ui/icons/Description';
import { EditProjectDialog } from '../EditProjectDialog';
import ExitToAppIcon from '@material-ui/icons/ExitToApp';
import {
@@ -197,6 +198,13 @@ export const HomePageBazaarInfoCard = ({
href: bazaarProject.value?.community,
disabled: !bazaarProject.value?.community || !isMember,
},
+ {
+ label: 'Docs',
+ icon: ,
+ href: bazaarProject.value?.docs,
+ disabled:
+ bazaarProject.value?.docs === null || bazaarProject.value?.docs === '',
+ },
];
const handleUnlinkSubmit = async () => {
diff --git a/plugins/bazaar/src/components/InputField/InputField.tsx b/plugins/bazaar/src/components/InputField/InputField.tsx
index a2c8ca4ac4..a926ac41ad 100644
--- a/plugins/bazaar/src/components/InputField/InputField.tsx
+++ b/plugins/bazaar/src/components/InputField/InputField.tsx
@@ -30,7 +30,7 @@ type Rules = {
};
type Props = {
- inputType: 'description' | 'community' | 'responsible' | 'title';
+ inputType: 'description' | 'community' | 'responsible' | 'title' | 'docs';
error?: FieldError | undefined;
control: Control;
helperText?: string;
diff --git a/plugins/bazaar/src/components/ProjectDialog/ProjectDialog.tsx b/plugins/bazaar/src/components/ProjectDialog/ProjectDialog.tsx
index ec7312576d..3a0d156fd8 100644
--- a/plugins/bazaar/src/components/ProjectDialog/ProjectDialog.tsx
+++ b/plugins/bazaar/src/components/ProjectDialog/ProjectDialog.tsx
@@ -144,6 +144,18 @@ export const ProjectDialog = ({
placeholder="Community link to e.g. Teams or Discord"
/>
+
+
diff --git a/plugins/bazaar/src/types.ts b/plugins/bazaar/src/types.ts
index 055ec2fcab..7ca8e07aad 100644
--- a/plugins/bazaar/src/types.ts
+++ b/plugins/bazaar/src/types.ts
@@ -39,6 +39,7 @@ export type BazaarProject = {
startDate?: string | null;
endDate?: string | null;
responsible: string;
+ docs: string;
};
export type FormValues = {
@@ -50,4 +51,5 @@ export type FormValues = {
startDate?: string | null;
endDate?: string | null;
responsible: string;
+ docs: string;
};
diff --git a/plugins/bazaar/src/util/parseMethods.ts b/plugins/bazaar/src/util/parseMethods.ts
index b93f70c9f1..3be2be2aa9 100644
--- a/plugins/bazaar/src/util/parseMethods.ts
+++ b/plugins/bazaar/src/util/parseMethods.ts
@@ -30,6 +30,7 @@ export const parseBazaarProject = (metadata: any): BazaarProject => {
startDate: metadata.start_date,
endDate: metadata.end_date,
responsible: metadata.responsible,
+ docs: metadata.docs,
} as BazaarProject;
};