todoList = (items) => {
const elems = items
.sort((a, b) => a.status > b.status)
.map((i) => {
const checked = i.status === "done" ? "checked" : false;
return htl.html`<li class=${checked}>
<input type='checkbox' checked=${checked} disabled />
${i.name}
</li>`;
});
const style = html`
${helpersCss}
<style>
ul.todo-list{
list-style: none;
padding-left: 0;
margin-bottom: 0;
}
ul.todo-list input[type="checkbox"] {
margin-right: 0.5em;
}
ul.todo-list li {
font-size: 0.875rem;
}
ul.todo-list li.checked {
opacity: 0.5;
}
</style>`;
const title = elems.length > 1 ? "ToDos" : "ToDo";
return html`${style}
<div class="padded">
<div class="todo" style="background: white; box-shadow: 0 0 5px rgba(0,0,0,.1);">
<p style="font-weight:bold;font-size:1.5em;margin:0;">${title}</p>
<ul class="todo-list">
${elems}
</ul>
</div>
<div>`;
}