Add more preferences

This commit is contained in:
Zed 2019-08-13 21:25:29 +02:00
parent 7eb66d65aa
commit 45d88da3d9
5 changed files with 29 additions and 18 deletions

View file

@ -386,6 +386,7 @@ video, .video-container img {
padding: 0 2em;
line-height: 2em;
}
.show-more a:hover {
background-color: #282828;
}
@ -441,7 +442,6 @@ video, .video-container img {
text-align: left;
vertical-align: top;
max-width: 32%;
position: sticky;
top: 50px;
}

View file

@ -32,6 +32,19 @@ const prefList*: Table[string, seq[Pref]] = {
Pref(kind: checkbox, name: "autoplayGifs", label: "Autoplay gifs",
defaultState: true),
],
"Display": @[
Pref(kind: checkbox, name: "hideTweetStats",
label: "Hide tweet stats (replies, retweets, likes",
defaultState: false),
Pref(kind: checkbox, name: "hideBanner", label: "Hide profile banner",
defaultState: false),
Pref(kind: checkbox, name: "stickyProfile",
label: "Make profile sidebar stick to top",
defaultState: true)
]
}.toTable

View file

@ -22,10 +22,8 @@ db("cache.db", "", "", ""):
tweets*: string
likes*: string
media*: string
verified* {.
dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
protected* {.
dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
verified* {.dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
protected* {.dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
joinDate* {.
dbType: "INTEGER"
parseIt: it.i.fromUnix()
@ -49,17 +47,14 @@ db("cache.db", "", "", ""):
parseIt: parseEnum[VideoType](it.s),
formatIt: $it,
.}: VideoType
available* {.
dbType: "STRING",
parseIt: parseBool(it.s)
formatIt: $it
.}: bool
available* {.dbType: "STRING", parseIt: parseBool(it.s) formatIt: $it.}: bool
Prefs* = object
videoPlayback* {.
dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
autoplayGifs* {.
dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
videoPlayback* {.dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
autoplayGifs* {.dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
hideTweetStats* {.dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
hideBanner* {.dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
stickyProfile* {.dbType: "STRING", parseIt: parseBool(it.s), formatIt: $it.}: bool
type
QueryKind* = enum

View file

@ -70,10 +70,12 @@ proc renderBanner(profile: Profile): VNode =
proc renderProfile*(profile: Profile; timeline: Timeline;
photoRail: seq[GalleryPhoto]; prefs: Prefs): VNode =
buildHtml(tdiv(class="profile-tabs")):
tdiv(class="profile-banner"):
renderBanner(profile)
if not prefs.hideBanner:
tdiv(class="profile-banner"):
renderBanner(profile)
tdiv(class="profile-tab"):
let sticky = if prefs.stickyProfile: "sticky" else: "unset"
tdiv(class="profile-tab", style={position: sticky}):
renderProfileCard(profile)
if photoRail.len > 0:
renderPhotoRail(profile, photoRail)

View file

@ -210,7 +210,8 @@ proc renderTweet*(tweet: Tweet; prefs: Prefs; class="";
elif tweet.poll.isSome:
renderPoll(tweet.poll.get())
renderStats(tweet.stats)
if not prefs.hideTweetStats:
renderStats(tweet.stats)
if tweet.hasThread and "timeline" in class:
a(class="show-thread", href=getLink(tweet)):