You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.9 KiB
81 lines
2.9 KiB
{{- /* |
|
// 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. |
|
*/ -}} |
|
|
|
{{- 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 := .PollOptions }} |
|
<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 }} |