Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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 (
<section className="w-full h-fit box-border flex flex-col flex-nowrap justify-center items-center gap-5 sm:gap-10 px-5 py-7 sm:px-8 sm:py-10 bg-[#011A25]">
<p className="text-sm sm:text-base leading-6 font-normal text-white text-balance text-center">
Join the ENS ecosystem that's already building on ENSNode
</p>
<DisplayENSNodeIntegrators
integrators={FEATURED_ENSNODE_INTEGRATORS}
className="flex min-[1250px]:hidden"
/>
<DisplayENSNodeIntegrators
integrators={topIntegratorsRow}
className="hidden min-[1250px]:flex"
/>
<DisplayENSNodeIntegrators
integrators={bottomIntegratorsRow}
className="hidden min-[1250px]:flex"
/>
</section>
);
};

const DisplayENSNodeIntegrators = ({
integrators,
className,
}: {
integrators: FeaturedENSNodeIntegratorsDisplayData[];
className?: string;
}) => (
<div
className={cc([
"max-w-[1216px] w-full h-fit flex-row flex-wrap justify-center items-center gap-6 gap-y-5 sm:gap-8 sm:gap-y-10 relative z-20",
className,
])}
>
{integrators.map((member: FeaturedENSNodeIntegratorsDisplayData) => (
<Tooltip
key={`featured-ensnode-integrator=${member.name}`}
sideOffset={-5}
trigger={
<a
aria-label={member.name}
Comment thread
coderabbitai[bot] marked this conversation as resolved.
href={member.websiteURL.href}
target="_blank"
rel="noreferrer noopener"
className="group w-fit h-fit flex justify-center items-center text-white/50 hover:text-white text-lg font-semibold cursor-pointer transition-colors duration-200"
>
<member.icon
className={cc(["w-auto h-[25px] sm:h-[44px] shrink-0", member.customStyles])}
/>
</a>
}
Comment thread
Y3drk marked this conversation as resolved.
>
{member.name}
</Tooltip>
))}
</div>
);
Original file line number Diff line number Diff line change
@@ -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<SVGSVGElement>) => 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/"),
Expand Down
4 changes: 2 additions & 2 deletions docs/ensnode.io/src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -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";
---

<Layout data-page="home">
<Header />
<Hero ensadminUrl={ENSADMIN_URL} />
<ENSEcosystemMembers client:load />
<FeaturedENSNodeIntegrators client:load />
<section
class="w-full h-fit box-border flex flex-col flex-nowrap justify-center items-center gap-10 sm:gap-20 p-5 sm:px-28 sm:py-[60px]">
<JoinTelegram />
Expand Down
Loading