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'