selfhostable, read-only reddit client
1include ../mixins/post
2include ../mixins/header
3include ../mixins/head
4include ../utils
5 - var viewQuery = query && query.view ? query.view : 'compact'
6 - var sortQuery = query && query.sort ? query.sort + (query.t ? '&t=' + query.t : '') : 'hot'
7doctype html
8html
9 +head("home")
10 include ../mixins/subUtils
11
12 body
13 main#content
14 +header(user)
15 div.hero
16 div.sub-title
17 h1
18 if isMulti
19 a(href=`/?sort=${sortQuery}&view=${viewQuery}`) lurker
20 else
21 a(href=`/r/${subreddit}?sort=${sortQuery}&view=${viewQuery}`)
22 | r/#{subreddit}
23 if !isMulti
24 div#button-container
25 if isSubbed
26 button(onclick=`toggleSub('${subreddit}')` id=`thinger_${subreddit}`) unsubscribe
27 else
28 button(onclick=`toggleSub('${subreddit}')` id=`thinger_${subreddit}`) subscribe
29 if about && !isMulti
30 div.about #{about.public_description}
31 else
32 div.about
33 | consider donating to
34 a(href="https://donate.stripe.com/dR62bTaZH1295Da4gg") oppiliappan
35 |, author of lurker
36 if about && !isMulti
37 div.info-container
38 p
39 | #{fmtnum(about.accounts_active)} active
40 | ·
41 | #{fmtnum(about.subscribers)} subscribers
42 hr
43 details.sort-details
44 summary.sorting sorting by #{query.sort + (query.t?' '+query.t:'')}
45 div.sort-opts
46 div
47 a(href=`/r/${subreddit}?sort=hot&view=${viewQuery}`) hot
48 div
49 a(href=`/r/${subreddit}?sort=new&view=${viewQuery}`) new
50 div
51 a(href=`/r/${subreddit}?sort=rising&view=${viewQuery}`) rising
52 div
53 a(href=`/r/${subreddit}?sort=top&view=${viewQuery}`) top
54 div
55 a(href=`/r/${subreddit}?sort=top&t=day&view=${viewQuery}`) top day
56 div
57 a(href=`/r/${subreddit}?sort=top&t=week&view=${viewQuery}`) top week
58 div
59 a(href=`/r/${subreddit}?sort=top&t=month&view=${viewQuery}`) top month
60 div
61 a(href=`/r/${subreddit}?sort=top&t=year&view=${viewQuery}`) top year
62 div
63 a(href=`/r/${subreddit}?sort=top&t=all&view=${viewQuery}`) top all
64 details.view-details
65 summary.viewing viewing as #{viewQuery}
66 div.view-opts
67 div
68 a(href=`/r/${subreddit}?sort=${sortQuery}&view=compact`) compact
69 div
70 a(href=`/r/${subreddit}?sort=${sortQuery}&view=card`) card
71
72 if posts
73 each child in posts.posts
74 +post(child.data, currentUrl)
75
76 if posts.after
77 div.footer
78 div.footer-item
79 - var newQuery = {...query, after: posts.after}
80 a(href=`/r/${subreddit}?${encodeQueryParams(newQuery)}`) next ⟶