19 lines
528 B
JavaScript
19 lines
528 B
JavaScript
|
import html from 'choo/html';
|
||
|
|
||
|
export const starRating = (rating) => {
|
||
|
const wholeStars = Math.floor(rating);
|
||
|
const hasPartial = rating - wholeStars > 0;
|
||
|
const emptyStars = 5 - wholeStars - (hasPartial ? 1 : 0);
|
||
|
const stars = [];
|
||
|
for (let i = 0; i < wholeStars; i++) {
|
||
|
stars.push(html`<i class="icon-star"></i>`);
|
||
|
}
|
||
|
if (hasPartial) {
|
||
|
stars.push(html`<i class="icon-star-half"></i>`);
|
||
|
}
|
||
|
for (let i = 0; i < emptyStars; i++) {
|
||
|
stars.push(html`<i class="icon-star-empty"></i>`);
|
||
|
}
|
||
|
|
||
|
return stars;
|
||
|
}
|