From 8644ae8f3451bc0d22bec0e2ce0943a1e11dda89 Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Mon, 24 Jun 2024 10:35:12 -0400 Subject: [PATCH] Implement basic bridge page --- src/app/bridge/page.tsx | 63 ++++++++++++++++++++++++++++- src/components/nav/NavBar.tsx | 4 +- src/images/logos/portal-bridge.jpg | Bin 0 -> 2006 bytes src/images/logos/squid-router.jpg | Bin 0 -> 20320 bytes 4 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 src/images/logos/portal-bridge.jpg create mode 100644 src/images/logos/squid-router.jpg diff --git a/src/app/bridge/page.tsx b/src/app/bridge/page.tsx index 50d03ea..1d70673 100644 --- a/src/app/bridge/page.tsx +++ b/src/app/bridge/page.tsx @@ -1,7 +1,68 @@ 'use client'; +import Image from 'next/image'; +import { A_Blank } from 'src/components/buttons/A_Blank'; +import { SolidButton } from 'src/components/buttons/SolidButton'; +import { ChevronIcon } from 'src/components/icons/Chevron'; import { Section } from 'src/components/layout/Section'; +import { H1 } from 'src/components/text/headers'; +import PortalLogo from 'src/images/logos/portal-bridge.jpg'; +import SquidLogo from 'src/images/logos/squid-router.jpg'; + +interface Bridge { + name: string; + operator: string; + href: string; + logo: any; +} + +const BRIDGES: Bridge[] = [ + { + name: 'Squid Router', + operator: 'Squid', + href: 'https://v2.app.squidrouter.com', + logo: SquidLogo, + }, + { + name: 'Portal Bridge', + operator: 'Wormhole', + href: 'https://portalbridge.com', + logo: PortalLogo, + }, +]; export default function Page() { - return
TODO
; + return ( +
+

Bridge to Celo

+ {BRIDGES.map((bridge) => ( + + ))} +

+ These bridges are independent, third-party service providers +
+ Celo assumes no responsibility for their operation. +

+
+ ); +} + +function BridgeLink({ name, operator, href, logo }: Bridge) { + return ( +
+
+ +
+

{name}

+

{`By ${operator}`}

+
+
+ + + Bridge + + + +
+ ); } diff --git a/src/components/nav/NavBar.tsx b/src/components/nav/NavBar.tsx index c4a21f4..45a3418 100644 --- a/src/components/nav/NavBar.tsx +++ b/src/components/nav/NavBar.tsx @@ -5,7 +5,7 @@ import { usePathname } from 'next/navigation'; import { ChevronIcon } from 'src/components/icons/Chevron'; import { CeloGlyph } from 'src/components/logos/Celo'; import { DropdownMenu } from 'src/components/menus/Dropdown'; -// import Bridge from 'src/images/icons/bridge.svg'; +import Bridge from 'src/images/icons/bridge.svg'; import Dashboard from 'src/images/icons/dashboard.svg'; import Delegate from 'src/images/icons/delegate.svg'; import Governance from 'src/images/icons/governance.svg'; @@ -16,7 +16,7 @@ const LINKS = (isWalletConnected?: boolean) => [ { label: 'Staking', to: '/', icon: Staking }, { label: 'Governance', to: '/governance', icon: Governance }, { label: 'Delegate', to: '/delegate', icon: Delegate }, - // { label: 'Bridge', to: '/bridge', icon: Bridge }, + { label: 'Bridge', to: '/bridge', icon: Bridge }, ...(isWalletConnected ? [{ label: 'Dashboard', to: '/account', icon: Dashboard }] : []), ]; diff --git a/src/images/logos/portal-bridge.jpg b/src/images/logos/portal-bridge.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5b9f6e56f13636c6978bdefd0b9bb441a262caa6 GIT binary patch literal 2006 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