I had another request which complicated my life even more.
I'd like to load more datas in to my html when I click my button ´See more´. Ideally I should have only 4 items displayed by default. And each load should add 2 more.
Now, what's the best approach? I'd like a hint if possible or if you could please a more detailed direction.
const friendAndFamily = [{
name: "Serena Gosling",
supporterNumber: "0123456789",
isStrongRelationship: true,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
},
{
name: "Dominic Macklin",
supporterNumber: "0123456789",
isStrongRelationship: true,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
},
{
name: "Tom Wilkins",
supporterNumber: "0123456789",
isStrongRelationship: true,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
},
{
name: "George Whipday",
supporterNumber: "0123456789",
isStrongRelationship: false,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
},
{
name: "Leon Gosling",
supporterNumber: "0123456789",
isStrongRelationship: true,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
},
{
name: "Dominic Macklin",
supporterNumber: "0123456789",
isStrongRelationship: true,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
},
{
name: "Ollie Wilkins",
supporterNumber: "0123456789",
isStrongRelationship: true,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
},
{
name: "Jack Whipday",
supporterNumber: "0123456789",
isStrongRelationship: false,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
},
{
name: "Davide Wilkins",
supporterNumber: "0123456789",
isStrongRelationship: true,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
},
{
name: "Murilo Whipday",
supporterNumber: "0123456789",
isStrongRelationship: false,
ticketingPoints: "2,500 Ticket Points",
thumbnailUrl: "https://i.pravatar.cc/100"
}
];
function getFriendAndFamilyData(supporter) {
const {
thumbnailUrl,
name,
isStrongRelationship,
supporterNumber,
ticketingPoints
} = supporter;
// check if the boleen above returns true or false
const relationship = isStrongRelationship ?
'<i class="supporter__relationship">Strong relationship</i>' :
'<i class="is-d-none">Not a strong relationship</i>';
return `
<div class="supporter">
<h4 class="supporter__name">
<span class="supporter__thumbnail"><img src="${thumbnailUrl}"></span>
${name}
${relationship}
<span class="supporter__number">(${supporterNumber})</span>
</h4>
<span class="supporter__points">${ticketingPoints}</span>
</div>
`;
}
//GRAB THE ID HERE
document.querySelector("#rmFriendsAndRelativesContent").innerHTML =
`
<h5>My Friends & Family (${friendAndFamily.length} results)</h5>
${friendAndFamily.map(getFriendAndFamilyData).join("")}
<button class="btn-footer" type="button" aria-expanded="false">See more ${friendAndFamily.length}</button>
`;
<div id="rmFriendsAndRelativesContent"></div>