scrimba
Frontend Career Path
Essential JavaScript concepts
Twitter Clone
Like a tweet part 5: find the tweet object
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

Like a tweet part 5: find the tweet object
AboutCommentsNotes
Like a tweet part 5: find the tweet object
Expand for more info
index.js
run
preview
console
import { tweetsData } from './data.js'
const tweetInput = document.getElementById('tweet-input')
const tweetBtn = document.getElementById('tweet-btn')

tweetBtn.addEventListener('click', function(){
console.log(tweetInput.value)
})

document.addEventListener('click', function(e){
if(e.target.dataset.like){
handleLikeClick(e.target.dataset.like)
}
})

function handleLikeClick(tweetId){
console.log(tweetId)
/*
Challenge:
1. Iterate over tweetsData and use the uuid
saved in tweetId to identify the liked
tweet's object. Save that object to a
new const called 'targetTweetObj'.
⚠️ targetTweetObj should hold an object, NOT
an array.
2. Increment targetTweetObj's 'likes' count
by 1.
3. Log out targetTweetObj
*/

}

function getFeedHtml(){
let feedHtml = ``

tweetsData.forEach(function(tweet){
feedHtml += `
<div class="tweet">
<div class="tweet-inner">
<img src="${tweet.profilePic}" class="profile-pic">
<div>
<p class="handle">${tweet.handle}</p>
<p class="tweet-text">${tweet.tweetText}</p>
<div class="tweet-details">
<span class="tweet-detail">
<i class="fa-regular fa-comment-dots"
data-reply="${tweet.uuid}"
></i>
${tweet.replies.length}
</span>
<span class="tweet-detail">
<i class="fa-solid fa-heart"
data-like="${tweet.uuid}"
></i>
${tweet.likes}
</span>
<span class="tweet-detail">
<i class="fa-solid fa-retweet"
data-retweet="${tweet.uuid}"
></i>
${tweet.retweets}
</span>
</div>
</div>
</div>
</div>
`
})
return feedHtml
}

function render(){
document.getElementById('feed').innerHTML = getFeedHtml()
}

render()

Console
/index.html
-6:20