diff --git a/packages/docusaurus-playground/src/pages/index.mdx b/packages/docusaurus-playground/src/pages/index.mdx index 7bc5666..1a15b06 100644 --- a/packages/docusaurus-playground/src/pages/index.mdx +++ b/packages/docusaurus-playground/src/pages/index.mdx @@ -17,6 +17,7 @@ import { Roadmap, SectionHeader, TimelineItem, + ShowcaseCard, } from '../components/mdx' @@ -253,3 +254,89 @@ import { + + + + + + "RAILGUN contributors selected Waku to run its relayer network as an early-stage but promising product of the privacy-centric status.im ecosystem. We have not been disappointed. The developers are extremely professional and responsive, and continue to strive to understand and meet our needs as a communication layer for relaying private transactions.", + }, + { + name: 'The Graph', + logo: '/showcase/the-graph-mark-black.svg', + logoDark: '/showcase/the-graph-mark-white.svg', + description: + `"Our experience with Waku has been transformative, proving to be a valuable tool that reveals the potential of peer-to-peer communication technologies. We are excited to continue using Waku's advanced features and contribute to the growth of Graphcast and the broader Graph ecosystem."`, + } + ]} + /> + + Build on Waku + + + + + + + + + + + + + "RAILGUN contributors selected Waku to run its relayer network as an + early-stage but promising product of the privacy-centric{' '} + + status.im + {' '} + ecosystem. We have not been disappointed. The developers are + extremely professional and responsive, and continue to strive to + understand and meet our needs as a communication layer for relaying + private transactions." + + } + /> + + + + + + + Build on Waku + + diff --git a/packages/logos-docusaurus-theme/src/client/components/mdx/Showcase/Showcase.scss b/packages/logos-docusaurus-theme/src/client/components/mdx/Showcase/Showcase.scss index 2f88216..d2a38c2 100644 --- a/packages/logos-docusaurus-theme/src/client/components/mdx/Showcase/Showcase.scss +++ b/packages/logos-docusaurus-theme/src/client/components/mdx/Showcase/Showcase.scss @@ -1,51 +1,2 @@ -@use '../../../css/utils'; -@use '../../../css/lsd'; - .mdx-showcase { - width: 100%; - overflow: hidden; - display: grid; - grid-template-columns: repeat(var(--columns), 1fr); - gap: 1rem; -} - -.mdx-showcase__item { - border-top: 1px solid rgb(var(--lsd-border-primary)); -} - -.mdx-showcase__item-inner { - padding: 24px 8px; -} - -.mdx-showcase__item-logo { -} - -.mdx-showcase__item-name { - margin-top: 1rem; -} - -.mdx-showcase__item-description { - border-top: 1px solid rgb(var(--lsd-border-primary)); - margin-top: 24px; - padding-top: 16px; -} - -@include utils.responsive('lg', 'down') { - .mdx-showcase { - grid-template-columns: repeat(2, 1fr); - gap: 1.5rem 1rem; - } - - .mdx-showcase__item-name { - @include lsd.typography('h6'); - } - - .mdx-showcase__item-description { - margin-top: 1rem; - } - - .mdx-showcase__item-logo { - width: 34px; - height: auto; - } } diff --git a/packages/logos-docusaurus-theme/src/client/components/mdx/Showcase/Showcase.tsx b/packages/logos-docusaurus-theme/src/client/components/mdx/Showcase/Showcase.tsx index 5c9f5e4..19f4d4b 100644 --- a/packages/logos-docusaurus-theme/src/client/components/mdx/Showcase/Showcase.tsx +++ b/packages/logos-docusaurus-theme/src/client/components/mdx/Showcase/Showcase.tsx @@ -1,71 +1,31 @@ -import { Typography } from '@acid-info/lsd-react' -import ThemedImage from '@theme/ThemedImage' import clsx from 'clsx' import React from 'react' -import { makeStyle } from '../../../lib/makeStyle' +import { Grid, GridProps, ShowcaseCard, ShowcaseCardProps } from '..' import './Showcase.scss' -export type ShowcaseItem = { - name: React.ReactNode - logo?: string - logoDark?: string - description: React.ReactNode -} - -export type ShowcaseProps = Omit< - React.HTMLAttributes, - 'title' -> & { - items: ShowcaseItem[] - columns?: number +export type ShowcaseProps = GridProps & { + items: ShowcaseCardProps[] } export const Showcase: React.FC = ({ items = [], - columns = 4, - style = {}, className, - children, ...props }) => { return ( -
{items.map((item, index) => { return ( -
-
- {item?.logo && item?.logoDark && ( - - )} - - {item.name} - - - {item.description} - -
-
+ + + ) })} -
+ ) } diff --git a/packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/ShowcaseCard.scss b/packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/ShowcaseCard.scss new file mode 100644 index 0000000..408ab2c --- /dev/null +++ b/packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/ShowcaseCard.scss @@ -0,0 +1,43 @@ +@use '../../../css/utils'; +@use '../../../css/lsd'; + +.mdx-showcase-card { + border-top: 1px solid rgb(var(--lsd-border-primary)); +} + +.mdx-showcase-card__inner { + padding: 24px 8px; +} + +.mdx-showcase-card__logo { +} + +.mdx-showcase-card__name { + margin-top: 1rem; +} + +.mdx-showcase-card__description { + border-top: 1px solid rgb(var(--lsd-border-primary)); + margin-top: 24px; + padding-top: 16px; +} + +@include utils.responsive('lg', 'down') { + .mdx-showcase { + grid-template-columns: repeat(2, 1fr); + gap: 1.5rem 1rem; + } + + .mdx-showcase-card__name { + @include lsd.typography('h6'); + } + + .mdx-showcase-card__description { + margin-top: 1rem; + } + + .mdx-showcase-card__logo { + width: 34px; + height: auto; + } +} diff --git a/packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/ShowcaseCard.tsx b/packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/ShowcaseCard.tsx new file mode 100644 index 0000000..864160c --- /dev/null +++ b/packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/ShowcaseCard.tsx @@ -0,0 +1,56 @@ +import { Typography } from '@acid-info/lsd-react' +import ThemedImage from '@theme/ThemedImage' +import clsx from 'clsx' +import React from 'react' +import './ShowcaseCard.scss' + +export type ShowcaseCardProps = Omit< + React.HTMLAttributes, + 'title' +> & { + logoSrc?: string + logoSrcDark?: string + name: React.ReactNode + description: React.ReactNode +} + +export const ShowcaseCard: React.FC = ({ + name, + logoSrc, + logoSrcDark, + description, + className, + children, + ...props +}) => { + return ( +
+
+ {(logoSrc || logoSrcDark) && ( + + )} + + {name} + + + {description} + +
+
+ ) +} diff --git a/packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/index.ts b/packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/index.ts new file mode 100644 index 0000000..866f04e --- /dev/null +++ b/packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/index.ts @@ -0,0 +1 @@ +export * from './ShowcaseCard' diff --git a/packages/logos-docusaurus-theme/src/client/components/mdx/index.ts b/packages/logos-docusaurus-theme/src/client/components/mdx/index.ts index db9e93f..2fbe625 100644 --- a/packages/logos-docusaurus-theme/src/client/components/mdx/index.ts +++ b/packages/logos-docusaurus-theme/src/client/components/mdx/index.ts @@ -18,5 +18,6 @@ export * from './Roadmap' export * from './ScrollToBottom' export * from './SectionHeader' export * from './Showcase' +export * from './ShowcaseCard' export * from './SocialCard' export * from './TimelineItem'