Spaces:
Running
Running
File size: 1,478 Bytes
e064ac3 b96f9ee e064ac3 b96f9ee ee5c484 b96f9ee ee5c484 b96f9ee ee5c484 b96f9ee 25c9080 b96f9ee ee5c484 b96f9ee e064ac3 ee5c484 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <body>
<div class="profile-info">
<img id="profilePicture" src="" alt="Profile Picture" width="100" height="100">
<h1 id="username"></h1>
<p id="followers"></p>
<p id="following"></p>
</div>
<div id="myPosts"></div>
<script>
async function loadProfile() {
const username = localStorage.getItem('username');
const res = await fetch(`/api/user/${username}`);
const data = await res.json();
if (res.ok) {
document.getElementById('username').textContent = `@${data.user.username}`;
document.getElementById('followers').textContent = `${data.user.followers} Followers`;
document.getElementById('following').textContent = `Following: ${data.user.following?.length || 0}`;
if (data.user.profilePicture) {
document.getElementById('profilePicture').src = data.user.profilePicture;
}
const myPosts = document.getElementById('myPosts');
myPosts.innerHTML = data.posts.map(post => `
<div class="post">
<p>${post.caption}</p>
${post.file ? `<img src="${post.file}" alt="Post Image">` : ''}
</div>
`).join('');
} else {
alert('Error loading profile.');
}
}
loadProfile();
</script>
</body> |