From 888e965f412f4b5ce4b064752a00255ffd33bac1 Mon Sep 17 00:00:00 2001 From: Zed Date: Fri, 14 Jan 2022 03:16:09 +0100 Subject: [PATCH] Unify avatar class generation --- src/views/general.nim | 2 +- src/views/renderutils.nim | 6 ++++++ src/views/timeline.nim | 2 +- src/views/tweet.nim | 16 +++++++--------- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/views/general.nim b/src/views/general.nim index f19080e..4a8b4a3 100644 --- a/src/views/general.nim +++ b/src/views/general.nim @@ -45,7 +45,7 @@ proc renderHead*(prefs: Prefs; cfg: Config; titleText=""; desc=""; video=""; let opensearchUrl = getUrlPrefix(cfg) & "/opensearch" buildHtml(head): - link(rel="stylesheet", type="text/css", href="/css/style.css?v=9") + link(rel="stylesheet", type="text/css", href="/css/style.css?v=10") link(rel="stylesheet", type="text/css", href="/css/fontello.css?v=2") if theme.len > 0: diff --git a/src/views/renderutils.nim b/src/views/renderutils.nim index f98b53a..6287c57 100644 --- a/src/views/renderutils.nim +++ b/src/views/renderutils.nim @@ -88,3 +88,9 @@ proc getTabClass*(query: Query; tab: QueryKind): string = result = "tab-item" if query.kind == tab: result &= " active" + +proc getAvatarClass*(prefs: Prefs): string = + if prefs.squareAvatars: + "avatar" + else: + "avatar round" diff --git a/src/views/timeline.nim b/src/views/timeline.nim index cf14ff3..f4b410a 100644 --- a/src/views/timeline.nim +++ b/src/views/timeline.nim @@ -63,7 +63,7 @@ proc renderUser(user: Profile; prefs: Prefs): VNode = tdiv(class="tweet-body profile-result"): tdiv(class="tweet-header"): a(class="tweet-avatar", href=("/" & user.username)): - genImg(user.getUserPic("_bigger"), class="avatar") + genImg(user.getUserPic("_bigger"), class=prefs.getAvatarClass) tdiv(class="tweet-name-row"): tdiv(class="fullname-and-username"): diff --git a/src/views/tweet.nim b/src/views/tweet.nim index dcf8b75..7494685 100644 --- a/src/views/tweet.nim +++ b/src/views/tweet.nim @@ -11,10 +11,10 @@ proc getSmallPic(url: string): string = result &= ":small" result = getPicUrl(result) -proc renderMiniAvatar(profile: Profile): VNode = +proc renderMiniAvatar(profile: Profile; prefs: Prefs): VNode = let url = getPicUrl(profile.getUserPic("_mini")) buildHtml(): - img(class="avatar mini", src=url) + img(class=(prefs.getAvatarClass & " mini"), src=url) proc renderHeader(tweet: Tweet; retweet: string; prefs: Prefs): VNode = buildHtml(tdiv): @@ -31,9 +31,7 @@ proc renderHeader(tweet: Tweet; retweet: string; prefs: Prefs): VNode = var size = "_bigger" if not prefs.autoplayGifs and tweet.profile.userPic.endsWith("gif"): size = "_400x400" - - let round = if prefs.squareAvatars: "" else: " round" - genImg(tweet.profile.getUserPic(size), class=(&"avatar{round}")) + genImg(tweet.profile.getUserPic(size), class=prefs.getAvatarClass) tdiv(class="tweet-name-row"): tdiv(class="fullname-and-username"): @@ -203,9 +201,9 @@ proc renderReply(tweet: Tweet): VNode = if i > 0: text " " a(href=("/" & u)): text "@" & u -proc renderAttribution(profile: Profile): VNode = +proc renderAttribution(profile: Profile; prefs: Prefs): VNode = buildHtml(a(class="attribution", href=("/" & profile.username))): - renderMiniAvatar(profile) + renderMiniAvatar(profile, prefs) strong: text profile.fullname if profile.verified: icon "ok", class="verified-icon", title="Verified account" @@ -244,7 +242,7 @@ proc renderQuote(quote: Tweet; prefs: Prefs; path: string): VNode = tdiv(class="tweet-name-row"): tdiv(class="fullname-and-username"): - renderMiniAvatar(quote.profile) + renderMiniAvatar(quote.profile, prefs) linkUser(quote.profile, class="fullname") linkUser(quote.profile, class="username") @@ -323,7 +321,7 @@ proc renderTweet*(tweet: Tweet; prefs: Prefs; path: string; class=""; index=0; verbatim replaceUrls(tweet.text, prefs) & renderLocation(tweet) if tweet.attribution.isSome: - renderAttribution(tweet.attribution.get()) + renderAttribution(tweet.attribution.get(), prefs) if tweet.card.isSome: renderCard(tweet.card.get(), prefs, path)