diff --git a/__tests__/pages/miscPages2.test.tsx b/__tests__/pages/miscPages2.test.tsx
index c43698ec6a..b8ce21a59c 100644
--- a/__tests__/pages/miscPages2.test.tsx
+++ b/__tests__/pages/miscPages2.test.tsx
@@ -1,21 +1,19 @@
import WillowShield from "@/app/museum/genesis/willow-shield/page";
import JoinOm from "@/app/om/join-om/page";
import PartnershipRequest from "@/app/om/partnership-request/page";
-import ConsolidatedMetrics from "@/app/open-data/network-metrics/page";
import MemeSubscriptions from "@/app/open-data/meme-subscriptions/page";
+import ConsolidatedMetrics from "@/app/open-data/network-metrics/page";
import AddRememes from "@/app/rememes/add/page";
import SlideInitiatives from "@/app/slide-page/6529-initiatives/page";
import AppWallets from "@/app/tools/app-wallets/page";
import { AppWalletsProvider } from "@/components/app-wallets/AppWalletsContext";
import { AuthContext } from "@/components/auth/Auth";
-import { NextGenCollection } from "@/entities/INextgen";
-import NextgenCollectionMintingPlan from "@/components/nextGen/collections/collectionParts/mint/NextgenCollectionMintingPlan";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { render, screen } from "@testing-library/react";
+import { redirect } from "next/navigation";
import React, { useMemo } from "react";
import { mainnet } from "viem/chains";
import { WagmiProvider, createConfig, http } from "wagmi";
-import { redirect } from "next/navigation";
jest.mock("next/dynamic", () => () => () =>
);
jest.mock("@/components/pdfViewer/PdfViewer", () => () => (
@@ -31,7 +29,11 @@ jest.mock("@/services/api/common-api", () => ({
commonApiFetch: jest.fn(() => Promise.resolve({ data: [] })),
}));
global.fetch = jest.fn(() =>
- Promise.resolve({ json: () => Promise.resolve({}) })
+ Promise.resolve({
+ ok: true,
+ status: 200,
+ json: () => Promise.resolve({ data: [], count: 0 }),
+ })
) as any;
// Mock TitleContext
@@ -75,7 +77,8 @@ jest.mock("@/components/cookies/CookieConsentContext", () => ({
showBanner: false,
setShowBanner: jest.fn(),
}),
- CookieConsentProvider: ({ children }: { children: React.ReactNode }) => children,
+ CookieConsentProvider: ({ children }: { children: React.ReactNode }) =>
+ children,
}));
const TestProvider: React.FC<{ children: React.ReactNode }> = ({
@@ -104,8 +107,12 @@ describe("misc pages render", () => {
it("renders NextGen distribution plan page", () => {
// Mock the component itself since it has complex dependencies
- const MockComponent = () => NextGen Distribution Plan
;
-
+ const MockComponent = () => (
+
+ NextGen Distribution Plan
+
+ );
+
render(
@@ -174,13 +181,11 @@ describe("misc pages render", () => {
const Wrapper = ({ children }: { children: React.ReactNode }) => (
-
- {children}
-
+ {children}
);
-
+
render(, { wrapper: Wrapper });
expect(screen.getByText(/add ReMemes/i)).toBeInTheDocument();
});
diff --git a/components/user/stats/UserPageStatsBoostBreakdown.tsx b/components/user/stats/UserPageStatsBoostBreakdown.tsx
index 1c79e3c5e1..8f03036661 100644
--- a/components/user/stats/UserPageStatsBoostBreakdown.tsx
+++ b/components/user/stats/UserPageStatsBoostBreakdown.tsx
@@ -65,26 +65,25 @@ export default function UserPageStatsBoostBreakdown({
return baseRows;
}
- const extraRows = [
- getMemeRow("SZN1", bb.memes_szn1),
- ...(bb.memes_szn1?.acquired
- ? []
- : [
- getMemeRow("Genesis Set", bb.memes_genesis),
- getMemeRow("Nakamoto", bb.memes_nakamoto),
- ]),
- getMemeRow("SZN2", bb.memes_szn2),
- getMemeRow("SZN3", bb.memes_szn3),
- getMemeRow("SZN4", bb.memes_szn4),
- getMemeRow("SZN5", bb.memes_szn5),
- getMemeRow("SZN6", bb.memes_szn6),
- getMemeRow("SZN7", bb.memes_szn7),
- getMemeRow("SZN8", bb.memes_szn8),
- getMemeRow("SZN9", bb.memes_szn9),
- getMemeRow("SZN10", bb.memes_szn10),
- getMemeRow("SZN11", bb.memes_szn11),
- getMemeRow("SZN12", bb.memes_szn12),
- ];
+ const seasonKeys = Object.keys(bb)
+ .filter((key): key is `memes_szn${number}` => /^memes_szn\d+$/.test(key))
+ .sort((a, b) => {
+ const numA = Number.parseInt(a.replace("memes_szn", ""), 10);
+ const numB = Number.parseInt(b.replace("memes_szn", ""), 10);
+ return numA - numB;
+ });
+
+ const extraRows = seasonKeys.flatMap((key) => {
+ const sznNum = key.replace("memes_szn", "");
+ const rows = [getMemeRow(`SZN${sznNum}`, bb[key])];
+ if (key === "memes_szn1" && !bb[key]?.acquired) {
+ rows.push(
+ getMemeRow("Genesis Set", bb.memes_genesis),
+ getMemeRow("Nakamoto", bb.memes_nakamoto)
+ );
+ }
+ return rows;
+ });
return [...baseRows, ...extraRows];
}
diff --git a/entities/ISeason.ts b/entities/ISeason.ts
index f308675af0..82da882165 100644
--- a/entities/ISeason.ts
+++ b/entities/ISeason.ts
@@ -5,4 +5,5 @@ export interface MemeSeason {
count: number;
name: string;
display: string;
+ boost: number;
}
diff --git a/entities/ITDH.ts b/entities/ITDH.ts
index 6aeac1fee7..024430960f 100644
--- a/entities/ITDH.ts
+++ b/entities/ITDH.ts
@@ -13,18 +13,7 @@ interface BaseTDH {
boost: number;
boost_breakdown: {
memes_card_sets: TDHBoostBreakdown;
- memes_szn1: TDHBoostBreakdown;
- memes_szn2: TDHBoostBreakdown;
- memes_szn3: TDHBoostBreakdown;
- memes_szn4: TDHBoostBreakdown;
- memes_szn5: TDHBoostBreakdown;
- memes_szn6: TDHBoostBreakdown;
- memes_szn7: TDHBoostBreakdown;
- memes_szn8: TDHBoostBreakdown;
- memes_szn9: TDHBoostBreakdown;
- memes_szn10: TDHBoostBreakdown;
- memes_szn11: TDHBoostBreakdown;
- memes_szn12: TDHBoostBreakdown;
+ [key: `memes_szn${number}`]: TDHBoostBreakdown;
memes_genesis: TDHBoostBreakdown;
memes_nakamoto: TDHBoostBreakdown;
gradients: TDHBoostBreakdown;