fix: add missing JS files and logic
This commit is contained in:
+1
-1
@@ -1,4 +1,4 @@
|
||||
const foodDatabase = {
|
||||
export const foodDatabase = {
|
||||
// Fruits
|
||||
'Frutas - Abacate': { calories: 96, protein: 1.2, fat: 8.4, carbs: 6, fiber: 6.3 },
|
||||
'Frutas - Abacaxi': { calories: 48, protein: 0.9, fat: 0.1, carbs: 12.3, fiber: 1 },
|
||||
|
||||
+5
-5
@@ -49,7 +49,7 @@
|
||||
<label for="gramAmount">Amount (grams)</label>
|
||||
<input type="number" id="gramAmount" min="1" step="1" value="100">
|
||||
</div>
|
||||
<button class="add-btn" onclick="addFood()">Add Food</button>
|
||||
<button class="add-btn" id="add-food-btn">Add Food</button>
|
||||
</div>
|
||||
<div id="food-preview" class="add-food-form-item display-none">
|
||||
<p>Calories: 0 - Protein: 0 - Fat: 0 - Carbohydrates: 0</p>
|
||||
@@ -62,6 +62,7 @@
|
||||
<table class="food-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="hidden-column">ID</th>
|
||||
<th>Time</th>
|
||||
<th>Food</th>
|
||||
<th>Grams</th>
|
||||
@@ -82,9 +83,9 @@
|
||||
|
||||
<div class="calendar-section">
|
||||
<div class="calendar-header">
|
||||
<button class="calendar-nav" onclick="previousMonth()">‹</button>
|
||||
<button class="calendar-nav" id="previous-month-btn">‹</button>
|
||||
<div class="calendar-title" id="calendarTitle">Month Year</div>
|
||||
<button class="calendar-nav" onclick="nextMonth()">›</button>
|
||||
<button class="calendar-nav" id="next-month-btn">›</button>
|
||||
</div>
|
||||
<div class="calendar-grid" id="calendarGrid">
|
||||
<!-- Calendar will be generated here -->
|
||||
@@ -92,7 +93,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="foodDatabase.js"></script>
|
||||
<script src="index.js"></script>
|
||||
<script type="module" src="index.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { foodDatabase } from './foodDatabase.js';
|
||||
|
||||
// App state
|
||||
let selectedDate = new Date().toISOString().split('T')[0];
|
||||
let currentViewDate = new Date();
|
||||
@@ -60,6 +62,29 @@ function addEvents() {
|
||||
document.getElementById('gramAmount').addEventListener('change', () => {
|
||||
previewCalories();
|
||||
});
|
||||
|
||||
document.getElementById('add-food-btn').addEventListener('click', () => {
|
||||
addFood();
|
||||
});
|
||||
|
||||
document.getElementById('next-month-btn').addEventListener('click', () => {
|
||||
nextMonth();
|
||||
});
|
||||
|
||||
document.getElementById('previous-month-btn').addEventListener('click', () => {
|
||||
previousMonth();
|
||||
});
|
||||
}
|
||||
|
||||
function addDeleteEvents() {
|
||||
const elements = document.getElementsByClassName('delete-food-entry');
|
||||
Array.from(elements).forEach(el => {
|
||||
el.addEventListener('click', (e) => {
|
||||
const row = e.target.closest('tr');
|
||||
const entryId = row.querySelector('.hidden-column').textContent;
|
||||
deleteEntry(selectedDate, entryId);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Populate food select dropdown
|
||||
@@ -180,25 +205,27 @@ function loadDayData(date) {
|
||||
dayData.forEach(entry => {
|
||||
const row = document.createElement('tr');
|
||||
row.innerHTML = `
|
||||
<td class="hidden-column">${entry.id}</td>
|
||||
<td>${entry.time}</td>
|
||||
<td>${entry.name.charAt(0).toUpperCase() + entry.name.slice(1)}</td>
|
||||
<td>${entry.name}</td>
|
||||
<td>${entry.grams}</td>
|
||||
<td>${entry.calories}</td>
|
||||
<td>${entry.protein}</td>
|
||||
<td>${entry.fat}</td>
|
||||
<td>${entry.carbs}</td>
|
||||
<td>${entry.fiber}</td>
|
||||
<td><button class="delete-btn" onclick="deleteEntry('${date}', ${entry.id})">Delete</button></td>
|
||||
<td><button class="delete-btn delete-food-entry">Delete</button></td>
|
||||
`;
|
||||
tbody.appendChild(row);
|
||||
});
|
||||
addDeleteEvents();
|
||||
}
|
||||
|
||||
// Delete an entry
|
||||
function deleteEntry(date, entryId) {
|
||||
if (confirm('Are you sure you want to delete this entry?')) {
|
||||
let dayData = getDayData(date);
|
||||
dayData = dayData.filter(entry => entry.id !== entryId);
|
||||
dayData = dayData.filter(entry => entry.id !== parseInt(entryId));
|
||||
saveDayData(date, dayData);
|
||||
loadDayData(selectedDate);
|
||||
renderCalendar();
|
||||
|
||||
Reference in New Issue
Block a user