fesmap / pj
forked from Ray8/pj
Newer
Older
pj / favorites.js
const favoritesList = document.getElementById('favorites-list');
let favorites = JSON.parse(localStorage.getItem('favorites')) || [];

function displayFavorites() {
  favoritesList.innerHTML = '';
  favorites.forEach(snack => {
    const li = document.createElement('li');
    li.innerHTML = `
      <span>${snack.name} (${snack.type})</span>
      <button onclick="removeFromFavorites(${snack.id})">削除</button>
    `;
    favoritesList.appendChild(li);
  });
}

function removeFromFavorites(id) {
  if (confirm('本当に削除しますか?')) {
    favorites = favorites.filter(snack => snack.id !== id);
    localStorage.setItem('favorites', JSON.stringify(favorites));
    displayFavorites();
  }
}

function sortFavorites(sortBy) {
  if (sortBy === 'name') {
    favorites.sort((a, b) => a.name.localeCompare(b.name));
  } else if (sortBy === 'date') {
    favorites.sort((a, b) => new Date(b.dateAdded) - new Date(a.dateAdded));
  }
  displayFavorites();
}

document.getElementById('sort-select').addEventListener('change', (e) => {
  sortFavorites(e.target.value);
});

// 初期表示
displayFavorites();