[chore] little frontend tweaks (#3852)

* [chore] little frontend tweaks

* beep boop

* poke

* clarify server time
This commit is contained in:
tobi 2025-03-02 11:27:30 +01:00 committed by GitHub
parent e78e817057
commit 4c9901fc03
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 18 additions and 44 deletions

View file

@ -26,7 +26,6 @@
"reflect"
"regexp"
"strings"
"time"
"unsafe"
"github.com/gin-gonic/gin"
@ -128,7 +127,6 @@ funcMap["includeAttr"] = func(name string, data any) (template.HTMLAttr, error)
"oddOrEven": oddOrEven,
"subtract": subtract,
"timestampPrecise": timestampPrecise,
"timestamp": timestamp,
"timestampVague": timestampVague,
"visibilityIcon": visibilityIcon,
}
@ -174,29 +172,6 @@ func noescapeAttr(str string) template.HTMLAttr {
badTimestamp = "bad timestamp"
)
func timestamp(stamp string) string {
t, err := util.ParseISO8601(stamp)
if err != nil {
log.Errorf(nil, "error parsing timestamp %s: %s", stamp, err)
return badTimestamp
}
t = t.Local()
tYear, tMonth, tDay := t.Date()
now := time.Now()
currentYear, currentMonth, currentDay := now.Date()
switch {
case tYear == currentYear && tMonth == currentMonth && tDay == currentDay:
return "Today, " + t.Format(justTime)
case tYear == currentYear:
return t.Format(dateTime)
default:
return t.Format(dateYear)
}
}
func timestampPrecise(stamp string) string {
t, err := util.ParseISO8601(stamp)
if err != nil {

View file

@ -182,22 +182,22 @@ Array.from(document.getElementsByClassName("plyr-video")).forEach((video) => {
video._plyrContainer = player.elements.container;
});
document.addEventListener('DOMContentLoaded', () => {
const timeTags = document.getElementsByTagName('time');
Array.from(timeTags).forEach(timeTag => {
Array.from(document.getElementsByTagName('time')).forEach(timeTag => {
const datetime = timeTag.getAttribute('datetime');
const currentText = timeTag.textContent.trim();
// Only format if current text contains precise time
// Only format if current text contains precise time.
if (currentText.match(/\d{2}:\d{2}/)) {
const date = new Date(datetime);
timeTag.textContent = date.toLocaleString(undefined, {
timeTag.textContent = date.toLocaleString(
undefined,
{
year: 'numeric',
month: 'short',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
hour12: false
});
},
);
}
});
});

View file

@ -180,7 +180,7 @@
{{- end }}
{{- end }}
</dl>
<a class="u-url u-uid" rel="me" href="/@{{- .account.Username -}}" class="hidden"></a>
<a class="u-url u-uid hidden" rel="me" href="/@{{- .account.Username -}}"></a>
</div>
</section>
<div class="column-split">

View file

@ -18,7 +18,7 @@
*/ -}}
{{- define "ariaLabel" -}}
@{{ .Account.Acct -}}, {{ timestamp .CreatedAt -}}
@{{ .Account.Acct -}}, {{ .CreatedAt | timestampPrecise -}} (server time)
{{- if .LanguageTag -}}
, language {{ .LanguageTag.DisplayStr -}}
{{- end -}}
@ -52,5 +52,4 @@
id="{{- .ID -}}{{- if .Pinned -}}-pinned{{- end -}}"
role="region"
aria-label="{{- template "ariaLabel" . -}}"
class="status expanded h-entry"
{{- end }}

View file

@ -23,14 +23,14 @@
<div class="stats-item published-at text-cutoff">
<dt class="sr-only">Published</dt>
<dd>
<time class="dt-published" datetime="{{- .CreatedAt -}}">{{- .CreatedAt -}}</time>
<time class="dt-published" datetime="{{- .CreatedAt -}}">{{- .CreatedAt | timestampPrecise -}}</time>
</dd>
</div>
{{- if .EditedAt -}}
<div class="stats-item edited-at text-cutoff">
<dt class="sr-only">Edited</dt>
<dd>
(edited <time class="dt-updated" datetime="{{- .EditedAt -}}">{{- .EditedAt -}}</time>)
(edited <time class="dt-updated" datetime="{{- .EditedAt -}}">{{- .EditedAt | timestampPrecise -}}</time>)
</dd>
</div>
{{ end }}

View file

@ -40,9 +40,9 @@
Poll&nbsp;
{{- end -}}
{{- if .Poll.Expired -}}
closed <time datetime="{{- .Poll.ExpiresAt -}}">{{- .Poll.ExpiresAt -}}</time>
closed <time datetime="{{- .Poll.ExpiresAt -}}">{{- .Poll.ExpiresAt | timestampPrecise -}}</time>
{{- else if .Poll.ExpiresAt -}}
open until <time datetime="{{- .Poll.ExpiresAt -}}">{{- .Poll.ExpiresAt -}}</time>
open until <time datetime="{{- .Poll.ExpiresAt -}}">{{- .Poll.ExpiresAt | timestampPrecise -}}</time>
{{- else -}}
open forever
{{- end -}}