diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx index 577a8706984..e50ac0df5f8 100644 --- a/src/components/IntegrationGrid/IntegrationGrid.tsx +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -72,37 +72,60 @@ function IntegrationCard({ integration }: { integration: IntegrationData }) { const linkTo = getNavigationLink(integration.docsLink, integration.slug); + // Check if this is an external link (not to clickhouse.com/docs) + const isExternalLink = linkTo.startsWith('http') && !linkTo.includes('clickhouse.com/docs'); + return ( - - - {/* Tier Icon in top right corner */} - {integration.integration_tier && integration.integration_tier !== 'community' && ( -
- {getTierIcon(integration.integration_tier)} -
- )} - - - {`${integration.integration_title - - - {integration.integration_title} - - -
- +
+ + + {/* Tier Icon in top right corner */} + {integration.integration_tier && integration.integration_tier !== 'community' && ( +
+ {getTierIcon(integration.integration_tier)} +
+ )} + + + {`${integration.integration_title + + + {integration.integration_title} + + +
+ + {/* External link overlay */} + {isExternalLink && ( +
+ + + +
+ )} +
); } @@ -630,13 +653,8 @@ function getTierIcon(tier: string, withMargin = false): React.ReactNode { ); case 'community': return ( - - - - - - - + + ); default: diff --git a/src/components/IntegrationGrid/styles.module.scss b/src/components/IntegrationGrid/styles.module.scss index c8dd02049ae..3554a10dd45 100644 --- a/src/components/IntegrationGrid/styles.module.scss +++ b/src/components/IntegrationGrid/styles.module.scss @@ -178,4 +178,44 @@ font-size: 1.1rem; margin: 0; } +} + +.externalLinkOverlay { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.15); + backdrop-filter: blur(4px); + -webkit-backdrop-filter: blur(4px); + display: flex; + align-items: center; + justify-content: center; + opacity: 0; + transition: opacity 0.2s ease; + border-radius: 8px; + pointer-events: none; + + [data-theme='dark'] & { + background: rgba(255, 255, 255, 0.15); + } + + svg { + width: 32px; + height: 32px; + color: white; + + [data-theme='dark'] & { + color: var(--ifm-color-emphasis-800); + } + } +} + +.cardWrapper { + position: relative; + + &:hover .externalLinkOverlay { + opacity: 1; + } } \ No newline at end of file diff --git a/src/css/home.scss b/src/css/home.scss index e64279485d6..6cb2009404d 100644 --- a/src/css/home.scss +++ b/src/css/home.scss @@ -210,7 +210,7 @@ @media (min-width: 768px) { flex-direction: row; padding-top: 2rem; - padding-bottom: 2rem; + padding-bottom: 2.5rem; padding-right: 2rem; justify-content: space-between; } @@ -231,6 +231,15 @@ } } +.docs-doc-id-home-page .home-page-section-search p + .home-page-hero-right-search { + margin-top: 0 !important; +} + +/* Also target the SearchBar wrapper directly */ +.docs-doc-id-home-page .home-page-hero-right-search { + margin-top: 0 !important; +} + .home-page-section:last-of-type { border-bottom: none; } diff --git a/src/pages/index.mdx b/src/pages/index.mdx index da04f43a10a..753a85db947 100644 --- a/src/pages/index.mdx +++ b/src/pages/index.mdx @@ -49,7 +49,7 @@ export const Hero = ({children, color}) => { }}>
-
Quick Start
+
Quick start
Get started with Cloud
@@ -93,7 +93,7 @@ export const HomePageOptionButton = ({children, icon, iconWidth, svgIcon, link}) export const SearchClickHouse = ({children, color}) => { return (
-

Search documentation

+

Search documentation

@@ -175,10 +175,10 @@ export const DeployClickHouse = ({children, color}) => { } link='https://clickhouse.com/cloud'>Cloud } - link='/docs/architecture/introduction'>Node Deployment + link='/docs/architecture/introduction'>Node deployment } link='/docs/architecture/cluster-deployment'>Cluster - Deployment + deployment
) @@ -199,7 +199,7 @@ export const MoreResources = ({children, color}) => { link='/docs/whats-new/changelog'>Changelog } link='/docs/getting-started/example-datasets'>Sample - Datasets + datasets diff --git a/src/theme/Navbar/Content/index.js b/src/theme/Navbar/Content/index.js index aae42d11fda..37e57edd748 100644 --- a/src/theme/Navbar/Content/index.js +++ b/src/theme/Navbar/Content/index.js @@ -105,4 +105,4 @@ export default function NavbarContent() { ); -} +} \ No newline at end of file diff --git a/src/theme/badges/CommunityMaintained/index.js b/src/theme/badges/CommunityMaintained/index.js index 162d07778cb..2ff0165e8f3 100644 --- a/src/theme/badges/CommunityMaintained/index.js +++ b/src/theme/badges/CommunityMaintained/index.js @@ -3,14 +3,9 @@ import styles from "./styles.module.css" const Icon = () => { return ( -
- - - - - - - +
+ +
) diff --git a/src/theme/badges/CommunityMaintained/styles.module.css b/src/theme/badges/CommunityMaintained/styles.module.css index 22bc3a677c1..4d2e441a327 100644 --- a/src/theme/badges/CommunityMaintained/styles.module.css +++ b/src/theme/badges/CommunityMaintained/styles.module.css @@ -12,8 +12,8 @@ } .CommunityMaintainedIcon svg path { - fill: #69afff; - stroke: #ffffff; + fill: #ffffff; + stroke: none; } .CommunityMaintainedBadge a { @@ -34,6 +34,6 @@ } [data-theme="dark"] .CommunityMaintainedIcon svg path { - fill: #69afff; - stroke: #ffffff; + fill: #ffffff; + stroke: none; }