тринадцатая программа мороженое возвращение Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

var cardsData = [
{
inStock: true,
imgUrl: ‘gllacy/choco.jpg’,
text: ‘Сливочно-кофейное с кусочками шоколада’,
price: 310,
isHit: true,
specialOffer: ‘Двойная порция сиропа бесплатно!’
},
{
inStock: false,
imgUrl: ‘gllacy/lemon.jpg’,
text: ‘Сливочно-лимонное с карамельной присыпкой’,
price: 125,
isHit: false
},
{
inStock: true,
imgUrl: ‘gllacy/cowberry.jpg’,
text: ‘Сливочное с брусничным джемом’,
price: 170,
isHit: false
},
{
inStock: true,
imgUrl: ‘gllacy/cookie.jpg’,
text: ‘Сливочное с кусочками печенья’,
price: 250,
isHit: false
},
{
inStock: true,
imgUrl: ‘gllacy/creme-brulee.jpg’,
text: ‘Сливочное крем-брюле’,
price: 190,
isHit: false
}
];

let listUn=document.querySelector(’.goods’);
let brick=function(card) {
let listItem=document.createElement(‘li’);
listItem.classList.add(‘good’);
let goodavailableclass=‘good–unavailable’;
if (card.inStock){goodavailableclass=‘good–available’};
listItem.classList.add(goodavailableclass);
if (card.isHit) {listItem.classList.add(‘good–hit’)};

let titleitem=document.createElement(‘h2’);
titleitem.classList.add(’.title-item’);
titleitem.textContent=card.text;
listItem.appendChild(titleitem);

let picture=document.createElement(‘img’);
picture.src=card.imgUrl;
picture.alt=card.text;
listItem.appendChild(picture);

let paragraf=document.createElement(‘p’);
paragraf.classList.add(’.list-price’);
paragraf.textContent=card.price +‘₽/кг’;
listItem.appendChild(paragraf);

return listItem
};
for (let i=0; i<cardsData.length; i++) {
let arrayFor=brick(cardsData[i]);
listUn.appendChild(arrayFor);
};
не правельная последовательность отображения контента. Какбудто не правельный класс у ul что делать.