diff --git a/__tests__/app/omPages.test.tsx b/__tests__/app/omPages.test.tsx
index e84983ed20..cc2efd808a 100644
--- a/__tests__/app/omPages.test.tsx
+++ b/__tests__/app/omPages.test.tsx
@@ -1,38 +1,39 @@
-import { render, screen } from '@testing-library/react';
-import React from 'react';
-import OmGroups from '@/app/om/om-groups/page';
+import { render, screen } from "@testing-library/react";
+import React from "react";
+import OmGroups from "@/app/om/om-groups/page";
-
-describe('OM pages render', () => {
- it('renders OM Groups page', () => {
+describe("OM pages render", () => {
+ it("renders OM Groups page", () => {
render();
expect(screen.getAllByText(/OM GROUPS/i).length).toBeGreaterThan(0);
});
- it('renders OM Groups with content about building OM together', () => {
- render();
- expect(screen.getByText(/We are going to build OM together/i)).toBeInTheDocument();
- });
-
- it('renders OM Groups with Discord link', () => {
+ it("renders OM Groups with content about building OM together", () => {
render();
- expect(screen.getByRole('link', { name: /OM Discord channel/i })).toBeInTheDocument();
- expect(screen.getByRole('link', { name: /OM Discord channel/i })).toHaveAttribute('href', 'https://discord.gg/join-om');
+ expect(
+ screen.getByText(/We are going to build OM together/i)
+ ).toBeInTheDocument();
});
- it('renders OM Groups with representative groups list', () => {
+ it("renders OM Groups with representative groups list", () => {
render();
expect(screen.getByText(/Representative groups:/i)).toBeInTheDocument();
- expect(screen.getByText(/Experiences: Art, Fashion, Education, Entertainment, Personal, Work/i)).toBeInTheDocument();
- expect(screen.getByText(/Communities: Art, PFP, Off-chain/i)).toBeInTheDocument();
+ expect(
+ screen.getByText(
+ /Experiences: Art, Fashion, Education, Entertainment, Personal, Work/i
+ )
+ ).toBeInTheDocument();
+ expect(
+ screen.getByText(/Communities: Art, PFP, Off-chain/i)
+ ).toBeInTheDocument();
expect(screen.getByText(/Governance & Social/i)).toBeInTheDocument();
expect(screen.getByText(/Decentralized Tech Stack/i)).toBeInTheDocument();
expect(screen.getByText(/Inclusion/i)).toBeInTheDocument();
expect(screen.getByText(/Public Policy/i)).toBeInTheDocument();
});
- it('renders with proper title and meta information', () => {
+ it("renders with proper title and meta information", () => {
render();
- expect(document.title).toBe('OM GROUPS - 6529.io');
+ expect(document.title).toBe("OM GROUPS - 6529.io");
});
-});
\ No newline at end of file
+});
diff --git a/__tests__/components/home/hero/HeroHeader.test.tsx b/__tests__/components/home/hero/HeroHeader.test.tsx
new file mode 100644
index 0000000000..9a5809f1a4
--- /dev/null
+++ b/__tests__/components/home/hero/HeroHeader.test.tsx
@@ -0,0 +1,33 @@
+import HeroHeader from "@/components/home/hero/HeroHeader";
+import { render, screen } from "@testing-library/react";
+
+jest.mock("next/link", () => ({
+ __esModule: true,
+ default: ({ href, children, ...props }: any) => (
+
+ {children}
+
+ ),
+}));
+
+describe("HeroHeader", () => {
+ it("renders the hero heading copy", () => {
+ render();
+
+ expect(
+ screen.getByRole("heading", {
+ name: "Building a decentralized network state",
+ })
+ ).toBeInTheDocument();
+ });
+
+ it("renders a quick link to network health", () => {
+ render();
+
+ const healthLink = screen.getByRole("link", {
+ name: "Open network health dashboard",
+ });
+
+ expect(healthLink).toHaveAttribute("href", "/network/health");
+ });
+});
diff --git a/app/network/definitions/page.client.tsx b/app/network/definitions/page.client.tsx
index eaf35a7fe6..64bb11fee0 100644
--- a/app/network/definitions/page.client.tsx
+++ b/app/network/definitions/page.client.tsx
@@ -7,7 +7,7 @@ import { Col, Container, Row } from "react-bootstrap";
const NAV_LINKS = [
{ href: "/network/tdh", label: "TDH" },
{ href: "/network/tdh/historic-boosts", label: "TDH Historic Boosts" },
- { href: "/network/metrics/network-tdh", label: "Network Stats" },
+ { href: "/network/health/network-tdh", label: "Network Stats" },
{ href: "/network/levels", label: "Levels" },
] as const;
diff --git a/app/network/metrics/components/CumulativeMetricCard.tsx b/app/network/health/components/CumulativeMetricCard.tsx
similarity index 100%
rename from app/network/metrics/components/CumulativeMetricCard.tsx
rename to app/network/health/components/CumulativeMetricCard.tsx
diff --git a/app/network/metrics/components/MetricCard.tsx b/app/network/health/components/MetricCard.tsx
similarity index 100%
rename from app/network/metrics/components/MetricCard.tsx
rename to app/network/health/components/MetricCard.tsx
diff --git a/app/network/metrics/components/MetricSparkline.tsx b/app/network/health/components/MetricSparkline.tsx
similarity index 100%
rename from app/network/metrics/components/MetricSparkline.tsx
rename to app/network/health/components/MetricSparkline.tsx
diff --git a/app/network/metrics/components/MetricsError.tsx b/app/network/health/components/MetricsError.tsx
similarity index 100%
rename from app/network/metrics/components/MetricsError.tsx
rename to app/network/health/components/MetricsError.tsx
diff --git a/app/network/metrics/components/MetricsIcons.tsx b/app/network/health/components/MetricsIcons.tsx
similarity index 100%
rename from app/network/metrics/components/MetricsIcons.tsx
rename to app/network/health/components/MetricsIcons.tsx
diff --git a/app/network/metrics/components/MetricsSkeleton.tsx b/app/network/health/components/MetricsSkeleton.tsx
similarity index 100%
rename from app/network/metrics/components/MetricsSkeleton.tsx
rename to app/network/health/components/MetricsSkeleton.tsx
diff --git a/app/network/metrics/components/MintMetricsCard.tsx b/app/network/health/components/MintMetricsCard.tsx
similarity index 99%
rename from app/network/metrics/components/MintMetricsCard.tsx
rename to app/network/health/components/MintMetricsCard.tsx
index b591cdc23d..490a137272 100644
--- a/app/network/metrics/components/MintMetricsCard.tsx
+++ b/app/network/health/components/MintMetricsCard.tsx
@@ -1,6 +1,6 @@
-import type { ReactNode } from "react";
import CustomTooltip from "@/components/utils/tooltip/CustomTooltip";
import type { ApiMintMetrics } from "@/generated/models/ApiMintMetrics";
+import type { ReactNode } from "react";
import { formatNumberWithCommas } from "../utils/formatNumbers";
interface MintMetricsCardProps {
@@ -169,7 +169,7 @@ export default function MintMetricsCard({ data, icon }: MintMetricsCardProps) {
Last {data.length} Mints
-
+
diff --git a/app/network/metrics/network-tdh/page.tsx b/app/network/health/network-tdh/page.tsx
similarity index 100%
rename from app/network/metrics/network-tdh/page.tsx
rename to app/network/health/network-tdh/page.tsx
diff --git a/app/network/metrics/page.client.tsx b/app/network/health/page.client.tsx
similarity index 96%
rename from app/network/metrics/page.client.tsx
rename to app/network/health/page.client.tsx
index 255e313215..0f99b47d27 100644
--- a/app/network/metrics/page.client.tsx
+++ b/app/network/health/page.client.tsx
@@ -26,7 +26,7 @@ import MetricsSkeleton from "./components/MetricsSkeleton";
import MintMetricsCard from "./components/MintMetricsCard";
export default function MetricsPageClient() {
- useSetTitle("Metrics");
+ useSetTitle("Health");
const dailyQuery = useCommunityMetrics("DAY");
const weeklyQuery = useCommunityMetrics("WEEK");
@@ -42,7 +42,7 @@ export default function MetricsPageClient() {
- Metrics
+ Health
Activity overview across different time periods
@@ -65,7 +65,7 @@ export default function MetricsPageClient() {
icon={}
/>
}
@@ -76,7 +76,7 @@ export default function MetricsPageClient() {
sparklineDates={series?.stepsStartTimes}
/>
}
@@ -98,7 +98,7 @@ export default function MetricsPageClient() {
sparklineDates={series?.stepsStartTimes}
/>
}
@@ -121,7 +121,7 @@ export default function MetricsPageClient() {
sparklineDates={series?.stepsStartTimes}
/>
}
@@ -140,7 +140,7 @@ export default function MetricsPageClient() {
iconBgColor="tw-bg-teal-500"
accentColor="tw-text-teal-400"
unit="TDH"
- href="/network/metrics/network-tdh"
+ href="/network/health/network-tdh"
sparklineData={series?.networkTdh}
sparklineColor="tw-bg-teal-500"
sparklineDates={series?.stepsStartTimes}
@@ -170,7 +170,7 @@ export default function MetricsPageClient() {
sparklineDates={series?.stepsStartTimes}
/>
}
diff --git a/app/network/metrics/page.tsx b/app/network/health/page.tsx
similarity index 77%
rename from app/network/metrics/page.tsx
rename to app/network/health/page.tsx
index 7e0631b9b7..b6559a3316 100644
--- a/app/network/metrics/page.tsx
+++ b/app/network/health/page.tsx
@@ -7,5 +7,5 @@ export default function MetricsPage() {
}
export function generateMetadata(): Metadata {
- return getAppMetadata({ title: "Metrics", description: "Metrics dashboard" });
+ return getAppMetadata({ title: "Health", description: "Health dashboard" });
}
diff --git a/app/network/metrics/utils/formatNumbers.ts b/app/network/health/utils/formatNumbers.ts
similarity index 100%
rename from app/network/metrics/utils/formatNumbers.ts
rename to app/network/health/utils/formatNumbers.ts
diff --git a/app/network/tdh/historic-boosts/page.client.tsx b/app/network/tdh/historic-boosts/page.client.tsx
index a55a4345c1..3ae535e056 100644
--- a/app/network/tdh/historic-boosts/page.client.tsx
+++ b/app/network/tdh/historic-boosts/page.client.tsx
@@ -121,7 +121,7 @@ function IntroLine(props: PropsWithChildren) {
const NAV_LINKS = [
{ href: "/network/tdh", label: "TDH" },
{ href: "/network/definitions", label: "Definitions" },
- { href: "/network/metrics/network-tdh", label: "Network Stats" },
+ { href: "/network/health/network-tdh", label: "Network Stats" },
{ href: "/network/levels", label: "Levels" },
] as const;
diff --git a/app/network/tdh/page.client.tsx b/app/network/tdh/page.client.tsx
index 4147913d7f..a71990a480 100644
--- a/app/network/tdh/page.client.tsx
+++ b/app/network/tdh/page.client.tsx
@@ -225,7 +225,7 @@ export default function TDHMainPage() {
metrics across the network.
View Network Stats
diff --git a/app/om/discord/page.tsx b/app/om/discord/page.tsx
deleted file mode 100644
index 5c953a71b3..0000000000
--- a/app/om/discord/page.tsx
+++ /dev/null
@@ -1,435 +0,0 @@
-import { getAppMetadata } from "@/components/providers/metadata";
-import type { Metadata } from "next";
-
-const IndexPage = () => (
-
-
-
-
- {/* This site is optimized with the Yoast SEO plugin v23.9 - https://yoast.com/wordpress/plugins/seo/ */}
-
DISCORD - 6529.io
-
-
-
-
-
-
-
-
-
-
-
- {/* / Yoast SEO plugin. */}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-