diff --git a/public/Icon_only_cyan.png b/public/Icon_only_cyan.png
new file mode 100644
index 00000000..87fa2ce1
Binary files /dev/null and b/public/Icon_only_cyan.png differ
diff --git a/server/routes/api/faucet/[...path].ts b/server/routes/api/faucet/[...path].ts
deleted file mode 100644
index 0f2b516d..00000000
--- a/server/routes/api/faucet/[...path].ts
+++ /dev/null
@@ -1,16 +0,0 @@
-const FAUCET_ORIGIN = "https://usdh.com";
-
-export default defineEventHandler(async (event: any) => {
- const url = getRequestURL(event);
- const targetUrl = `${FAUCET_ORIGIN}${url.pathname}${url.search}`;
-
- const body = event.method !== "GET" ? await readBody(event) : undefined;
-
- const response = await fetch(targetUrl, {
- method: event.method,
- headers: { "Content-Type": "application/json" },
- body: body ? JSON.stringify(body) : undefined,
- });
-
- return response.json();
-});
diff --git a/src/components/trade/header/top-nav.tsx b/src/components/trade/header/top-nav.tsx
index 06f00281..ad321333 100644
--- a/src/components/trade/header/top-nav.tsx
+++ b/src/components/trade/header/top-nav.tsx
@@ -1,6 +1,6 @@
import { t } from "@lingui/core/macro";
import { Trans } from "@lingui/react/macro";
-import { DownloadSimpleIcon, DropIcon, GearIcon, TerminalIcon, TrophyIcon } from "@phosphor-icons/react";
+import { DownloadSimpleIcon, DropIcon, GearIcon, TrophyIcon } from "@phosphor-icons/react";
import { Link } from "@tanstack/react-router";
import { useConnection } from "wagmi";
import { Button } from "@/components/ui/button";
@@ -55,12 +55,11 @@ export function TopNav() {
>
-
-
-
+

+
- HyperOdd
- Terminal
+ Hyperodd
+ Terminal
diff --git a/src/components/trade/tradebox/faucet-modal.tsx b/src/components/trade/tradebox/faucet-modal.tsx
index 9baef7db..edef3caf 100644
--- a/src/components/trade/tradebox/faucet-modal.tsx
+++ b/src/components/trade/tradebox/faucet-modal.tsx
@@ -1,94 +1,36 @@
import { t } from "@lingui/core/macro";
import { Trans } from "@lingui/react/macro";
-import { Turnstile, type TurnstileInstance } from "@marsidev/react-turnstile";
import {
CheckCircleIcon,
ClockIcon,
- CurrencyDollarIcon,
DropIcon,
SpinnerGapIcon,
WalletIcon,
WarningCircleIcon,
} from "@phosphor-icons/react";
-import { useRef, useState } from "react";
+import { usePrivy } from "@privy-io/react-auth";
import { useConnection } from "wagmi";
import { Button } from "@/components/ui/button";
import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog";
import { InfoRow } from "@/components/ui/info-row";
-import { cn } from "@/lib/cn";
import { useFaucetClaim } from "@/lib/faucet/use-faucet-claim";
import { useFaucetModalActions, useFaucetModalOpen } from "@/stores/use-global-modal-store";
-const TURNSTILE_SITE_KEY = import.meta.env.VITE_TURNSTILE_SITE_KEY;
-
-interface StepProps {
- label: string;
- active: boolean;
- done: boolean;
-}
-
-function Step({ label, active, done }: StepProps) {
- return (
-
- {done ? (
-
- ) : active ? (
-
- ) : (
-
- )}
-
{label}
-
- );
-}
-
-function ClaimProgress({ status }: { status: string }) {
- const steps = [
- { key: "verifying-captcha", label: t`Verifying captcha` },
- { key: "verifying-balance", label: t`Checking balance` },
- { key: "claiming", label: t`Claiming USDH` },
- ];
- const activeIdx = steps.findIndex((s) => s.key === status);
-
- return (
-
- {steps.map((step, i) => (
-
- ))}
-
- );
-}
-
export function FaucetModal() {
const open = useFaucetModalOpen();
const { close } = useFaucetModalActions();
const { address } = useConnection();
+ const { authenticated, getAccessToken } = usePrivy();
const { status, error, result, claim, reset } = useFaucetClaim();
- const [turnstileToken, setTurnstileToken] = useState
(null);
- const turnstileRef = useRef(null);
-
- const isProcessing = status === "verifying-captcha" || status === "verifying-balance" || status === "claiming";
function handleClose() {
reset();
- setTurnstileToken(null);
close();
}
function handleClaim() {
- if (!turnstileToken || !address) return;
- claim(turnstileToken, address);
- }
-
- function handleRetry() {
- reset();
- setTurnstileToken(null);
- turnstileRef.current?.reset();
+ if (!address) return;
+ claim(address, getAccessToken);
}
if (status === "success") {
@@ -145,7 +87,7 @@ export function FaucetModal() {
-
@@ -155,7 +97,7 @@ export function FaucetModal() {
);
}
- if (isProcessing) {
+ if (status === "claiming") {
return (