Merge branch 'master' into tests

This commit is contained in:
rui 2020-08-03 00:47:19 +02:00 committed by GitHub
commit 3a6b4c2302
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 2 deletions

View File

@ -25,7 +25,9 @@ export const QUERY_ARTISTS = gql`
export default function App() {
const [inputValue, setInputValue] = useState('');
const [getArtists, { data }] = useLazyQuery(QUERY_ARTISTS);
const [getArtists, { data, error }] = useLazyQuery(
QUERY_ARTISTS,
);
const [artists, setArtists] = useState<Artists>([]);
const [suggestions, setSuggestions] = useState<string[]>([]);
const [selected, setSelected] = useState(false);
@ -86,7 +88,7 @@ export default function App() {
};
useEffect(() => {
if (data && data.queryArtists !== []) {
if (data && data.queryArtists && data.queryArtists !== []) {
// Limit artists to 5
const updatedArtists = data.queryArtists.slice(0, 5);
const updatedSuggestions: string[] = updatedArtists.map(
@ -98,6 +100,18 @@ export default function App() {
}
}, [data]);
// Create flag to filter "No search query" errors
let errorNoSearchQuery = false;
if (error && error.graphQLErrors) {
error.graphQLErrors.forEach((error) => {
if (error.message === 'Error: 400: No search query') {
errorNoSearchQuery = true;
} else {
errorNoSearchQuery = false;
}
});
}
return (
<Grommet theme={theme}>
<Header />
@ -110,6 +124,13 @@ export default function App() {
{selected && (
<Results artists={artists} handleClick={handleClick} />
)}
{error && !errorNoSearchQuery && (
<pre>
{error.graphQLErrors.map(({ message }, i) => (
<span key={i}>{message}</span>
))}
</pre>
)}
</Grommet>
);
}