From 7f9912ae460e8ad2e03e261860f61a3fcd58ae02 Mon Sep 17 00:00:00 2001 From: sheykei Date: Mon, 11 Nov 2024 15:46:59 +0100 Subject: [PATCH] cleanup: unsued files --- .../_merkl.action.$action.(opportunities).tsx | 11 +-- .../_merkl.chain.$id.(opportunities).tsx | 13 +-- app/routes/_merkl.chain.$id.tsx | 26 +----- ...pportunity.$chain.$type.$id.(overview).tsx | 14 ++-- .../_merkl.opportunity.$chain.$type.$id.tsx | 15 ++-- .../_merkl.protocol.$id.(opportunities).tsx | 9 ++- .../_merkl.status.$status.(opportunities).tsx | 10 ++- .../_merkl.token.$symbol.(opportunities).tsx | 10 ++- packages/dappkit | 2 +- src/components/composite/Faq.tsx | 58 -------------- src/components/element/Tag.tsx | 3 +- .../opportunity/OpportunityFilters.tsx | 21 ++--- .../opportunity/OpportunityLibrary.tsx | 7 +- src/config/chains.ts | 79 ------------------- src/context/tokens.context.ts | 21 ----- src/hooks/resources/useOpportunity.tsx | 3 +- 16 files changed, 70 insertions(+), 232 deletions(-) delete mode 100644 src/components/composite/Faq.tsx delete mode 100644 src/config/chains.ts delete mode 100644 src/context/tokens.context.ts diff --git a/app/routes/_merkl.action.$action.(opportunities).tsx b/app/routes/_merkl.action.$action.(opportunities).tsx index a747b8e1..04267dcd 100644 --- a/app/routes/_merkl.action.$action.(opportunities).tsx +++ b/app/routes/_merkl.action.$action.(opportunities).tsx @@ -1,7 +1,7 @@ -import { Opportunity } from "@angleprotocol/merkl-api"; import { type LoaderFunctionArgs, json } from "@remix-run/node"; import { useLoaderData } from "@remix-run/react"; import { Space } from "dappkit"; +import { api } from "src/api"; import { fetchOpportunities } from "src/api/opportunity/opportunity"; import OpportunityLibrary from "src/components/element/opportunity/OpportunityLibrary"; import { getAction } from "src/config/actions"; @@ -12,19 +12,20 @@ export async function loader({ params: { action: _action }, request }: LoaderFun if (!action) throw new Error("Unknown action"); const { data: opportunities, ...res } = await fetchOpportunities(request, { action }); + const { data: chains } = await api.v4.chain.get({ query: {}}); - if (!opportunities) throw new Error("Unknown opportunity"); + if (!opportunities || !chains) throw new Error("Unknown opportunity"); - return json({ opportunities }); + return json({ opportunities, chains}); } export default function Index() { - const { opportunities } = useLoaderData(); + const { opportunities, chains } = useLoaderData(); return ( <> - o)} /> + o)} chains={chains}/> ); } diff --git a/app/routes/_merkl.chain.$id.(opportunities).tsx b/app/routes/_merkl.chain.$id.(opportunities).tsx index a36a80bb..6daa7ebe 100644 --- a/app/routes/_merkl.chain.$id.(opportunities).tsx +++ b/app/routes/_merkl.chain.$id.(opportunities).tsx @@ -1,16 +1,19 @@ import { type LoaderFunctionArgs, json } from "@remix-run/node"; import { useLoaderData } from "@remix-run/react"; import { Space } from "dappkit"; +import { api } from "src/api"; import { fetchOpportunities } from "src/api/opportunity/opportunity"; import OpportunityLibrary from "src/components/element/opportunity/OpportunityLibrary"; -import { getChainId } from "src/config/chains"; - -export async function loader({ params: { id }, request }: LoaderFunctionArgs) { - const chainId = getChainId(id ?? ""); +export async function loader({ params: { id: chainId }, request }: LoaderFunctionArgs) { if (!chainId) throw new Error("Unsupported Chain"); + + const { data: chains } = await api.v4.chain.get({ query: { search: chainId } }); + const chain = chains?.[0]; + + if (!chain) throw ""; - const { data: opportunities, ...res } = await fetchOpportunities(request, { chainId: chainId?.toString() }); + const { data: opportunities, ...res } = await fetchOpportunities(request, { chainId: chain.id.toString() }); return json({ opportunities }); } diff --git a/app/routes/_merkl.chain.$id.tsx b/app/routes/_merkl.chain.$id.tsx index 8ec52cd4..e2088d3b 100644 --- a/app/routes/_merkl.chain.$id.tsx +++ b/app/routes/_merkl.chain.$id.tsx @@ -1,11 +1,9 @@ import { type LoaderFunctionArgs, json } from "@remix-run/node"; import { Outlet, useLoaderData, useNavigate, useRouteError } from "@remix-run/react"; -import { Group, Icon, Select, Title } from "dappkit"; +import { Group, Title } from "dappkit"; import { Container } from "dappkit"; -import { type ReactNode, useMemo } from "react"; import { api } from "src/api"; import Heading from "src/components/composite/Heading"; -import { type ChainId, chains } from "src/config/chains"; export async function loader({ params: { id } }: LoaderFunctionArgs) { const { data: chains } = await api.v4.chain.get({ query: { search: id } }); @@ -43,33 +41,13 @@ export function ErrorBoundary() { const error = useRouteError(); const navigate = useNavigate(); - const networks = useMemo(() => { - const a = Object.keys(chains); - return Object.entries(chains).reduce( - (supported, [chainId, chain]) => { - supported[chainId] = ( - - - {chain.label} - - ); - return supported; - }, - {} as { [C in ChainId]?: ReactNode }, - ); - }, []); - return ( <> {error?.message ?? "Error"} {/* We don't support this chain */}
- setActions(a as string[])]} allOption={"All actions"} multiple options={actionOptions} @@ -117,7 +118,7 @@ export default function OpportunityFilters({ only, exclude }: OpportunityFilterP )} {fields.includes("status") && ( setChainIds(c as string[])]} allOption={"All chains"} multiple search diff --git a/src/components/element/opportunity/OpportunityLibrary.tsx b/src/components/element/opportunity/OpportunityLibrary.tsx index e20a35a7..d855d141 100644 --- a/src/components/element/opportunity/OpportunityLibrary.tsx +++ b/src/components/element/opportunity/OpportunityLibrary.tsx @@ -1,4 +1,4 @@ -import type { Opportunity } from "@angleprotocol/merkl-api"; +import type { Chain, Opportunity } from "@angleprotocol/merkl-api"; import { Group, Icon, type Order } from "dappkit"; import { Button } from "dappkit"; import { useMemo } from "react"; @@ -9,9 +9,10 @@ import OpportunityTableRow from "./OpportunityTableRow"; export type OpportunityLibrary = { opportunities: Opportunity[]; + chains?: Chain[]; } & OpportunityFilterProps; -export default function OpportunityLibrary({ opportunities, only, exclude }: OpportunityLibrary) { +export default function OpportunityLibrary({ opportunities, only, exclude, chains }: OpportunityLibrary) { const rows = useMemo( () => opportunities?.map(o => ), @@ -40,7 +41,7 @@ export default function OpportunityLibrary({ opportunities, only, exclude }: Opp onSort={onSort} header={ - +