poprawki w js

This commit is contained in:
Mateusz Gruszczyński
2025-07-15 23:55:50 +02:00
parent 9dcd144b34
commit 53394469de
5 changed files with 112 additions and 71 deletions

View File

@@ -379,9 +379,6 @@ function updateListSmoothly(newItems) {
const fragment = document.createDocumentFragment();
newItems.forEach(item => {
// 🔥 Logujemy każdy item
console.log('Item:', item.name, 'Purchased:', item.purchased, 'Not purchased:', item.not_purchased);
let li = existingItemsMap.get(item.id);
let quantityBadge = '';
if (item.quantity && item.quantity > 1) {
@@ -394,7 +391,7 @@ function updateListSmoothly(newItems) {
li.id = `item-${item.id}`;
}
// Ustaw klasy tła
// Klasy tła
li.className = `list-group-item d-flex justify-content-between align-items-center flex-wrap clickable-item ${
item.purchased ? 'bg-success text-white' :
item.not_purchased ? 'bg-warning text-dark' : 'item-not-checked'
@@ -411,6 +408,7 @@ function updateListSmoothly(newItems) {
`}
<span id="name-${item.id}" class="text-white">${item.name} ${quantityBadge}</span>
${item.note ? `<small class="text-danger ms-4">[ <b>${item.note}</b> ]</small>` : ''}
${item.not_purchased_reason ? `<small class="text-dark ms-4">[ <b>Powód: ${item.not_purchased_reason}</b> ]</small>` : ''}
</div>
<div class="btn-group btn-group-sm" role="group">
${item.not_purchased ? `
@@ -423,11 +421,23 @@ function updateListSmoothly(newItems) {
onclick="markNotPurchasedModal(event, ${item.id})">
⚠️
</button>
<button type="button" class="btn btn-outline-light"
onclick="openNoteModal(event, ${item.id})">
📝
</button>
${window.IS_SHARE ? `
<button type="button" class="btn btn-outline-light"
onclick="openNoteModal(event, ${item.id})">
📝
</button>
` : ''}
`}
${!window.IS_SHARE ? `
<button type="button" class="btn btn-outline-warning"
onclick="editItem(${item.id}, '${item.name.replace(/'/g, "\\'")}', ${item.quantity || 1})">
✏️
</button>
<button type="button" class="btn btn-outline-danger"
onclick="deleteItem(${item.id})">
🗑️
</button>
` : ''}
</div>
`;
@@ -442,6 +452,7 @@ function updateListSmoothly(newItems) {
applyHidePurchased();
}
document.addEventListener("DOMContentLoaded", function() {
const receiptSection = document.getElementById("receiptSection");
const toggleBtn = document.querySelector('[data-bs-target="#receiptSection"]');

View File

@@ -1,13 +1,13 @@
let currentItemId = null;
function openNoteModal(event, itemId) {
window.openNoteModal = function (event, itemId) {
event.stopPropagation();
currentItemId = itemId;
const noteEl = document.querySelector(`#item-${itemId} small`);
document.getElementById('noteText').value = noteEl ? noteEl.innerText : "";
const noteEl = document.querySelector(`#item-${itemId} small.text-danger`);
document.getElementById('noteText').value = noteEl ? noteEl.innerText.replace(/\[|\]|Powód:/g, "").trim() : "";
const modal = new bootstrap.Modal(document.getElementById('noteModal'));
modal.show();
}
};
function submitNote(e) {
e.preventDefault();