selfhostable, read-only reddit client
16
fork

Configure Feed

Select the types of activity you want to include in your feed.

add info to subs on visit, do not persist sort

Akshay 8fd28aef 342b9f1c

+28 -41
+5 -6
src/mixins/header.pug
··· 1 1 mixin header(user) 2 2 - var viewQuery = 'view=' + (query && query.view ? query.view : 'compact') 3 - - var sortQuery = 'sort=' + (query ? (query.sort ? query.sort + (query.t ? '&t=' + query.t : '') : 'hot') : 'hot') 4 3 div.header 5 4 div.header-item 6 - a(href=`/?${sortQuery}&${viewQuery}`) home 5 + a(href=`/?${viewQuery}`) home 7 6 div.header-item 8 - a(href=`/r/all?${sortQuery}&${viewQuery}`) all 7 + a(href=`/r/all?${viewQuery}`) all 9 8 div.header-item 10 - a(href=`/search?${sortQuery}&${viewQuery}`) search 9 + a(href=`/search?${viewQuery}`) search 11 10 div.header-item 12 - a(href=`/subs?${sortQuery}&${viewQuery}`) subs 11 + a(href=`/subs?${viewQuery}`) subs 13 12 if user 14 13 div.header-item 15 - a(href=`/dashboard?${sortQuery}&${viewQuery}`) #{user.username} 14 + a(href=`/dashboard${viewQuery}`) #{user.username} 16 15 |  17 16 a(href='/logout') (logout) 18 17 else
+1 -1
src/mixins/post.pug
··· 25 25 |  ·  26 26 | #{timeDifference(Date.now(), p.created * 1000)} 27 27 |  ·  28 - a(href=`/r/${p.subreddit}`) r/#{p.subreddit} 28 + a(href=`/r/${p.subreddit}?view=${viewQuery}`) r/#{p.subreddit} 29 29 |  ·  30 30 a(href=`/comments/${p.id}?from=${from}`) #{fmtnum (p.num_comments)} ↩ 31 31 if (query.view == "card" && !isPostMedia(p) && p.selftext_html)
+9 -32
src/public/styles.css
··· 11 11 --link-visited-color: #999; 12 12 --accent: var(--link-color); 13 13 --error-text-color: red; 14 - --border-radius-card: 2vmin; 15 - --border-radius-media: 1.5vmin; 16 - --border-radius-preview: 1vmin; 14 + --border-radius-card: 0.5vmin; 15 + --border-radius-media: 0.5vmin; 16 + --border-radius-preview: 0.3vmin; 17 17 18 18 font-family: Inter, sans-serif; 19 19 font-feature-settings: 'ss01' 1, 'kern' 1, 'liga' 1, 'cv05' 1, 'dlig' 1, 'ss01' 1, 'ss07' 1, 'ss08' 1; ··· 203 203 204 204 .image-viewer { 205 205 position: relative; 206 - margin: 0.9rem; 207 206 } 208 207 209 208 .image-viewer > img { ··· 306 305 max-height: 70vh; 307 306 } 308 307 309 - .image-viewer.main-content a { 310 - margin: unset; 311 - } 312 - 313 308 .image-viewer a:has(img) { 314 309 font-size: 0rem; 315 310 padding: unset; 316 311 margin: unset; 317 - } 318 - 319 - .media-preview a, 320 - .image-viewer a { 321 - font-size: 1.5rem; 322 - text-decoration: none; 323 - padding: unset; 324 - margin: 1rem; 325 312 } 326 313 327 314 .media-maximized { ··· 363 350 364 351 @media (min-width: 768px) { 365 352 :root { 366 - --border-radius-card: 1vmin; 367 - --border-radius-media: 1vmin; 368 - --border-radius-preview: 0.5vmin; 353 + --border-radius-card: 0.5vmin; 354 + --border-radius-media: 0.5vmin; 355 + --border-radius-preview: 0.3vmin; 369 356 } 370 357 .post, .comments-container, .hero, .header, .footer { 371 358 flex: 1 1 90%; ··· 380 367 .image-viewer img, 381 368 .image-viewer video 382 369 { 383 - max-height: 45vh; 384 - } 385 - .image-viewer a { 386 - font-size: 1rem; 387 - margin: 0.7rem; 388 - padding: initial; 370 + max-height: 50vh; 389 371 } 390 372 .post-text.card { 391 373 max-width: 100%; ··· 429 411 .image-viewer img, 430 412 .image-viewer video 431 413 { 432 - max-height: 35vh; 414 + max-height: 45vh; 433 415 } 434 416 .media-preview a { 435 417 font-size: 2rem; 436 418 padding: 2rem; 437 - } 438 - .image-viewer a { 439 - font-size: 1rem; 440 - margin: 1rem; 441 - padding: initial; 442 419 } 443 420 .self-text.card { 444 421 -webkit-line-clamp: 4; ··· 824 801 825 802 .sticky { 826 803 background-color: var(--sticky-color); 827 - border-radius: 2px; 804 + border-radius: var(--border-radius-card); 828 805 border: 4px solid var(--sticky-color); 829 806 } 830 807
+6 -1
src/utils.pug
··· 1 - - var fmtnum = (n)=>n>=1000?(n/1000).toFixed(1)+'k':n; 1 + - 2 + function fmtnum(n) { 3 + return n >= 1e6 ? (n / 1e6).toFixed(1) + 'mil' : 4 + n >= 1e3 ? (n / 1e3).toFixed(1) + 'k' : 5 + n; 6 + } 2 7 - var fmttxt = (n,t)=>`${t}${n==1?'':'s'}` 3 8 - var stripPrefix = (s, p) => s.startsWith(p) ? s.slice(p.length) : s; 4 9 -
+1 -1
src/views/comments.pug
··· 64 64 video(controls data-dashjs-player src=`${url}`).post-media 65 65 else if isPostLink(post) 66 66 a(href=post.url) 67 - | #{post.domain} ↗ 67 + | #{post.url} 68 68 69 69 if post.selftext_html 70 70 div.self-text
+6
src/views/index.pug
··· 33 33 | consider donating to  34 34 a(href="https://donate.stripe.com/dR62bTaZH1295Da4gg") oppiliappan 35 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 36 42 hr 37 43 details.sort-details 38 44 summary.sorting sorting by #{query.sort + (query.t?' '+query.t:'')}