Changeset df7f390 for frontend/js


Ignore:
Timestamp:
01/13/25 14:18:51 (2 days ago)
Author:
Kristijan <kristijanzafirovski26@…>
Branches:
master
Parents:
0a7426e
Message:

Added frontend functionality for changes and refactored code

Location:
frontend/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • frontend/js/formHandler.js

    r0a7426e rdf7f390  
    5151                const dataList = document.getElementById('givenOptions');
    5252                dataList.innerHTML = '';
     53
    5354                if (data.length === 0) {
    5455                    const wrapper = document.createElement('div');
     
    6667                        img.src = item.imgSrc || '';
    6768                        optionDiv.appendChild(img);
    68                         const WrapperDiv = document.createElement('div');
    69                         optionDiv.appendChild(WrapperDiv);
     69                        const wrapperDiv = document.createElement('div');
     70                        optionDiv.appendChild(wrapperDiv);
    7071
    7172                        const nameParagraph = document.createElement('p');
    7273                        nameParagraph.id = 'name';
    7374                        nameParagraph.textContent = item.hotelName || 'N/A';
    74                         WrapperDiv.appendChild(nameParagraph);
     75                        wrapperDiv.appendChild(nameParagraph);
    7576
    7677                        const countryParagraph = document.createElement('p');
     
    7879                        countryParagraph.style.fontSize = '20px';
    7980                        countryParagraph.textContent = item.country || 'N/A';
    80                         WrapperDiv.appendChild(countryParagraph);
     81                        wrapperDiv.appendChild(countryParagraph);
    8182
    8283                        const dateParagraph = document.createElement('h2');
    8384                        dateParagraph.id = 'date';
    8485                        dateParagraph.textContent = item.dateRange || 'N/A';
    85                         WrapperDiv.appendChild(dateParagraph);
     86                        wrapperDiv.appendChild(dateParagraph);
    8687
    8788                        const peopleParagraph = document.createElement('p');
    8889                        peopleParagraph.id = 'numPeople';
    8990                        peopleParagraph.textContent = item.numPeople === 1 ? item.numPeople + " лице" : item.numPeople + " лица";
    90                         WrapperDiv.appendChild(peopleParagraph);
     91                        wrapperDiv.appendChild(peopleParagraph);
    9192
    9293                        const priceHeading = document.createElement('h1');
    9394                        priceHeading.textContent = 'Цена:';
    94                         WrapperDiv.appendChild(priceHeading);
     95                        wrapperDiv.appendChild(priceHeading);
    9596                        const priceParagraph = document.createElement('h2');
    9697                        priceParagraph.id = 'price';
    9798                        priceParagraph.textContent = (item.price || 0) + " EUR";
    98                         WrapperDiv.appendChild(priceParagraph);
     99                        wrapperDiv.appendChild(priceParagraph);
    99100
    100101                        const infoDiv = document.createElement('div');
     
    110111                        infoDiv.appendChild(amenities);
    111112                        optionDiv.appendChild(infoDiv);
     113
     114                        const changesDiv = document.createElement('div');
     115                        item.changes.forEach(change => {
     116                            const changeParagraph = document.createElement('p');
     117                            changeParagraph.textContent = change.attribute + " changed from " + change.oldValue + " to " + change.newValue;
     118                            changesDiv.appendChild(changeParagraph);
     119                        });
     120                        optionDiv.appendChild(changesDiv);
    112121
    113122                        const link = document.createElement('a');
  • frontend/js/siteFlow.js

    r0a7426e rdf7f390  
    168168        .then(data => {
    169169            console.log('Option saved:', data);
    170             // Update the UI to reflect that the option was saved
    171170            updateFavoriteButtons();
    172171        })
     
    243242                tripDiv.appendChild(price);
    244243
     244                // Add change indicator
     245                if(trip.changes && trip.changes.length > 0) {
     246                    const changeDiv = document.createElement('div');
     247                    changeDiv.classList.add('changes');
     248                    trip.changes.forEach(change => {
     249                        const changeParagraph = document.createElement('p');
     250                        changeParagraph.textContent = `${change.attribute} се смени од ${change.oldValue} во ${change.newValue}`;
     251                        changeDiv.appendChild(changeParagraph);
     252                    });
     253                    tripDiv.appendChild(changeDiv);
     254                }
     255
    245256                savedTripsList.appendChild(tripDiv);
    246257            });
    247 
    248258
    249259            const priceChangesList = document.getElementById('priceChangesList');
     
    258268                });
    259269            } else {
    260                 priceChangesList.textContent = "нема промена на цената.";
     270                priceChangesList.textContent = "нема промена во зачуваните патувања.";
    261271            }
    262272        })
     
    265275        });
    266276}
     277
    267278function removeFromSaved(optionId) {
    268279    const userEmail = sessionStorage.getItem('user').replace(/^"|"$/g, '');
Note: See TracChangeset for help on using the changeset viewer.