diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/AnticaptureLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/AnticaptureLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/AnticaptureLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/AnticaptureLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/AtlasLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/AtlasLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/AtlasLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/AtlasLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/BlockfulLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/BlockfulLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/BlockfulLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/BlockfulLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSLabsLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSLabsLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSLabsLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSLabsLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSTestEnvLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSTestEnvLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSTestEnvLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSTestEnvLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSVisionLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSVisionLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSVisionLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSVisionLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSv2AppLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSv2AppLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSv2AppLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSv2AppLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSv2ExplorerLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSv2ExplorerLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSv2ExplorerLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSv2ExplorerLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSvolutionLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSvolutionLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/ENSvolutionLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/ENSvolutionLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/EnscribeLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/EnscribeLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/EnscribeLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/EnscribeLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/EthIdLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/EthIdLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/EthIdLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/EthIdLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/EthereumCommentsProtocolLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/EthereumCommentsProtocolLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/EthereumCommentsProtocolLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/EthereumCommentsProtocolLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/GrailsLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/GrailsLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/GrailsLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/GrailsLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/JustaNameLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/JustaNameLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/JustaNameLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/JustaNameLogo.tsx diff --git a/docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/NamespaceLogo.tsx b/docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/NamespaceLogo.tsx similarity index 100% rename from docs/ensnode.io/src/components/atoms/logos/ens-ecosystem-members/NamespaceLogo.tsx rename to docs/ensnode.io/src/components/atoms/logos/featured-ensnode-integrators/NamespaceLogo.tsx diff --git a/docs/ensnode.io/src/components/organisms/ENSEcosystemMembers/index.tsx b/docs/ensnode.io/src/components/organisms/ENSEcosystemMembers/index.tsx deleted file mode 100644 index b2efe30ee..000000000 --- a/docs/ensnode.io/src/components/organisms/ENSEcosystemMembers/index.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { ENS_ECOSYSTEM_MEMBERS, type ENSEcosystemMemberDisplayData } from "./members-collection"; -import { Tooltip } from "@namehash/namehash-ui/legacy"; -import cc from "classcat"; - -export const ENSEcosystemMembers = () => { - return ( -
-

- Join the ENS ecosystem that builds on ENSNode -

-
- {ENS_ECOSYSTEM_MEMBERS.map((member: ENSEcosystemMemberDisplayData) => ( - - - - } - > - {member.name} - - ))} -
-
- ); -}; diff --git a/docs/ensnode.io/src/components/organisms/FeaturedENSNodeIntegrators/index.tsx b/docs/ensnode.io/src/components/organisms/FeaturedENSNodeIntegrators/index.tsx new file mode 100644 index 000000000..26a22dd5e --- /dev/null +++ b/docs/ensnode.io/src/components/organisms/FeaturedENSNodeIntegrators/index.tsx @@ -0,0 +1,80 @@ +import { + FEATURED_ENSNODE_INTEGRATORS, + type FeaturedENSNodeIntegratorsDisplayData, +} from "./integrators-collection"; +import { Tooltip } from "@namehash/namehash-ui/legacy"; +import cc from "classcat"; + +export const FeaturedENSNodeIntegrators = () => { + // explicitly split the integrators into two rows for wide enough screens + // to satisfy the request to put the ENSv2 Explorer app in the second row + const splitIntegratorsAtRaw = FEATURED_ENSNODE_INTEGRATORS.findIndex( + (m) => m.name === "Official ENSv2 Explorer", + ); + const splitIntegratorsAt = + splitIntegratorsAtRaw === -1 + ? Math.ceil(FEATURED_ENSNODE_INTEGRATORS.length / 2) + : splitIntegratorsAtRaw; + + const [topIntegratorsRow, bottomIntegratorsRow] = [ + FEATURED_ENSNODE_INTEGRATORS.slice(0, splitIntegratorsAt), + FEATURED_ENSNODE_INTEGRATORS.slice(splitIntegratorsAt), + ]; + + return ( +
+

+ Join the ENS ecosystem that's already building on ENSNode +

+ + + +
+ ); +}; + +const DisplayENSNodeIntegrators = ({ + integrators, + className, +}: { + integrators: FeaturedENSNodeIntegratorsDisplayData[]; + className?: string; +}) => ( +
+ {integrators.map((member: FeaturedENSNodeIntegratorsDisplayData) => ( + + + + } + > + {member.name} + + ))} +
+); diff --git a/docs/ensnode.io/src/components/organisms/ENSEcosystemMembers/members-collection.tsx b/docs/ensnode.io/src/components/organisms/FeaturedENSNodeIntegrators/integrators-collection.tsx similarity index 57% rename from docs/ensnode.io/src/components/organisms/ENSEcosystemMembers/members-collection.tsx rename to docs/ensnode.io/src/components/organisms/FeaturedENSNodeIntegrators/integrators-collection.tsx index 2cdfe35d2..187725af5 100644 --- a/docs/ensnode.io/src/components/organisms/ENSEcosystemMembers/members-collection.tsx +++ b/docs/ensnode.io/src/components/organisms/FeaturedENSNodeIntegrators/integrators-collection.tsx @@ -1,28 +1,28 @@ -import { AnticaptureLogo } from "@components/atoms/logos/ens-ecosystem-members/AnticaptureLogo"; -import { AtlasLogo } from "@components/atoms/logos/ens-ecosystem-members/AtlasLogo"; -import { BlockfulLogo } from "@components/atoms/logos/ens-ecosystem-members/BlockfulLogo"; -import { EnscribeLogo } from "@components/atoms/logos/ens-ecosystem-members/EnscribeLogo"; -import { ENSLabsLogo } from "@components/atoms/logos/ens-ecosystem-members/ENSLabsLogo"; -import { ENSTestEnvLogo } from "@components/atoms/logos/ens-ecosystem-members/ENSTestEnvLogo"; -import { ENSv2AppLogo } from "@components/atoms/logos/ens-ecosystem-members/ENSv2AppLogo"; -import { ENSv2ExplorerLogo } from "@components/atoms/logos/ens-ecosystem-members/ENSv2ExplorerLogo"; -import { ENSVisionLogo } from "@components/atoms/logos/ens-ecosystem-members/ENSVisionLogo"; -import { ENSvolutionLogo } from "@components/atoms/logos/ens-ecosystem-members/ENSvolutionLogo"; -import { EthereumCommentsProtocolLogo } from "@components/atoms/logos/ens-ecosystem-members/EthereumCommentsProtocolLogo"; -import { EthIdLogo } from "@components/atoms/logos/ens-ecosystem-members/EthIdLogo"; -import { GrailsLogo } from "@components/atoms/logos/ens-ecosystem-members/GrailsLogo"; -import { JustaNameLogo } from "@components/atoms/logos/ens-ecosystem-members/JustaNameLogo"; -import { NamespaceLogo } from "@components/atoms/logos/ens-ecosystem-members/NamespaceLogo"; +import { AnticaptureLogo } from "@components/atoms/logos/featured-ensnode-integrators/AnticaptureLogo"; +import { AtlasLogo } from "@components/atoms/logos/featured-ensnode-integrators/AtlasLogo"; +import { BlockfulLogo } from "@components/atoms/logos/featured-ensnode-integrators/BlockfulLogo"; +import { EnscribeLogo } from "@components/atoms/logos/featured-ensnode-integrators/EnscribeLogo"; +import { ENSLabsLogo } from "@components/atoms/logos/featured-ensnode-integrators/ENSLabsLogo"; +import { ENSTestEnvLogo } from "@components/atoms/logos/featured-ensnode-integrators/ENSTestEnvLogo"; +import { ENSv2AppLogo } from "@components/atoms/logos/featured-ensnode-integrators/ENSv2AppLogo"; +import { ENSv2ExplorerLogo } from "@components/atoms/logos/featured-ensnode-integrators/ENSv2ExplorerLogo"; +import { ENSVisionLogo } from "@components/atoms/logos/featured-ensnode-integrators/ENSVisionLogo"; +import { ENSvolutionLogo } from "@components/atoms/logos/featured-ensnode-integrators/ENSvolutionLogo"; +import { EthereumCommentsProtocolLogo } from "@components/atoms/logos/featured-ensnode-integrators/EthereumCommentsProtocolLogo"; +import { EthIdLogo } from "@components/atoms/logos/featured-ensnode-integrators/EthIdLogo"; +import { GrailsLogo } from "@components/atoms/logos/featured-ensnode-integrators/GrailsLogo"; +import { JustaNameLogo } from "@components/atoms/logos/featured-ensnode-integrators/JustaNameLogo"; +import { NamespaceLogo } from "@components/atoms/logos/featured-ensnode-integrators/NamespaceLogo"; import type { JSX } from "react"; -export interface ENSEcosystemMemberDisplayData { +export interface FeaturedENSNodeIntegratorsDisplayData { name: string; websiteURL: URL; icon: (props: React.SVGProps) => JSX.Element; customStyles?: string; } -export const ENS_ECOSYSTEM_MEMBERS: ENSEcosystemMemberDisplayData[] = [ +export const FEATURED_ENSNODE_INTEGRATORS: FeaturedENSNodeIntegratorsDisplayData[] = [ { name: "ENS Labs", websiteURL: new URL("https://www.enslabs.org/"), diff --git a/docs/ensnode.io/src/pages/index.astro b/docs/ensnode.io/src/pages/index.astro index 02159dd86..001a93c26 100644 --- a/docs/ensnode.io/src/pages/index.astro +++ b/docs/ensnode.io/src/pages/index.astro @@ -5,13 +5,13 @@ import Header from "@components/organisms/Header.astro"; import Hero from "@components/overrides/Hero.astro"; import Layout from "../layouts/Layout.astro"; import JoinTelegram from "../components/molecules/JoinTelegram"; -import { ENSEcosystemMembers } from "../components/organisms/ENSEcosystemMembers/index.tsx"; +import { FeaturedENSNodeIntegrators } from "../components/organisms/FeaturedENSNodeIntegrators/index.tsx"; ---
- +