Skip to content

Commit 6ad9ec2

Browse files
committed
fix: add error preview
1 parent 316a4e3 commit 6ad9ec2

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/components/QueryAdvise.js

+11-3
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,25 @@ function QueryAdvise({ data, advise }) {
3838
const { parsed, jsEditorRef } = useAppContext();
3939

4040
const used = parsed?.expression || {};
41+
const hasError = !!parsed.error;
4142

4243
const usingAdvisedMethod = advise.method === used.method;
4344
const hasNameArg = data.name && used.args?.[1]?.includes('name');
4445

45-
const color = usingAdvisedMethod ? 'bg-green-600' : colors[advise.level];
46+
const color = hasError
47+
? 'bg-red-600'
48+
: usingAdvisedMethod
49+
? 'bg-green-600'
50+
: colors[advise.level];
4651

4752
const target = parsed.target || {};
4853

54+
const title = hasError ? 'error!' : 'suggested query';
4955
let suggestion;
5056

51-
if (advise.level < used.level) {
57+
if (hasError) {
58+
suggestion = <p>{parsed.error}</p>;
59+
} else if (advise.level < used.level) {
5260
suggestion = (
5361
<p>
5462
You're using <Code>{used.method}</Code>, which falls under{' '}
@@ -113,7 +121,7 @@ function QueryAdvise({ data, advise }) {
113121
return (
114122
<div className="space-y-4 text-sm">
115123
<div className={['text-white p-4 rounded space-y-2', color].join(' ')}>
116-
<div className="font-bold text-xs">suggested query</div>
124+
<div className="font-bold text-xs">{title}</div>
117125
{advise.expression && (
118126
<div
119127
className="font-mono cursor-pointer text-xs"

src/parser.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ function parse(root, string) {
115115
],
116116
});
117117
} catch (e) {
118-
result.error = `Error: ${e.message.split('\n')[0]}`;
118+
result.error = e.message.split('\n')[0];
119119
result.errorBody = e.message.split('\n').slice(1);
120120
}
121121

0 commit comments

Comments
 (0)