<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>GraphQL</title>
</head>
<body>

	<script>
		const gql=(url,query, variables)=>fetch(url, {method:"POST",headers:{'content-type':'application/json'}, body: JSON.stringify({query,variables})}).then(res=>res.json());

		(async ()=>{
			let data=await gql("http://shop-roles.asmer.fs.a-level.com.ua/graphql", `query cats($q:String){
  				CategoryFind(query:$q){
    					name goods{
      					name images{
        				url
      				}
    			}
  			}
		}`, {q: "[{}]"});
			console.log(data);
			console.log(data.data)
			let div = document.createElement('div');
    		for (const key in data.data) {    		
        		for(let keys of data.data[key]){
        			let p = document.createElement('h3');
        			p.innerHTML=keys.name;
        			div.append(p);
        			if(Array.isArray(keys.goods)){
        				for(let i of keys.goods){
        					let p2=document.createElement('p');
        					p2.style.marginLeft=50+'px';
        					p2.innerHTML=' - '+i.name;
        					div.append(p2);
        				}
        			}else{
        				let p2=document.createElement('p');
        				p2.innerHTML=' - '+keys.goods;
        			}
        		}
    		}
    		document.body.append(div);
		})();
	
	</script>
</body>
</html>