diff options
author | 2023-12-27 11:23:52 +0100 | |
---|---|---|
committer | 2023-12-27 11:23:52 +0100 | |
commit | 0ff52b71f2c0e970b1f0d43793c019bbed93e112 (patch) | |
tree | eff120472b4b6f837121536ada03f530d213b13e /web/template/status_poll.tmpl | |
parent | [bugfix] :innocent: (#2476) (diff) | |
download | gotosocial-0ff52b71f2c0e970b1f0d43793c019bbed93e112.tar.xz |
[chore] Refactor HTML templates and CSS (#2480)
* [chore] Refactor HTML templates and CSS
* eslint
* ignore "Local"
* rss tests
* fiddle with OG just a tiny bit
* dick around with polls a bit more so SR stops saying "clickable"
* remove break
* oh lord
* don't lazy load avatar
* fix ogmeta tests
* clean up some cruft
* catch remaining calls to c.HTML
* fix error rendering + stack overflow in tag
* allow templating attributes
* fix indent
* set aria-hidden on status complementary content, since it's already present in the label anyway
* tidy up templating calls a little
* try to make styling a bit more consistent + readable
* fix up some remaining CSS issues
* fix up reports
Diffstat (limited to 'web/template/status_poll.tmpl')
-rw-r--r-- | web/template/status_poll.tmpl | 105 |
1 files changed, 59 insertions, 46 deletions
diff --git a/web/template/status_poll.tmpl b/web/template/status_poll.tmpl index a900f5e74..8cb5dde8f 100644 --- a/web/template/status_poll.tmpl +++ b/web/template/status_poll.tmpl @@ -18,51 +18,64 @@ */ -}} {{- /* - Template for rendering a web view of a poll. - To use this template, pass a web view status into it. + Template for rendering a web view of a poll. + To use this template, pass a web view status into it. */ -}} - <figure class="poll"> - <figcaption class="poll-info"> - <span class="poll-expiry"> - {{- if .Poll.Multiple -}} - Multiple-choice poll - {{- else -}} - Poll - {{- end -}} - {{- if .Poll.Expired -}} - closed {{ .Poll.ExpiresAt | timestampPrecise -}} - {{- else if .Poll.ExpiresAt -}} - open until {{ .Poll.ExpiresAt | timestampPrecise -}} - {{- else -}} - open forever - {{- end -}} - </span> - <span class="total-votes">Total votes: {{ .Poll.VotesCount }}</span> - </figcaption> - <ul class="poll-options"> - {{- range $index, $pollOption := .WebPollOptions }} - <li class="poll-option"> - <label aria-hidden="true" for="poll-{{- $pollOption.PollID -}}-option-{{- increment $index -}}" lang="{{- .LanguageTag.TagStr -}}">{{- emojify .Emojis (noescape $pollOption.Title) -}}</label> - <meter aria-hidden="true" id="poll-{{- $pollOption.PollID -}}-option-{{- increment $index -}}" min="0" max="100" value="{{- $pollOption.VoteShare -}}">{{- $pollOption.VoteShare -}}%</meter> - <div class="sr-only">Option {{ increment $index }}: <span lang="{{ .LanguageTag.TagStr }}">{{ emojify .Emojis (noescape $pollOption.Title) -}}</span></div> - <div class="poll-vote-summary"> - {{- if isNil $pollOption.VotesCount }} - Results not yet published. - {{- else -}} - {{- with deref $pollOption.VotesCount }} - <span class="poll-vote-share">{{- $pollOption.VoteShareStr -}}%</span> - <span class="poll-vote-count"> - {{- if eq . 1 -}} - {{- . }} vote - {{- else -}} - {{- . }} votes - {{- end -}} - </span> - {{- end -}} - {{- end }} - </div> - </li> - {{- end }} - </ul> - </figure> +{{- define "votes" -}} + {{- if eq . 1 -}} + {{- . -}} vote + {{- else -}} + {{- . }} votes + {{- end -}} +{{- end -}} + +{{- with . }} +<figure class="poll"> + <figcaption class="poll-info"> + <span class="poll-expiry"> + {{- if .Poll.Multiple -}} + Multiple-choice poll + {{- else -}} + Poll + {{- end -}} + {{- if .Poll.Expired -}} + closed <time datetime="{{- .Poll.ExpiresAt -}}">{{- .Poll.ExpiresAt | timestampPrecise -}}</time> + {{- else if .Poll.ExpiresAt -}} + open until <time datetime="{{- .Poll.ExpiresAt -}}">{{- .Poll.ExpiresAt | timestampPrecise -}}</time> + {{- else -}} + open forever + {{- end -}} + </span> + <span class="sr-only">,</span> + <span class="total-votes"> + {{- template "votes" .Poll.VotesCount -}} + {{- if .Poll.Expired -}} + total + {{- else -}} + so far + {{- end -}} + </span> + </figcaption> + <ul class="poll-options nodot"> + {{- range $index, $pollOption := .WebPollOptions }} + <li class="poll-option"> + <span class="sr-only">Option {{ increment $index }},</span> + <span lang="{{- .LanguageTag.TagStr -}}">{{ emojify .Emojis (noescape $pollOption.Title) }}</span> + <meter aria-hidden="true" min="0" max="100" value="{{- $pollOption.VoteShare -}}"></meter> + <div class="poll-vote-summary"> + {{- if isNil $pollOption.VotesCount }} + Results not yet published. + {{- else }} + {{- with deref $pollOption.VotesCount }} + <span class="poll-vote-share">{{- $pollOption.VoteShareStr -}}%</span> + <span class="sr-only">,</span> + <span class="poll-vote-count">{{- template "votes" . -}}</span> + {{- end }} + {{- end }} + </div> + </li> + {{- end }} + </ul> +</figure> +{{- end }}
\ No newline at end of file |