diff options
| author | 2023-12-05 12:43:07 +0100 | |
|---|---|---|
| committer | 2023-12-05 12:43:07 +0100 | |
| commit | dacfd413dcfc5ead5d019efbe45059f2f6922696 (patch) | |
| tree | 9b028b31d16eb90a5cf0697617e50ab1b0b7fa74 /web/template/status_poll.tmpl | |
| parent | [chore]: Bump go.opentelemetry.io/otel/exporters/prometheus (#2412) (diff) | |
| download | gotosocial-dacfd413dcfc5ead5d019efbe45059f2f6922696.tar.xz | |
[chore/frontend] Refactor status templates slightly, put polls behind CWs if present (#2419)
* [chore/frontend] Reorder templates, allow polls to be inside content warnings
* show when multiple-choice
Diffstat (limited to 'web/template/status_poll.tmpl')
| -rw-r--r-- | web/template/status_poll.tmpl | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/web/template/status_poll.tmpl b/web/template/status_poll.tmpl new file mode 100644 index 000000000..f6acecfa0 --- /dev/null +++ b/web/template/status_poll.tmpl @@ -0,0 +1,62 @@ +{{- /* +// GoToSocial +// Copyright (C) GoToSocial Authors admin@gotosocial.org +// SPDX-License-Identifier: AGPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ -}} + +{{- /* + 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"> + <span class="poll-vote-share">{{- $pollOption.VoteShareStr -}}%</span> + <span class="poll-vote-count"> + {{- if eq $pollOption.VotesCount 1 -}} + {{- $pollOption.VotesCount }} vote + {{- else -}} + {{- $pollOption.VotesCount }} votes + {{- end -}} + </span> + </div> + </li> + {{- end }} + </ul> + </figure> |
