bloat/templates/status.tmpl

315 lines
13 KiB
Cheetah
Raw Normal View History

2020-01-14 16:57:16 +00:00
{{with .Data}}
{{if .Muted}}<details><summary> muted post </summary>{{end}}
<div id="status-{{.ID}}" class="status-container-container">
2019-12-14 10:57:14 +00:00
{{if .Reblog}}
2023-11-02 22:20:55 +00:00
<details>
<summary>
2019-12-14 10:57:14 +00:00
<div class="retweet-info">
2020-02-23 13:26:39 +00:00
<a class="img-link" href="/user/{{.Account.ID}}">
2021-04-07 06:55:11 +00:00
<img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="24" />
</a>
<bdi class="status-dname">{{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}}</bdi>
2020-09-22 15:42:16 +00:00
<a href="/user/{{.Account.ID}}">
<span class="status-uname">@{{.Account.Acct}}</span>
2020-09-22 15:42:16 +00:00
</a>
2023-11-02 22:20:55 +00:00
retweeteed
2019-12-13 18:08:26 +00:00
</div>
2023-11-02 22:20:55 +00:00
</summary>
2020-01-14 16:57:16 +00:00
{{template "status" (WithContext .Reblog $.Ctx)}}
2023-11-02 22:20:55 +00:00
</details>
2019-12-14 10:57:14 +00:00
{{else}}
2020-01-14 16:57:16 +00:00
{{block "status" (WithContext . $.Ctx)}}
{{with $s := .Data}}
2020-01-08 18:16:06 +00:00
<div class="status-container status-{{.ID}}" data-id="{{.ID}}">
2019-12-22 03:43:25 +00:00
<div class="status-profile-img-container">
2020-02-23 13:26:39 +00:00
<a class="img-link" href="/user/{{.Account.ID}}">
2021-04-07 06:55:11 +00:00
<img class="status-profile-img" src="{{.Account.Avatar}}" title="@{{.Account.Acct}}" alt="avatar" height="48" />
</a>
2019-12-13 18:08:26 +00:00
</div>
2019-12-14 10:57:14 +00:00
<div class="status">
<div class="status-name">
<bdi class="status-dname"> {{EmojiFilter (HTML .Account.DisplayName) .Account.Emojis | Raw}} {{if .Account.Bot}}🤖{{end}}</bdi>
2020-02-23 13:26:39 +00:00
<a href="/user/{{.Account.ID}}">
<span class="status-uname">@{{.Account.Acct}}</span>
</a>
2020-02-18 22:15:37 +00:00
<div class="more-container">
<div class="remote-link">
{{if .IDNumbers}}#{{index .IDNumbers .ID}}{{end}} {{.Visibility}} <code title="Status ID">{{.ID}}</code>
2020-02-02 07:24:06 +00:00
</div>
<div class="more-content">
2020-02-18 22:15:37 +00:00
<a class="more-link" href="{{.URL}}" target="_blank">
2020-02-02 07:24:06 +00:00
source
</a>
2021-09-05 17:17:59 +00:00
<a class="more-link" href="/quickreply/{{.ID}}#status-{{.ID}}">
quickreply
</a>
2020-02-02 07:24:06 +00:00
{{if .Muted}}
2020-02-23 13:26:39 +00:00
<form action="/unmuteconv/{{.ID}}" method="post" target="_self">
2020-02-02 07:24:06 +00:00
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
2020-02-18 22:15:37 +00:00
<input type="submit" value="unmute" class="btn-link more-link">
2020-02-02 07:24:06 +00:00
</form>
{{else}}
2020-02-23 13:26:39 +00:00
<form action="/muteconv/{{.ID}}" method="post" target="_self">
2020-02-02 07:24:06 +00:00
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
2020-02-18 22:15:37 +00:00
<input type="submit" value="mute" class="btn-link more-link">
2020-02-02 07:24:06 +00:00
</form>
{{end}}
{{if .Bookmarked}}
<form action="/unbookmark/{{.ID}}" method="post" target="_self">
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
<input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}">
<input type="submit" value="unbookmark" class="btn-link more-link">
</form>
{{else}}
<form action="/bookmark/{{.ID}}" method="post" target="_self">
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
<input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}">
<input type="submit" value="bookmark" class="btn-link more-link">
</form>
{{end}}
2020-02-02 08:30:40 +00:00
{{if eq $.Ctx.UserID .Account.ID}}
{{$pin := "pin"}} {{if .Pinned}} {{$pin = "unpin"}} {{end}}
<form action="/{{$pin}}/{{.ID}}" method="post" target="_self">
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
<input type="submit" value="{{$pin}}" class="btn-link more-link">
</form>
2020-02-23 13:26:39 +00:00
<form action="/delete/{{.ID}}" method="post" target="_self">
2020-02-02 08:30:40 +00:00
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
2020-02-18 22:15:37 +00:00
<input type="submit" value="delete" class="btn-link more-link">
2020-02-02 08:30:40 +00:00
</form>
{{end}}
2020-02-02 07:24:06 +00:00
</div>
</div>
2019-12-14 10:57:14 +00:00
</div>
2019-12-18 22:14:02 +00:00
<div class="status-reply-container">
{{if .InReplyToID}}
<a class="status-reply-to-link" href="{{if not .ShowReplies}}/thread/{{.InReplyToID}}{{end}}#status-{{.InReplyToID}}">
in reply to {{if .IDNumbers}}#{{index .IDNumbers .InReplyToID}}{{end}} {{if .Pleroma.InReplyToAccountAcct}}@{{.Pleroma.InReplyToAccountAcct}}{{else if not .IDNumbers}}{{.InReplyToID}}{{end}}
</a>
2020-06-05 06:27:59 +00:00
{{if index .IDReplies .ID}} <span class="status-reply-info-divider"> - </span> {{end}}
2019-12-18 22:14:02 +00:00
{{end}}
{{if .ShowReplies}}
2020-06-05 06:27:59 +00:00
{{if index .IDReplies .ID}} <span class="status-reply-text"> replies: </span> {{end}}
{{range index .IDReplies .ID}}
<a class="status-reply-link" href="#status-{{.ID}}">#{{.Number}}</a>
2019-12-18 22:14:02 +00:00
{{end}}
{{end}}
</div>
{{if (or .Content .SpoilerText)}}
2022-03-30 15:52:30 +00:00
<div class="status-content">
{{if .Sensitive}}[NSFW]<br/>{{end}}
{{- if .SpoilerText}}{{EmojiFilter (HTML .SpoilerText) .Emojis | Raw}}<br/>{{end -}}
2023-11-05 14:46:14 +00:00
{{if .Sensitive}}<details>{{end}}
{{- StatusContentFilter .Content .Emojis .Mentions | Raw -}}
2023-11-04 22:22:24 +00:00
{{if .Pleroma.Quote}}
<details>
<summary>quoted post</summary>
{{template "status" (WithContext .Pleroma.Quote $.Ctx)}}
</details>
{{end}}
2023-11-05 14:46:14 +00:00
{{if .Sensitive}}</details>{{end}}
2022-03-30 15:52:30 +00:00
</div>
2020-01-30 13:56:29 +00:00
{{end}}
{{$st_id := .ID}}
{{if .Pleroma.Reactions}}
<div class="pleroma-reactions">
{{range .Pleroma.Reactions}}
2022-10-31 09:45:18 +00:00
{{$react := "react"}} {{if .Me}} {{$react = "unreact"}} {{end}}
2023-11-06 13:45:04 +00:00
<form id="emoj" action="/{{$react}}-with/{{$st_id}}?emoji={{.Name}}" method="post" target="_self">
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
{{if .Url}}
2023-11-03 22:25:44 +00:00
<input id="place-{{$react}}" type="image" src="{{.Url}}" title="{{.Name}}{{.Count}}*" {{if eq $react "unreact"}}height=36 width=36 {{else}} height=32 width=32 {{end}} class="pleroma-emoji">
{{else}}
2023-11-03 22:25:44 +00:00
<input id="place-{{$react}}" type="submit" value="{{.Name}}{{.Count}}{{if eq $react "unreact"}}*{{end}}" class="pleroma-emoji">
{{end}}
</form>
{{end}}
</div>
{{end}}
2020-10-25 11:36:00 +00:00
{{if .MediaAttachments}}
2023-11-05 14:46:14 +00:00
{{if .Sensitive}}<details><summary>NSFW attachments</summary>{{end}}
2019-12-14 10:57:14 +00:00
<div class="status-media-container">
{{range .MediaAttachments}}
2020-04-25 09:35:18 +00:00
{{if eq .Type "image"}}
2020-04-25 09:35:18 +00:00
{{if $.Ctx.HideAttachments}}
<a href="{{.URL}}" target="_blank">
[image{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}]
</a>
2020-04-25 09:35:18 +00:00
{{else}}
2020-05-24 06:44:22 +00:00
<a class="img-link" href="{{.URL}}" target="_blank" title="{{.Description}}">
2023-11-03 11:19:20 +00:00
<img class="status-image" src="{{.PreviewURL}}" alt="status-image" height="240" loading="lazy" />
{{if (and $.Ctx.MaskNSFW $s.Sensitive)}}
<div class="status-nsfw-overlay"></div>
{{end}}
</a>
2020-04-25 09:35:18 +00:00
{{end}}
{{else if eq .Type "audio"}}
2020-04-25 09:35:18 +00:00
{{if $.Ctx.HideAttachments}}
<a href="{{.URL}}" target="_blank">
[audio{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}]
</a>
2020-04-25 09:35:18 +00:00
{{else}}
2020-05-24 06:44:22 +00:00
<audio class="status-audio" controls title="{{.Description}}">
2019-12-22 04:25:56 +00:00
<source src="{{.URL}}">
2020-04-25 09:35:18 +00:00
<a href="{{.URL}}" target="_blank"> [audio] </a>
</audio>
2020-04-25 09:35:18 +00:00
{{end}}
{{else if eq .Type "video"}}
2020-04-25 09:35:18 +00:00
{{if $.Ctx.HideAttachments}}
<a href="{{.URL}}" target="_blank">
[video{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}]
</a>
2020-04-25 09:35:18 +00:00
{{else}}
2020-05-24 06:44:22 +00:00
<div class="status-video-container" title="{{.Description}}">
<video class="status-video" controls height="240">
<source src="{{.URL}}">
2020-04-25 09:35:18 +00:00
<a href="{{.URL}}" target="_blank"> [video] </a>
</video>
{{if (and $.Ctx.MaskNSFW $s.Sensitive)}}
<div class="status-nsfw-overlay"></div>
{{end}}
</div>
2020-04-25 09:35:18 +00:00
{{end}}
{{else}}
<a href="{{.URL}}" target="_blank">
[attachment{{if $s.Sensitive}}/nsfw{{end}}{{if .Description}}: {{.Description}}{{end}}]
</a>
{{end}}
2019-12-22 04:25:56 +00:00
{{end}}
</div>
2023-11-05 14:46:14 +00:00
{{if .Sensitive}}</details>{{end}}
2020-10-25 11:36:00 +00:00
{{end}}
{{if .Poll}}
2020-02-23 13:26:39 +00:00
<form class="poll-form" action="/vote/{{.Poll.ID}}" method="POST" target="_self">
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
<input type="hidden" name="status_id" value="{{$s.ID}}">
{{range $i, $o := .Poll.Options}}
<div class="poll-option">
{{if (or $s.Poll.Expired $s.Poll.Voted)}}
2022-03-30 15:52:30 +00:00
<div> {{EmojiFilter (HTML $o.Title) $s.Emojis | Raw}} - {{$o.VotesCount}} votes </div>
{{else}}
<input type="{{if $s.Poll.Multiple}}checkbox{{else}}radio{{end}}" name="choices"
id="poll-{{$s.ID}}-{{$i}}" value="{{$i}}">
<label for="poll-{{$s.ID}}-{{$i}}">
2022-03-30 15:52:30 +00:00
{{EmojiFilter (HTML $o.Title) $s.Emojis | Raw}}
</label>
{{end}}
</div>
{{end}}
{{if not (or .Poll.Expired .Poll.Voted)}}
<button type="submit"> Vote </button>
{{end}}
<div class="poll-info">
<span>{{.Poll.VotesCount}} votes</span>
{{if .Poll.Expired}}
<span> - poll expired </span>
{{else if .Poll.ExpiresAt}}
<span>
- poll ends in
<time datetime="{{FormatTimeRFC3339 .Poll.ExpiresAt}}" title="{{FormatTimeRFC822 .Poll.ExpiresAt}}">
{{TimeUntil .Poll.ExpiresAt}}
</time>
</span>
{{end}}
</div>
</form>
2019-12-13 18:08:26 +00:00
{{end}}
<div class="status-action-container">
2023-11-11 18:39:00 +00:00
{{if eq (printf "%.7s" .URL) "/search"}}
<div class="status-action">
<a href="{{.URL}}" target="_blank">Federate!</a>
2023-11-11 18:39:00 +00:00
</div>
{{else}}
2019-12-26 09:11:24 +00:00
<div class="status-action">
2020-02-23 13:26:39 +00:00
<a href="/thread/{{.ID}}?reply=true#status-{{.ID}}">
2020-01-30 13:56:29 +00:00
reply
2019-12-26 09:11:24 +00:00
</a>
2020-02-23 13:26:39 +00:00
<a class="status-reply-count" href="/thread/{{.ID}}#status-{{.ID}}" {{if $.Ctx.ThreadInNewTab}}target="_blank"{{end}}>
2020-09-02 17:50:48 +00:00
{{if and (not $.Ctx.AntiDopamineMode) .RepliesCount}}
({{DisplayInteractionCount .RepliesCount}})
{{end}}
2019-12-26 09:11:24 +00:00
</a>
</div>
2023-11-11 18:39:00 +00:00
{{end}}
2019-12-26 09:11:24 +00:00
<div class="status-action">
2020-10-19 06:05:22 +00:00
{{$rt := "retweet"}} {{if .Reblogged}} {{$rt = "unretweet"}} {{end}}
<form class="status-retweet" data-action="{{$rt}}" action="/{{$rt}}/{{.ID}}" method="post" target="_self">
2020-01-25 10:07:06 +00:00
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
2020-01-25 10:07:06 +00:00
<input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}">
<div class="more-container">
<input type="submit" value="{{$rt}}" class="btn-link"
{{if or (eq .Visibility "private") (eq .Visibility "direct")}}title="this status cannot be retweeted" disabled{{end}}>
<div class="more-content">
{{if or (eq .Visibility "private") (eq .Visibility "direct")}}
Locked
{{else}}
2022-12-02 13:47:28 +00:00
<input type="radio" id="retweet_visibility-{{.ID}}" name="retweet_visibility" value="public" checked>
<label for="retweet_visibility">public</label>
2022-12-02 13:47:28 +00:00
<input type="radio" id="retweet_visibility-{{.ID}}" name="retweet_visibility" value="unlisted">
<label for="retweet_visibility">unlisted</label>
2022-12-02 13:47:28 +00:00
<input type="radio" id="retweet_visibility-{{.ID}}" name="retweet_visibility" value="private">
<label for="retweet_visibility">private</label>
{{end}}
</div>
</div>
2020-10-19 06:05:22 +00:00
<a class="status-retweet-count" href="/retweetedby/{{.ID}}" title="click to see the the list">
{{if and (not $.Ctx.AntiDopamineMode) .ReblogsCount}}
({{DisplayInteractionCount .ReblogsCount}})
{{end}}
</a>
2020-01-04 18:56:47 +00:00
</form>
2019-12-26 09:11:24 +00:00
</div>
<div class="status-action">
2020-10-19 06:05:22 +00:00
{{$like := "like"}} {{if .Favourited}} {{$like = "unlike"}} {{end}}
<form class="status-like" data-action="{{$like}}" action="/{{$like}}/{{.ID}}" method="post" target="_self">
2020-01-25 10:07:06 +00:00
<input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
<input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
2020-01-25 10:07:06 +00:00
<input type="hidden" name="retweeted_by_id" value="{{.RetweetedByID}}">
2020-10-19 06:05:22 +00:00
<input type="submit" value="{{$like}}" class="btn-link">
<a class="status-like-count" href="/likedby/{{.ID}}" title="click to see the the list">
{{if and (not $.Ctx.AntiDopamineMode) .FavouritesCount}}
({{DisplayInteractionCount .FavouritesCount}})
{{end}}
</a>
2020-01-04 18:56:47 +00:00
</form>
2019-12-26 09:11:24 +00:00
</div>
2022-10-19 14:33:43 +00:00
<div class="status-action">
<a href="/reactionspage/{{.ID}}">
reactions
</a>
</div>
<div class="status-action status-action-last">
2020-02-23 13:26:39 +00:00
<a class="status-time" href="{{if not .ShowReplies}}/thread/{{.ID}}{{end}}#status-{{.ID}}"
{{if $.Ctx.ThreadInNewTab}}target="_blank"{{end}}>
2021-11-22 06:40:15 +00:00
<time datetime="{{FormatTimeRFC3339 .CreatedAt.Time}}" title="{{FormatTimeRFC822 .CreatedAt.Time}}">
{{TimeSince .CreatedAt.Time}}
2022-09-27 18:49:15 +00:00
</time>
2019-12-26 09:11:24 +00:00
</a>
2022-09-27 18:49:15 +00:00
{{if .EditedAt}} <time datetime="{{FormatTimeRFC3339 .EditedAt.Time}}" title="{{FormatTimeRFC822 .EditedAt.Time}}">| {{TimeSince .EditedAt.Time}} Edited</time>{{end}}
2019-12-26 09:11:24 +00:00
</div>
2019-12-14 10:57:14 +00:00
</div>
2019-12-13 18:08:26 +00:00
</div>
</div>
2019-12-14 10:57:14 +00:00
{{end}}
{{end}}
2020-01-14 16:57:16 +00:00
{{end}}
2019-12-13 18:08:26 +00:00
</div>
{{if .Muted}}</details>{{end}}
2020-01-14 16:57:16 +00:00
{{end}}