function render() { const html = `
${data.user.first + ' ' + data.user.last} Joined ${parseDate(new Date(data.user.date))}
` add(html, 'top') const postsh = `
${data.posts.map(p => parsePost(p)).join('')}
` add(postsh, 'posts') const about = `
About
Name: ${data.user.first + ' ' + data.user.last} Email: ${data.user.email} Gender: ${data.user.gender} Birthday: ${data.user.month + ' ' + data.user.day + ', ' + data.user.year} User ID: ${data.user.id}
` add(about, 'about') } var posts = true async function load() { header(false, false) var params = {}; for (const [key, value] of new URLSearchParams(location.search)) { params[key] = value } const id = params.id !== undefined && !isNaN(params.id) ? parseInt(params.id) : (await loadself()).json.id const posts = (await loadusersposts(id)).json data.posts.push(... posts) const batch = [id] for (const post of posts) { for(const comment of post.comments) { if (data.users[comment.user] !== undefined) continue if (batch.includes(comment.user)) continue batch.push(comment.user) } if (data.users[post.user] !== undefined) continue if (batch.includes(post.user)) continue batch.push(post.user) } const users = (await loadusers(batch)).json for (const id in users) { data.users[id] = users[id] } data.user = data.users[id] render() } load()