a mini social media app for small communities
1@include 'partial/header.html' 2 3<script src="/static/js/user_utils.js"></script> 4<script src="/static/js/search.js"></script> 5 6<h1>search</h1> 7 8<div> 9 <input type="text" name="query" id="query"> 10 <button id="search">search</button> 11</div> 12 13<br> 14 15<div id="results"> 16</div> 17 18<script> 19 const query = document.getElementById("query") 20 const results = document.getElementById("results") 21 22 document.getElementById("search").addEventListener("click", async () => { 23 results.innerHTML = '' // yeet the children! 24 const search_results = await search(query.value, 10, 0) 25 if (search_results.length >= 0) { 26 for (result of search_results) { 27 // same as components/post_mini.html except js 28 const element = document.createElement('div') 29 element.classList.add('post', 'post-mini') 30 const p = document.createElement('p') 31 32 const user_link = document.createElement('a') 33 user_link.href = '/user/' + result.author.username 34 const user_text = document.createElement('strong') 35 user_text.innerText = get_display_name(result.author) 36 user_link.appendChild(user_text) 37 p.appendChild(user_link) 38 39 p.innerText += ': ' 40 41 const post_link = document.createElement('a') 42 post_link.href = '/post/' + result.post.id 43 post_link.innerText = result.post.title 44 p.appendChild(post_link) 45 46 element.appendChild(p) 47 results.appendChild(element) 48 } 49 } else { 50 results.innerText = 'No results!' 51 } 52 }) 53</script> 54 55@include 'partial/footer.html'