a mini social media app for small communities

add /api/user/whoami and tweak admin view for posts

Changed files
+39 -17
src
templates
webapp
+31 -17
src/templates/post.html
··· 58 58 59 59 @if post.author_id == user.id 60 60 <h4>manage post:</h4> 61 - @else if user.admin 62 - <h4>admin powers:</h4> 63 - @end 64 61 65 - @if post.author_id == user.id 66 62 <p><a href="/post/@{post.id}/edit">edit</a></p> 67 63 @end 68 64 69 65 @if user.admin 70 - <form action="/api/post/pin" method="post"> 71 - <input 72 - type="number" 73 - name="id" 74 - id="id" 75 - placeholder="post id" 76 - value="@post.id" 77 - required aria-required 78 - readonly aria-readonly 79 - hidden aria-hidden 80 - > 81 - <input type="submit" value="pin"> 82 - </form> 66 + <details> 67 + <summary>admin powers</summary> 68 + 69 + <form action="/api/post/pin" method="post"> 70 + <input 71 + type="number" 72 + name="id" 73 + id="id" 74 + placeholder="post id" 75 + value="@post.id" 76 + required aria-required 77 + readonly aria-readonly 78 + hidden aria-hidden 79 + > 80 + <input type="submit" value="pin"> 81 + </form> 82 + 83 + <form action="/api/post/delete" method="post"> 84 + <input 85 + type="number" 86 + name="id" 87 + id="id" 88 + placeholder="post id" 89 + value="@post.id" 90 + required aria-required 91 + readonly aria-readonly 92 + hidden aria-hidden 93 + > 94 + <input type="submit" value="delete"> 95 + </form> 96 + </details> 83 97 @end 84 98 85 99 </div>
+8
src/webapp/api.v
··· 397 397 return ctx.json[[]User](users) 398 398 } 399 399 400 + @['/api/user/whoami'; get] 401 + fn (mut app App) api_user_whoami(mut ctx Context) veb.Result { 402 + user := app.whoami(mut ctx) or { 403 + return ctx.text('not logged in') 404 + } 405 + return ctx.text(user.username) 406 + } 407 + 400 408 /// user/notification /// 401 409 402 410 @['/api/user/notification/clear']