Skip to content

Commit c67c67a

Browse files
author
openweb3
committed
add swap
1 parent 4066a01 commit c67c67a

18 files changed

+815
-20
lines changed

demo/app/globals.css

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@
7979
}
8080

8181
.dark {
82-
--background: #14161a;
82+
--background: #0f0f0f;
8383
--foreground: oklch(0.985 0 0);
84-
--card: #25292e;
84+
--card: #1f1f1f;
8585
--card-foreground: oklch(0.985 0 0);
86-
--popover: #25292e;
86+
--popover: #1f1f1f;
8787
--popover-foreground: oklch(0.985 0 0);
8888
--primary: oklch(0.922 0 0);
8989
--primary-foreground: oklch(0.205 0 0);
@@ -120,3 +120,15 @@
120120
@apply bg-background text-foreground;
121121
}
122122
}
123+
124+
/* Hide number input spin buttons (Chrome, Safari, Edge, Opera) */
125+
input[type="number"]::-webkit-outer-spin-button,
126+
input[type="number"]::-webkit-inner-spin-button {
127+
-webkit-appearance: none;
128+
margin: 0;
129+
}
130+
131+
/* Hide number input spin buttons (Firefox) */
132+
input[type="number"] {
133+
-moz-appearance: textfield;
134+
}

demo/app/layout.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type { Metadata } from "next";
22
import { Geist, Geist_Mono } from "next/font/google";
33
import "./globals.css";
44
import { ThemeProvider } from "next-themes";
5+
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
56

67
const geistSans = Geist({
78
variable: "--font-geist-sans",

demo/app/page.tsx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,33 @@ import { Card, CardContent } from "@/components/ui/card";
88
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
99

1010
import Link from "next/link";
11+
import { usePathname } from "next/navigation";
1112
import { useState } from "react";
1213

1314
export default function Home() {
15+
const pathname = usePathname();
1416
const [tab, setTab] = useState("program");
1517

1618
return (
1719
<div>
1820
<header className="border-b">
1921
<h1 className="text-3xl font-bold pt-6 pb-2 text-center">PVQ Demo</h1>
2022
<div className="mt-auto max-w-5xl mx-auto flex gap-4 font-semibold">
21-
<Link href="/" className="p-4">
23+
<Link
24+
href="/"
25+
className={`p-4 transition-colors ${pathname === "/" ? "text-primary font-bold underline" : "text-muted-foreground"}`}
26+
>
2227
Home
2328
</Link>
24-
{/* <Link href="/swap" className="p-4">
29+
<Link
30+
href="/swap"
31+
className={`p-4 transition-colors ${pathname === "/swap" ? "text-primary font-bold underline" : "text-muted-foreground"}`}
32+
>
2533
Swap
26-
</Link> */}
34+
</Link>
2735
</div>
2836
</header>
29-
<Card className="mt-4 max-w-5xl mx-auto">
37+
<Card className="mt-4 max-w-2xl mx-auto">
3038
<CardContent>
3139
<div className="flex">
3240
<div className="flex-1 px-4">
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"types":{"types":[{"id":0,"type":{"def":{"sequence":{"type":1}}}},{"id":1,"type":{"def":{"primitive":"u8"}}},{"id":2,"type":{"def":{"primitive":"u128"}}},{"id":3,"type":{"def":{"primitive":"bool"}}},{"id":4,"type":{"path":["Option"],"params":[{"name":"T","type":2}],"def":{"variant":{"variants":[{"name":"None","index":0},{"name":"Some","fields":[{"type":2}],"index":1}]}}}},{"id":5,"type":{"path":["Option"],"params":[{"name":"T","type":6}],"def":{"variant":{"variants":[{"name":"None","index":0},{"name":"Some","fields":[{"type":6}],"index":1}]}}}},{"id":6,"type":{"def":{"tuple":[2,2]}}},{"id":7,"type":{"def":{"sequence":{"type":8}}}},{"id":8,"type":{"def":{"tuple":[0,0,2,2]}}}]},"extension_fns":[["13206387959972970661",0,{"name":"quote_price_tokens_for_exact_tokens","inputs":[{"name":"asset1","ty":0},{"name":"asset2","ty":0},{"name":"amount","ty":2},{"name":"include_fee","ty":3}],"output":4}],["13206387959972970661",1,{"name":"quote_price_exact_tokens_for_tokens","inputs":[{"name":"asset1","ty":0},{"name":"asset2","ty":0},{"name":"amount","ty":2},{"name":"include_fee","ty":3}],"output":4}],["13206387959972970661",2,{"name":"get_liquidity_pool","inputs":[{"name":"asset1","ty":0},{"name":"asset2","ty":0}],"output":5}],["13206387959972970661",3,{"name":"list_pools","inputs":[],"output":7}]],"entrypoints":[{"name":"entrypoint_quote_price_exact_tokens_for_tokens","inputs":[{"name":"asset1","ty":0},{"name":"asset2","ty":0},{"name":"amount","ty":2}],"output":4},{"name":"entrypoint_quote_price_tokens_for_exact_tokens","inputs":[{"name":"asset1","ty":0},{"name":"asset2","ty":0},{"name":"amount","ty":2}],"output":4},{"name":"entrypoint_get_liquidity_pool","inputs":[{"name":"asset1","ty":0},{"name":"asset2","ty":0}],"output":5},{"name":"entrypoint_list_pools","inputs":[],"output":7}]}

demo/app/swap/assets/guest-swap-info.ts

Lines changed: 2 additions & 0 deletions
Large diffs are not rendered by default.

demo/app/swap/layout.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
"use client";
2+
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
3+
4+
const queryClient = new QueryClient();
5+
6+
export default function SwapLayout({
7+
children,
8+
}: {
9+
children: React.ReactNode;
10+
}) {
11+
return (
12+
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
13+
);
14+
}

0 commit comments

Comments
 (0)