Add more preferences
This commit is contained in:
parent
7eb66d65aa
commit
45d88da3d9
5 changed files with 29 additions and 18 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)):
|
||||
|
|
Loading…
Reference in a new issue