diff options
| author | 2025-03-26 16:59:39 +0100 | |
|---|---|---|
| committer | 2025-03-26 15:59:39 +0000 | |
| commit | b6e481d63eec15191f2717957682c13ee8a68308 (patch) | |
| tree | 03cb9fc8bcb5f9eefddee754ad64b9de10c44c39 /web/template/profile.tmpl | |
| parent | [chore] bumps our spf13/viper version (#3943) (diff) | |
| download | gotosocial-b6e481d63eec15191f2717957682c13ee8a68308.tar.xz | |
[feature] Allow user to choose "gallery" style layout for web view of profile (#3917)
* [feature] Allow user to choose "gallery" style web layout
* find a bug and squish it up and all day long you'll have good luck
* just a sec
* [performance] reindex public timeline + tinker with query a bit
* fiddling
* should be good now
* last bit of finagling, i'm done now i prommy
* panic normally
Diffstat (limited to 'web/template/profile.tmpl')
| -rw-r--r-- | web/template/profile.tmpl | 197 |
1 files changed, 6 insertions, 191 deletions
diff --git a/web/template/profile.tmpl b/web/template/profile.tmpl index 6b486eb74..d7d24cb64 100644 --- a/web/template/profile.tmpl +++ b/web/template/profile.tmpl @@ -17,200 +17,15 @@ // along with this program. If not, see <http://www.gnu.org/licenses/>. */ -}} -{{- define "profileMovedTo" -}} -{{- with .account.Moved }} -<div class="moved-to"> - <b> - ℹ️ This account has permanently moved to - <a - href="{{ .URL }}" - class="nounderline" - rel="nofollow noreferrer noopener" - target="_blank" - > - @{{ .Username }} - </a> - </b> -</div> -{{- end }} -{{- end -}} - -{{- define "defaultAvatarDimension" -}} -{{- /* 136 is the default width/height for 8.5rem avatars, double it to get a good look when expanded. */ -}} -272 -{{- end -}} - -{{- define "avatarWidth" -}} -{{- with .account }} - {{- if isNil .AvatarAttachment -}} - {{- template "defaultAvatarDimension" . -}} - {{- else -}} - {{- /* Use the avatar's proper dimensions. */ -}} - {{- .AvatarAttachment.Meta.Original.Width -}} - {{- end -}} -{{- end }} -{{- end -}} - -{{- define "avatarHeight" -}} -{{- with .account }} - {{- if isNil .AvatarAttachment -}} - {{- template "defaultAvatarDimension" . -}} - {{- else -}} - {{- /* Use the avatar's proper dimensions. */ -}} - {{- .AvatarAttachment.Meta.Original.Height -}} - {{- end -}} -{{- end }} -{{- end -}} - -{{- define "avatarAlt" -}} - Avatar for {{ .account.Username -}} - {{- if .account.AvatarDescription }} - {{- /* Add the avatar's image description. */ -}} - : {{ .account.AvatarDescription -}} - {{- end -}} -{{- end -}} - -{{- define "headerAlt" -}} - Header for {{ .account.Username -}} - {{- if .account.HeaderDescription }} - {{- /* Add the header's image description. */ -}} - : {{ .account.HeaderDescription -}} - {{- end -}} -{{- end -}} - -{{- define "avatar" -}} -{{- with . }} -<div - class="media photoswipe-gallery odd single avatar-image-wrapper" - role="group" -> - <a - class="photoswipe-slide" - href="{{- .account.Avatar -}}" - target="_blank" - data-pswp-width="{{- template "avatarWidth" . -}}px" - data-pswp-height="{{- template "avatarHeight" . -}}px" - data-cropped="true" - alt="{{- template "avatarAlt" . -}}" - title="{{- template "avatarAlt" . -}}" - > - <picture - aria-hidden="true" - > - {{- if .account.AvatarAttachment }} - <source - class="avatar" - srcset="{{- .account.AvatarStatic -}}" - type="{{- .account.AvatarAttachment.PreviewMIMEType -}}" - media="(prefers-reduced-motion: reduce)" - /> - {{- end }} - <img - class="avatar u-photo" - src="{{- .account.Avatar -}}" - alt="{{- template "avatarAlt" . -}}" - title="{{- template "avatarAlt" . -}}" - width="{{- template "avatarWidth" . -}}" - height="{{- template "avatarHeight" . -}}" - /> - </picture> - </a> -</div> -{{- end }} -{{- end -}} - {{- with . }} <main class="profile h-card"> - <h2 class="sr-only">Profile for {{ .account.Username -}}</h2> - <section class="profile-header" role="region" aria-label="Basic info"> - {{- if .account.Moved }} - {{- include "profileMovedTo" . | indent 2 }} - {{- end }} - <div class="header-image-wrapper"> - <picture> - {{- if .account.HeaderAttachment }} - <source - srcset="{{- .account.HeaderStatic -}}" - type="{{- .account.HeaderAttachment.PreviewMIMEType -}}" - media="(prefers-reduced-motion: reduce)" - /> - {{- end }} - <img - src="{{- .account.Header -}}" - alt="{{- template "headerAlt" . -}}" - title="{{- template "headerAlt" . -}}" - /> - </picture> - </div> - <div class="basic-info"> - {{- with . }} - {{- include "avatar" . | indent 3 }} - {{- end }} - <dl class="namerole"> - <dt class="sr-only">Display name</dt> - <dd class="displayname text-cutoff p-name"> - {{- if .account.DisplayName -}} - {{- emojify .account.Emojis (escape .account.DisplayName) -}} - {{- else -}} - {{- .account.Username -}} - {{- end -}} - </dd> - <div class="bot-username-wrapper"> - {{- if .account.Bot }} - <dt class="sr-only">Bot account</dt> - <dd> - <span class="sr-only">true</span> - <div - class="bot-legend-wrapper" - aria-hidden="true" - title="This is a bot account." - > - <i class="bot-icon fa fa-microchip"></i> - <span class="bot-legend">bot</span> - </div> - </dd> - {{- end }} - <dt class="sr-only">Username</dt> - <dd class="username text-cutoff p-nickname">@{{- .account.Username -}}@{{- .instance.AccountDomain -}}</dd> - </div> - {{- if .account.Roles }} - <dt class="sr-only">Role</dt> - {{- range .account.Roles }} - <dd class="role {{ .Name -}}">{{- .Name -}}</dd> - {{- end }} - {{- end }} - </dl> - <a class="u-url u-uid hidden" rel="me" href="/@{{- .account.Username -}}"></a> - </div> - </section> + {{- with . }} + {{- include "profile_header.tmpl" . | indent 1 }} + {{- end }} <div class="column-split"> - <section class="about-user" role="region" aria-labelledby="about-header"> - <div class="col-header"> - <h3 id="about-header">About<span class="sr-only"> {{- .account.Username -}}</span></h3> - </div> - {{- if .account.Fields }} - {{- include "profile_fields.tmpl" . | indent 3 }} - {{- end }} - <h4 class="sr-only">Bio</h4> - <div class="bio p-note"> - {{- if .account.Note }} - {{ emojify .account.Emojis (noescape .account.Note) }} - {{- else }} - <p>This GoToSocial user hasn't written a bio yet!</p> - {{- end }} - </div> - <h4 class="sr-only">Stats</h4> - <dl class="accountstats"> - <dt>Joined</dt> - <dd><time datetime="{{- .account.CreatedAt -}}">{{- .account.CreatedAt | timestampVague -}}</time></dd> - <dt>Posts</dt> - <dd>{{- .account.StatusesCount -}}</dd> - <dt>Followed by</dt> - <dd>{{- if .account.HideCollections -}}<i>hidden</i>{{- else -}}{{- .account.FollowersCount -}}{{- end -}}</dd> - <dt>Following</dt> - <dd>{{- if .account.HideCollections -}}<i>hidden</i>{{- else -}}{{- .account.FollowingCount -}}{{- end -}}</dd> - </dl> - </section> + {{- with . }} + {{- include "profile_about_user.tmpl" . | indent 2 }} + {{- end }} <div class="statuses-wrapper" role="region" aria-label="Posts by {{ .account.Username -}}"> {{- if .pinned_statuses }} <section class="pinned statuses h-feed" aria-labelledby="pinned"> |
