diff --git a/docusaurus/src/components/ConnectorRegistry.jsx b/docusaurus/src/components/ConnectorRegistry.jsx index 1766c204eddf..079acedaa99d 100644 --- a/docusaurus/src/components/ConnectorRegistry.jsx +++ b/docusaurus/src/components/ConnectorRegistry.jsx @@ -42,7 +42,8 @@ export default function ConnectorRegistry({ type }) { const connectors = registry .filter((c) => c.connector_type === type) - .filter((c) => c.name_oss); + .filter((c) => c.name_oss) + .filter((c) => c.supportLevel_oss); // at lease one connector is missing a support level return (
@@ -77,8 +78,14 @@ export default function ConnectorRegistry({ type }) { {/* min width to prevent wrapping */} 📕 - ⚙️ - 🐛 + {connector.supportLevel_oss != "archived" ? ( + ⚙️ + ) : ( + "" + )} + {connector.supportLevel_oss != "archived" ? ( + 🐛 + ) : null} {connector.supportLevel_oss} diff --git a/docusaurus/src/components/HeaderDecoration.jsx b/docusaurus/src/components/HeaderDecoration.jsx index 9d23dcf77a86..01f43e5570cb 100644 --- a/docusaurus/src/components/HeaderDecoration.jsx +++ b/docusaurus/src/components/HeaderDecoration.jsx @@ -67,14 +67,17 @@ export const HeaderDecoration = ({
-
-
Latest Version
-
- - {dockerImageTag} - -
-
+ {supportLevel !== "archived" && ( +
+
Latest Version
+ +
+ + {dockerImageTag} + +
+
+ )}
diff --git a/docusaurus/src/remark/utils.js b/docusaurus/src/remark/utils.js index f946396ce7f1..e28710264693 100644 --- a/docusaurus/src/remark/utils.js +++ b/docusaurus/src/remark/utils.js @@ -16,19 +16,52 @@ const isDocsPage = (vfile) => { }; const getRegistryEntry = async (vfile) => { - const pathParts = vfile.path.split("/"); - const connectorName = pathParts.pop().split(".")[0]; - const connectorType = pathParts.pop(); - const dockerRepository = `airbyte/${connectorType.replace( - /s$/, - "" - )}-${connectorName}`; - - const registry = await catalog; - - return registry.find( - (r) => r.dockerRepository_oss === dockerRepository + const pathParts = vfile.path.split("/"); + const connectorName = pathParts.pop().split(".")[0]; + const connectorType = pathParts.pop(); + const dockerRepository = `airbyte/${connectorType.replace( + /s$/, + "" + )}-${connectorName}`; + + const registry = await catalog; + + let registryEntry = registry.find( + (r) => r.dockerRepository_oss === dockerRepository + ); + + if (!registryEntry) { + registryEntry = buildArchivedRegistryEntry( + connectorName, + dockerRepository, + connectorType ); -} + } + + return registryEntry; +}; + +const buildArchivedRegistryEntry = ( + connectorName, + dockerRepository, + connectorType +) => { + const dockerName = dockerRepository.split("/")[1]; + const registryEntry = { + connectorName, + name_oss: dockerName, + dockerRepository_oss: dockerRepository, + is_oss: false, + is_cloud: false, + iconUrl_oss: `https://connectors.airbyte.com/files/metadata/airbyte/${dockerName}/latest/icon.svg`, + supportLevel_oss: "archived", + documentationUrl_oss: `https://docs.airbyte.com/integrations/${connectorType}s/${connectorName}`, + }; -module.exports = { isDocsPage, getRegistryEntry }; + return registryEntry; +}; + +module.exports = { + isDocsPage, + getRegistryEntry, +};