Use ApiError type for proper error handling
This commit is contained in:
parent
51a67a8140
commit
f946fbf7b8
1 changed files with 6 additions and 4 deletions
|
|
@ -3,7 +3,7 @@
|
||||||
import { useEffect, useState, useCallback, useMemo, ChangeEvent, CSSProperties } from "react";
|
import { useEffect, useState, useCallback, useMemo, ChangeEvent, CSSProperties } from "react";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { Permission } from "../auth-context";
|
import { Permission } from "../auth-context";
|
||||||
import { api } from "../api";
|
import { api, ApiError } from "../api";
|
||||||
import { Header } from "../components/Header";
|
import { Header } from "../components/Header";
|
||||||
import { SatsDisplay } from "../components/SatsDisplay";
|
import { SatsDisplay } from "../components/SatsDisplay";
|
||||||
import { useRequireAuth } from "../hooks/useRequireAuth";
|
import { useRequireAuth } from "../hooks/useRequireAuth";
|
||||||
|
|
@ -269,14 +269,16 @@ export default function ExchangePage() {
|
||||||
router.push("/trades");
|
router.push("/trades");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
let errorMessage = "Failed to book trade";
|
let errorMessage = "Failed to book trade";
|
||||||
if (err instanceof Error) {
|
if (err instanceof ApiError) {
|
||||||
// Check if it's an ApiError with detail in data
|
// Extract detail from API error response
|
||||||
if ("data" in err && err.data && typeof err.data === "object") {
|
if (err.data && typeof err.data === "object") {
|
||||||
const data = err.data as { detail?: string };
|
const data = err.data as { detail?: string };
|
||||||
errorMessage = data.detail || err.message;
|
errorMessage = data.detail || err.message;
|
||||||
} else {
|
} else {
|
||||||
errorMessage = err.message;
|
errorMessage = err.message;
|
||||||
}
|
}
|
||||||
|
} else if (err instanceof Error) {
|
||||||
|
errorMessage = err.message;
|
||||||
}
|
}
|
||||||
setError(errorMessage);
|
setError(errorMessage);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue