mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2024-12-13 09:08:24 +01:00
9cc9ffc5a7
* redesign status template
* separate index page styling
* redesign profile template
* fix header styling/wrapping
* remove old spoiler js
* fix status cw button wrapping
* fix status info variables
* profile responsiveness, accessibility tweaks
* fix variable use, mobile
* remove duplicate id's
* rss icon, fix indent
* fix toot border-radius
* fix toot spacing
* emojify and html profile fields
* refactor (sensitive) media rendering
* plaintext profile fields
* bundle plyr icon svg
* only pause video when switching photoswipe slides
* yarn upgrade
* profile fields formatting
* replace uglifyify with @browserify updated fork
* fix profile field templating (yet again)
* fix React classes
* testrig: add testing profile field for admin user
* fix sensitive media interactions
* Revert "testrig: add testing profile field for admin user"
This reverts commit 80490c183e
.
* settings interface wrapping
* fix reported toot styling
* add role to profile sr-only text
* comment fallback rule
* remove currently unused image description lacking indicator
147 lines
4.5 KiB
Cheetah
147 lines
4.5 KiB
Cheetah
{{- /*
|
|
// 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 "header.tmpl" .}}
|
|
|
|
<main class="profile">
|
|
<div class="header">
|
|
<div class="header-image">
|
|
{{ if .account.Header }}
|
|
<img src="{{.account.Header}}" alt="" />
|
|
{{ end }}
|
|
</div>
|
|
<div class="basic-info" aria-hidden="true">
|
|
<a class="avatar" href="{{.account.Avatar}}">
|
|
<img src="{{.account.Avatar}}" alt="">
|
|
</a>
|
|
<span class="displayname text-cutoff">
|
|
{{if .account.DisplayName}}
|
|
{{emojify .account.Emojis (escape .account.DisplayName)}}
|
|
{{else}}
|
|
{{.account.Username}}
|
|
{{end}}
|
|
<span class="sr-only">.</span>
|
|
</span>
|
|
<span class="username text-cutoff">@{{.account.Username}}<span class="sr-only">,
|
|
</span>{{acctInstance .account.Acct}}</span>
|
|
{{- /* Only render account role if 1. it's present and 2. it's not equal to the standard 'user' role */ -}}
|
|
{{ if and (.account.Role) (ne .account.Role.Name "user") }}
|
|
<div class="role {{ .account.Role.Name }}">
|
|
{{ .account.Role.Name }}
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
<div class="sr-only">
|
|
Profile for
|
|
{{if .account.DisplayName}}{{.account.DisplayName}}{{else}}{{.account.Username}}{{end}}.
|
|
Username @{{.account.Username}}, {{acctInstance .account.Acct}}.
|
|
{{ if and (.account.Role) (ne .account.Role.Name "user") }}
|
|
Role: {{ .account.Role.Name }}
|
|
{{ end }}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="column-split">
|
|
|
|
<section class="about-user">
|
|
<div class="col-header">
|
|
<h3>About</h3>
|
|
</div>
|
|
|
|
<div class="fields">
|
|
{{ range .account.Fields }}
|
|
<div class="field">
|
|
<b>{{emojify $.account.Emojis (noescape .Name)}}</b>
|
|
<span>{{emojify $.account.Emojis (noescape .Value)}}</span>
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
|
|
<div class="bio">
|
|
{{ if .account.Note }}
|
|
{{emojify .account.Emojis (noescape .account.Note)}}
|
|
{{else}}
|
|
This GoToSocial user hasn't written a bio yet!
|
|
{{end}}
|
|
</div>
|
|
|
|
<div class="sr-only" role="group">
|
|
<span>Joined on {{.account.CreatedAt | timestampVague}}.</span>
|
|
<span>{{.account.StatusesCount}} post{{if .account.StatusesCount | eq 1 | not}}s{{end}}.</span>
|
|
<span>Followed by {{.account.FollowersCount}}.</span>
|
|
<span>Following {{.account.FollowingCount}}.</span>
|
|
</div>
|
|
|
|
<div class="accountstats" aria-hidden="true">
|
|
<b>Joined</b><time datetime="{{.account.CreatedAt}}">{{.account.CreatedAt | timestampVague}}</time>
|
|
<b>Posts</b><span>{{.account.StatusesCount}}</span>
|
|
<b>Followed by</b><span>{{.account.FollowersCount}}</span>
|
|
<b>Following</b><span>{{.account.FollowingCount}}</span>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="toots">
|
|
{{ if .pinned_statuses }}
|
|
<div class="col-header">
|
|
<h3>Pinned posts</h3>
|
|
<a href="#recent">jump to recent</a>
|
|
</div>
|
|
<section class="thread">
|
|
{{ range .pinned_statuses }}
|
|
<article class="toot expanded" id="{{.ID}}">
|
|
{{ template "status.tmpl" .}}
|
|
</article>
|
|
{{ end }}
|
|
</section>
|
|
{{ end }}
|
|
|
|
<div class="col-header">
|
|
<h3 id="recent" tabindex="-1">Recent posts</h3>
|
|
{{ if .rssFeed }}
|
|
<a href="{{ .rssFeed }}" class="rss-icon" aria-label="RSS feed">
|
|
<i class="fa fa-rss-square" aria-hidden="true"></i>
|
|
</a>
|
|
{{ end }}
|
|
</div>
|
|
|
|
<section class="thread">
|
|
{{ if not .statuses }}
|
|
<div data-nosnippet class="nothinghere">Nothing here!</div>
|
|
{{ else }}
|
|
{{ range .statuses }}
|
|
<article class="toot expanded" id="{{.ID}}">
|
|
{{ template "status.tmpl" .}}
|
|
</article>
|
|
{{ end }}
|
|
{{ end }}
|
|
</section>
|
|
|
|
<div class="backnextlinks">
|
|
{{ if .show_back_to_top }}
|
|
<a href="/@{{ .account.Username }}">Back to top</a>
|
|
{{ end }}
|
|
{{ if .statuses_next }}
|
|
<a href="{{ .statuses_next }}" class="next">Show older</a>
|
|
{{ end }}
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</main>
|
|
|
|
{{ template "footer.tmpl" .}} |