(() => { const { Handlebars, EventManager } = ShopbySkin; EventManager.on('PAGE_LOAD_COMPLETED', (commonData) => { // console.log(commonData); const sorting = 'BEST_REVIEW'; // BEST_REVIEW, REGISTER_YMDT const ordering = 'DESC'; const boardType = 'PHOTO'; // PHOTO, REVIEW const url = `https://shop-api.e-ncp.com/reviews/boards?ordering=${ordering}&pageNumber=1&sortCriterion=${sorting}&boardType=${boardType}`; fetch(url, { headers: { accept: 'application/json', version: '1.0', clientid: commonData.clientId, platform: 'PC', language: 'ko', }, }) .then((response) => response.json()) .then((data) => { // console.log(data); // const reviewNo = data?.reviewNo || ''; // const productRate = data?.productRate || 0; // const productPercent = parseFloat( 100 / 5 * productRate ).toFixed(1); // const registerYmdt = data?.registerYmdt || ''; // console.log(productRate); // console.log(registerYmdt); // if (document.querySelector(`#percent_${reviewNo}`)?.style) { // document.querySelector(`#percent_${reviewNo}`).style = `width: ${productPercent}%;`; // // document.querySelector(`#percent_${reviewNo}`).style = `--rating-fill: ${productPercent}%;`; // document.querySelector(`#rating_${reviewNo}`).innerHTML = parseFloat(productRate).toFixed(1); // document.querySelector(`#reg_${reviewNo}`).innerHTML = registerYmdt?.substring(0, 10).replace(/-/g, '.'); // } const template = Handlebars.compile(document.querySelector('#tplBestReview').innerHTML); // console.log(template); let hasNoMoreItems = false; let hasNoItems = false; let list = template({ items: data.items, totalCount: data.totalCount, hasNoMoreItems, isLoaded: true, hasNoItems, viewType: 'GALLERY', }); // console.log(list); document.querySelector('.best_review').innerHTML = list; const items = data?.items || []; // console.log(items); let i = 0; for (const item of items) { i++; if (i > 3) break; const productNo = item?.productInfo?.no || ''; const reviewNo = item?.reviewNo || ''; // console.log(reviewNo); if ('' != productNo && '' != reviewNo) { const url = `https://shop-api.e-ncp.com/products/${productNo}/product-reviews/${reviewNo}`; fetch(url, { headers: { accept: 'application/json', version: '1.0', clientid: commonData.clientId, platform: 'PC', language: 'ko', }, }) .then((response) => response.json()) .then((data) => { const reviewNo = data?.reviewNo || ''; const productRate = data?.productRate || 0; const productPercent = parseFloat((100 / 5) * productRate).toFixed(1); const registerYmdt = data?.registerYmdt || ''; // console.log(productRate); // console.log(registerYmdt); if (document.querySelector(`#percent_${reviewNo}`)?.style) { document.querySelector(`#percent_${reviewNo}`).style = `width: ${productPercent}%;`; // document.querySelector(`#percent_${reviewNo}`).style = `--rating-fill: ${productPercent}%;`; document.querySelector(`#rating_${reviewNo}`).innerHTML = parseFloat(productRate).toFixed(1); document.querySelector(`#reg_${reviewNo}`).innerHTML = registerYmdt ?.substring(0, 10) .replace(/-/g, '.'); } }); } } }); }); })();