import { TodoList } from './TodoList.js';
import { formatDate, formatDayOfWeek } from './util.js';
/**
* @param {HTMLElement} el
*/
export function TodoDay(el) {
const dateId = el.dataset.key;
let items = [];
el.innerHTML = /* html */ `
`;
TodoList(el.querySelector('.todo-list'));
el.addEventListener('addTodoItem', (e) => {
e.detail.listId = dateId;
});
el.addEventListener('moveTodoItem', (e) => {
e.detail.listId = dateId;
e.detail.index = e.detail.index ?? 0;
});
el.addEventListener('todoDay', (e) => {
items = e.detail.items;
update();
});
function update() {
const date = new Date(`${dateId}T00:00:00`);
const today = new Date();
today.setHours(0, 0, 0, 0);
const tomorrow = new Date(today);
tomorrow.setDate(tomorrow.getDate() + 1);
el.classList.toggle('-past', date < today);
el.classList.toggle('-today', date >= today && date < tomorrow);
el.classList.toggle('-future', date >= tomorrow);
el.querySelector('.header > .dayofweek').innerText = formatDayOfWeek(date);
el.querySelector('.header > .date').innerText = formatDate(date);
el.querySelector('.todo-list').dispatchEvent(
new CustomEvent('todoItems', { detail: items }),
);
}
}