From 5dae591c79da1da035ab005a784c2dc3bf4c6d65 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Mon, 12 Jun 2023 13:20:42 -0700 Subject: [PATCH] Retry button on introspection errors --- src-tauri/tauri.conf.json | 2 +- src-web/components/GraphQLEditor.tsx | 23 ++++++++++++++++++++-- src-web/components/RouteError.tsx | 5 ++--- src-web/components/core/FormattedError.tsx | 11 +++++++++++ src-web/hooks/useIntrospectGraphQL.ts | 11 ++++++++--- src-web/lib/responseBody.ts | 4 ++-- src-web/lib/theme/window.ts | 4 ++-- tailwind.config.cjs | 16 ++++++++++++++- 8 files changed, 62 insertions(+), 14 deletions(-) create mode 100644 src-web/components/core/FormattedError.tsx diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index cf3a3c0c..80f1cdf1 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -8,7 +8,7 @@ }, "package": { "productName": "Yaak", - "version": "2023.0.17" + "version": "2023.0.18" }, "tauri": { "windows": [], diff --git a/src-web/components/GraphQLEditor.tsx b/src-web/components/GraphQLEditor.tsx index b0987c02..d19ed0d4 100644 --- a/src-web/components/GraphQLEditor.tsx +++ b/src-web/components/GraphQLEditor.tsx @@ -6,6 +6,7 @@ import type { HttpRequest } from '../lib/models'; import { Button } from './core/Button'; import type { EditorProps } from './core/Editor'; import { Editor, formatGraphQL } from './core/Editor'; +import { FormattedError } from './core/FormattedError'; import { Separator } from './core/Separator'; import { useDialog } from './DialogContext'; @@ -24,7 +25,7 @@ interface GraphQLBody { export function GraphQLEditor({ defaultValue, onChange, baseRequest, ...extraEditorProps }: Props) { const editorViewRef = useRef(null); - const { schema, isLoading, error } = useIntrospectGraphQL(baseRequest); + const { schema, isLoading, error, refetch } = useIntrospectGraphQL(baseRequest); const { query, variables } = useMemo(() => { if (defaultValue === undefined) { return { query: '', variables: {} }; @@ -89,7 +90,25 @@ export function GraphQLEditor({ defaultValue, onChange, baseRequest, ...extraEdi dialog.show({ title: 'Introspection Failed', size: 'sm', - render: () =>
{error}
, + id: 'introspection-failed', + render: () => ( +
+ {error ?? 'unknown'} +
+ +
+
+ ), }); }} > diff --git a/src-web/components/RouteError.tsx b/src-web/components/RouteError.tsx index 2feb82b3..eb5f268b 100644 --- a/src-web/components/RouteError.tsx +++ b/src-web/components/RouteError.tsx @@ -1,6 +1,7 @@ import { useRouteError } from 'react-router-dom'; import { useAppRoutes } from '../hooks/useAppRoutes'; import { Button } from './core/Button'; +import { FormattedError } from './core/FormattedError'; import { Heading } from './core/Heading'; import { VStack } from './core/Stacks'; @@ -14,9 +15,7 @@ export default function RouteError() {
Route Error 🔥 -
-          {message}
-        
+ {message}