summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-11-17 11:35:28 +0100
committerLibravatar GitHub <noreply@github.com>2023-11-17 11:35:28 +0100
commitfc02d3c6f7db5a7794448f31fd9d6d81d3d224eb (patch)
treef792f799abadf784e493933af597d8f2292ab776 /web
parent[bugfix] process account delete side effects in serial, not in parallel (#2360) (diff)
downloadgotosocial-fc02d3c6f7db5a7794448f31fd9d6d81d3d224eb.tar.xz
[feature] Set/show instance language(s); show post language on frontend (#2362)
* update go text, include text/display * [feature] Set instance langs, show post lang on frontend * go fmt * WebGet * set language for whole article, don't use FA icon * mention instance languages + other optional config vars * little tweak * put languages in config properly * warn log language parse * change some naming around * tidy up validate a bit * lint * rename LanguageTmpl in template
Diffstat (limited to 'web')
-rw-r--r--web/source/css/status.css19
-rw-r--r--web/template/about.tmpl18
-rw-r--r--web/template/status.tmpl37
3 files changed, 52 insertions, 22 deletions
diff --git a/web/source/css/status.css b/web/source/css/status.css
index 3edd11a44..35f2cdd37 100644
--- a/web/source/css/status.css
+++ b/web/source/css/status.css
@@ -398,12 +398,27 @@ main {
border-top: 0.15rem solid $toot-info-border;
padding: 0.5rem 0.75rem;
- div, time {
+ time {
padding-right: 1rem;
}
.stats {
- display: flex;
+ display: inline-flex;
+ flex: 1;
+ gap: 1rem;
+
+ .stats-item {
+ span {
+ white-space: nowrap;
+ }
+ }
+
+ .language {
+ margin-left: auto;
+ z-index: 1;
+ cursor: pointer;
+ user-select: none;
+ }
}
grid-column: span 3;
diff --git a/web/template/about.tmpl b/web/template/about.tmpl
index 34fbe2570..6579f492f 100644
--- a/web/template/about.tmpl
+++ b/web/template/about.tmpl
@@ -26,6 +26,22 @@
</div>
<div>
+ <h2 id="languages">Languages</h2>
+ <p>
+ {{ if .languages }}
+ This instance prefers the following languages:
+ <ol>
+ {{range .languages}}
+ <li>{{.}}</li>
+ {{end}}
+ </ol>
+ {{ else }}
+ This instance does not have any preferred languages.
+ {{ end }}
+ </p>
+ </div>
+
+ <div>
<h2 id="contact">Admin Contact</h2>
{{if .instance.ContactAccount}}
<a href="{{.instance.ContactAccount.URL}}" class="account-card">
@@ -81,7 +97,7 @@
<div>
<h2 id="moderated-servers">Moderated servers</h2>
<p>
- ActivityPub instances exchange (federate) data with other servers, including accounts and toots.
+ ActivityPub instances exchange (federate) data with other instances, including accounts and toots.
This can be prevented for specific domains by suspending them. None of their content is stored,
and interaction with their users is blocked both ways.</br>
{{if .blocklistExposed}}
diff --git a/web/template/status.tmpl b/web/template/status.tmpl
index 5e264a339..bf24f6e7c 100644
--- a/web/template/status.tmpl
+++ b/web/template/status.tmpl
@@ -36,15 +36,15 @@
{{if .SpoilerText}}
<details class="text-spoiler">
<summary>
- <span class="spoiler-text">{{emojify .Emojis (escape .SpoilerText)}}</span>
+ <span class="spoiler-text" lang="{{ .LanguageTag.TagStr }}">{{emojify .Emojis (escape .SpoilerText)}}</span>
<span class="button" role="button" tabindex="0">Toggle visibility</span>
</summary>
- <div class="content">
+ <div class="content" lang="{{ .LanguageTag.TagStr }}">
{{emojify .Emojis (noescape .Content)}}
</div>
</details>
{{else}}
- <div class="content">
+ <div class="content" lang="{{ .LanguageTag.TagStr }}">
{{emojify .Emojis (noescape .Content)}}
</div>
{{end}}
@@ -113,30 +113,29 @@
<aside class="info">
<time datetime="{{.CreatedAt}}">{{.CreatedAt | timestampPrecise}}</time>
<div class="stats" role="group">
- <div>
- <span aria-hidden="true">
- <i class="fa fa-reply-all"></i> {{.RepliesCount}}
- </span>
+ <div class="stats-item">
+ <span aria-hidden="true"><i class="fa fa-reply-all"></i> {{.RepliesCount}}</span>
<span class="sr-only">{{.RepliesCount}} {{if .RepliesCount | eq 1}}reply{{else}}replies{{end}}</span>
</div>
- <div>
- <span aria-hidden="true">
- <i class="fa fa-star"></i> {{.FavouritesCount}}
- </span>
+ <div class="stats-item">
+ <span aria-hidden="true"><i class="fa fa-star"></i> {{.FavouritesCount}}</span>
<span class="sr-only">{{.FavouritesCount}} favourite{{if .FavouritesCount | eq 1 | not}}s{{end}}</span>
</div>
- <div>
- <span aria-hidden="true">
- <i class="fa fa-retweet"></i> {{.ReblogsCount}}
- </span>
+ <div class="stats-item">
+ <span aria-hidden="true"><i class="fa fa-retweet"></i> {{.ReblogsCount}}</span>
<span class="sr-only">{{.ReblogsCount}} boost{{if .ReblogsCount | eq 1 | not}}s{{end}}</span>
</div>
{{if .Pinned}}
- <div>
- <i class="fa fa-thumb-tack" aria-hidden="true"></i>
- <span class="sr-only">pinned</span>
- </div>
+ <div class="stats-item">
+ <i class="fa fa-thumb-tack" aria-hidden="true"></i>
+ <span class="sr-only">pinned</span>
+ </div>
{{end}}
+ {{ if .LanguageTag.DisplayStr }}
+ <div class="stats-item language" title="Language: {{ .LanguageTag.DisplayStr }}">
+ {{ .LanguageTag.TagStr }}
+ </div>
+ {{ end }}
</div>
</aside>
<a data-nosnippet href="{{.URL}}" class="toot-link">Open