diff --git a/frontend/app/exchange/page.tsx b/frontend/app/exchange/page.tsx index 31d112c..b668c96 100644 --- a/frontend/app/exchange/page.tsx +++ b/frontend/app/exchange/page.tsx @@ -268,7 +268,16 @@ export default function ExchangePage() { // Redirect to trades page after successful booking router.push("/trades"); } catch (err) { - const errorMessage = err instanceof Error ? err.message : "Failed to book trade"; + let errorMessage = "Failed to book trade"; + if (err instanceof Error) { + // Check if it's an ApiError with detail in data + if ("data" in err && err.data && typeof err.data === "object") { + const data = err.data as { detail?: string }; + errorMessage = data.detail || err.message; + } else { + errorMessage = err.message; + } + } setError(errorMessage); // Check if it's a "same day" error and extract trade ID