Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions templates/account/blocks.tpl
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<!-- IMPORT partials/account/header.tpl -->
<div class="d-flex justify-content-between mb-3">
<h3 class="fw-semibold fs-5">[[pages:account/blocks, {username}]]</h3>
<h3 class="fw-semibold fs-5">{{tx("pages:account/blocks", txEscape(username))}}</h3>
<div class="justify-content-end">
<div class="dropdown">
<div class="input-group">
<input class="form-control form-control-sm" type="text" id="user-search" placeholder="[[users:enter-username]]" data-bs-toggle="dropdown" autocomplete="off" aria-haspopup="true" aria-expanded="false"/>
<input class="form-control form-control-sm" type="text" id="user-search" placeholder="{{tx("users:enter-username")}}" data-bs-toggle="dropdown" autocomplete="off" aria-haspopup="true" aria-expanded="false"/>

<ul component="blocks/search/list" class="dropdown-menu dropdown-menu-end p-1 text-sm block-edit overflow-auto" style="max-height:300px;" role="menu">
<li component="blocks/start-typing">
<a href="#" class="dropdown-item rounded-1" role="menuitem">[[admin/menu:search.start-typing]]</a>
<a href="#" class="dropdown-item rounded-1" role="menuitem">{{tx("admin/menu:search.start-typing")}}</a>
</li>
<li component="blocks/no-users" class="hidden">
<a href="#" class="dropdown-item rounded-1" role="menuitem">[[users:no-users-found]]</a>
<a href="#" class="dropdown-item rounded-1" role="menuitem">{{tx("users:no-users-found")}}</a>
</li>
{{{ each edit }}}
<li component="blocks/search/match">
Expand All @@ -20,8 +20,8 @@
<a href="{config.relative_path}/uid/{./uid}" class="text-decoration-none">{{buildAvatar(edit, "24px", true)}} {./username}</a>
</div>

<button class="btn btn-sm btn-outline-danger text-nowrap {{{ if ./isBlocked }}}hidden{{{ end }}}" data-uid="{./uid}" data-action="block">[[user:block-user]]</button>
<button class="btn btn-sm btn-outline-primary text-nowrap {{{ if !./isBlocked }}}hidden{{{ end }}}" data-uid="{./uid}" data-action="unblock">[[user:unblock-user]]</button>
<button class="btn btn-sm btn-outline-danger text-nowrap {{{ if ./isBlocked }}}hidden{{{ end }}}" data-uid="{./uid}" data-action="block">{{tx("user:block-user")}}</button>
<button class="btn btn-sm btn-outline-primary text-nowrap {{{ if !./isBlocked }}}hidden{{{ end }}}" data-uid="{./uid}" data-action="unblock">{{tx("user:unblock-user")}}</button>
</div>
</li>
{{{ end }}}
Expand Down
18 changes: 9 additions & 9 deletions templates/account/categories.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -8,43 +8,43 @@
<div class="d-flex gap-1">
<div class="dropdown bottom-sheet" component="category/watch/all">
<button class="btn btn-ghost btn-sm ff-secondary fw-semibold dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" type="button">
<span>[[user:change-all]]</span>
<span>{{tx("user:change-all")}}</span>
</button>
<ul class="dropdown-menu p-1 text-sm dropdown-menu-end" role="menu">
<li>
<a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/watching" data-state="watching" role="menuitem">
<div class="d-flex align-items-center gap-2">
<i class="flex-shrink-0 fa fa-fw fa-bell-o"></i>
<span class="flex-grow-1 fw-semibold">[[category:watching]]</span>
<span class="flex-grow-1 fw-semibold">{{tx("category:watching")}}</span>
</div>
<div class="help-text text-muted text-xs">[[category:watching.description]]</div>
<div class="help-text text-muted text-xs">{{tx("category:watching.description")}}</div>
</a>
</li>
<li>
<a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/tracking" data-state="tracking" role="menuitem">
<div class="d-flex align-items-center gap-2">
<i class="flex-shrink-0 fa fa-fw fa-inbox"></i>
<span class="flex-grow-1 fw-semibold">[[category:tracking]]</span>
<span class="flex-grow-1 fw-semibold">{{tx("category:tracking")}}</span>
</div>
<div class="help-text text-muted text-xs">[[category:tracking.description]]</div>
<div class="help-text text-muted text-xs">{{tx("category:tracking.description")}}</div>
</a>
</li>
<li>
<a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/notwatching" data-state="notwatching" role="menuitem">
<div class="d-flex align-items-center gap-2">
<i class="flex-shrink-0 fa fa-fw fa-clock-o"></i>
<span class="flex-grow-1 fw-semibold">[[category:not-watching]]</span>
<span class="flex-grow-1 fw-semibold">{{tx("category:not-watching")}}</span>
</div>
<div class="help-text text-muted text-xs">[[category:not-watching.description]]</div>
<div class="help-text text-muted text-xs">{{tx("category:not-watching.description")}}</div>
</a>
</li>
<li>
<a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/ignoring" data-state="ignoring" role="menuitem">
<div class="d-flex align-items-center gap-2">
<i class="flex-shrink-0 fa fa-fw fa-eye-slash"></i>
<span class="flex-grow-1 fw-semibold">[[category:ignoring]]</span>
<span class="flex-grow-1 fw-semibold">{{tx("category:ignoring")}}</span>
</div>
<div class="help-text text-muted text-xs">[[category:ignoring.description]]</div>
<div class="help-text text-muted text-xs">{{tx("category:ignoring.description")}}</div>
</a>
</li>
</ul>
Expand Down
42 changes: 21 additions & 21 deletions templates/account/consent.tpl
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
<!-- IMPORT partials/account/header.tpl -->
<h3 class="fw-semibold fs-5">[[user:consent.title]]</h3>
<h3 class="fw-semibold fs-5">{{tx("user:consent.title")}}</h3>

<p class="lead">[[user:consent.lead]]</p>
<p>[[user:consent.intro]]</p>
<p class="lead">{{tx("user:consent.lead")}}</p>
<p>{{tx("user:consent.intro")}}</p>

<hr />

<div class="row">
<div class="col-sm-6">
{{{ if gdpr_consent }}}
<div class="alert alert-success d-flex gap-3">
[[user:consent.received]]
{{tx("user:consent.received")}}
<i class="fa fa-check fa-3x"></i>
</div>
{{{ else }}}
<div class="alert alert-warning">
[[user:consent.not-received]]
{{tx("user:consent.not-received")}}
<br /><br />
<div class="text-center">
<button class="btn btn-warning" data-action="consent">[[user:consent.give]]</button>
<button class="btn btn-warning" data-action="consent">{{tx("user:consent.give")}}</button>
</div>
</div>
{{{ end }}}
<div class="card">
<div class="card-body">
<p>[[user:consent.email-intro]]</p>
<p>{{tx("user:consent.email-intro")}}</p>
{{{ if digest.enabled }}}
<p>[[user:consent.digest-frequency, {digest.frequency}]]</p>
<p>{{tx("user:consent.digest-frequency", digest.frequency)}}</p>
{{{ else }}}
<p>[[user:consent.digest-off]]</p>
<p>{{tx("user:consent.digest-off")}}</p>
{{{ end }}}

<div class="d-grid">
<a class="btn btn-outline-secondary" href="./settings">
<i class="fa fa-cog"></i>
[[pages:account/settings]]
{{tx("pages:account/settings")}}
</a>
</div>
</div>
Expand All @@ -43,27 +43,27 @@
<div class="col-sm-6">
<div class="card">
<div class="card-body">
<p><strong>[[user:consent.right-of-access]]</strong></p>
<p>[[user:consent.right-of-access-description]]</p>
<p><strong>[[user:consent.right-to-rectification]]</strong></p>
<p>[[user:consent.right-to-rectification-description]]</p>
<p><strong>[[user:consent.right-to-erasure]]</strong></p>
<p>[[user:consent.right-to-erasure-description]]</p>
<p><strong>[[user:consent.right-to-data-portability]]</strong></p>
<p>[[user:consent.right-to-data-portability-description]]</p>
<p><strong>{{tx("user:consent.right-of-access")}}</strong></p>
<p>{{tx("user:consent.right-of-access-description")}}</p>
<p><strong>{{tx("user:consent.right-to-rectification")}}</strong></p>
<p>{{tx("user:consent.right-to-rectification-description")}}</p>
<p><strong>{{tx("user:consent.right-to-erasure")}}</strong></p>
<p>{{tx("user:consent.right-to-erasure-description")}}</p>
<p><strong>{{tx("user:consent.right-to-data-portability")}}</strong></p>
<p>{{tx("user:consent.right-to-data-portability-description")}}</p>

<hr />

{{{ if canExport }}}
<div class="d-grid gap-2">
<a data-action="export-profile" class="btn btn-outline-secondary">
<i class="fa fa-download"></i> [[user:consent.export-profile]]
<i class="fa fa-download"></i> {{tx("user:consent.export-profile")}}
</a>
<a data-action="export-posts" class="btn btn-outline-secondary">
<i class="fa fa-download"></i> [[user:consent.export-posts]]
<i class="fa fa-download"></i> {{tx("user:consent.export-posts")}}
</a>
<a data-action="export-uploads" class="btn btn-outline-secondary">
<i class="fa fa-download"></i> [[user:consent.export-uploads]]
<i class="fa fa-download"></i> {{tx("user:consent.export-uploads")}}
</a>
</div>
{{{ end }}}
Expand Down
44 changes: 22 additions & 22 deletions templates/account/edit.tpl
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
<!-- IMPORT partials/account/header.tpl -->

<div class="d-flex justify-content-between py-1 mb-3 align-items-center position-sticky top-0 bg-body z-1">
<h3 class="fw-semibold fs-5 mb-0">{{{ if isSelf }}}[[user:edit-profile]]{{{ else }}}[[pages:account/edit, {username}]]{{{ end }}}</h3>
<button id="submitBtn" class="btn btn-sm btn-primary">[[global:save-changes]]</button>
<h3 class="fw-semibold fs-5 mb-0">{{{ if isSelf }}}{{tx("user:edit-profile")}}{{{ else }}}{{tx("pages:account/edit", txEscape(username))}}{{{ end }}}</h3>
<button id="submitBtn" class="btn btn-sm btn-primary">{{tx("global:save-changes")}}</button>
</div>
<div class="row">
<div class="col-xl-6 col-12">
<form role="form" component="profile/edit/form">
<div class="mb-3">
<label class="form-label fw-bold" for="fullname">[[user:fullname]]</label>
<input class="form-control" type="text" id="fullname" name="fullname" placeholder="[[user:fullname]]" value="{fullname}">
<label class="form-label fw-bold" for="fullname">{{tx("user:fullname")}}</label>
<input class="form-control" type="text" id="fullname" name="fullname" placeholder="{{tx("user:fullname")}}" value="{fullname}">
</div>

<div class="mb-3">
<label class="form-label fw-bold" for="birthday">[[user:birthday]]</label>
<label class="form-label fw-bold" for="birthday">{{tx("user:birthday")}}</label>
<input class="form-control" type="date" id="birthday" name="birthday" value="{birthday}" placeholder="mm/dd/yyyy">
</div>

Expand Down Expand Up @@ -44,18 +44,18 @@

{{{ if groups.length }}}
<div class="mb-3">
<label class="form-label fw-bold" for="groupTitle">[[user:grouptitle]]</label>
<label class="form-label fw-bold" for="groupTitle">{{tx("user:grouptitle")}}</label>

<div class="d-flex flex-column gap-2" component="group/badge/list">
{{{ each groups }}}
<div component="group/badge/item" class="d-flex gap-2 justify-content-between align-items-center" data-value="{./displayName}" data-selected="{./selected}">
<!-- IMPORT partials/groups/badge.tpl -->
<div class="d-flex gap-1">
<button component="group/toggle/hide" type="button" class="btn btn-ghost btn-sm {{{ if !./selected }}}hidden{{{ end }}}" title="[[user:hide-group-title]]"><i class="fa fa-fw fa-eye"></i></button>
<button component="group/toggle/show" type="button" class="btn btn-ghost btn-sm {{{ if ./selected }}}hidden{{{ end }}}" title="[[user:show-group-title]]"><i class="fa fa-fw fa-eye-slash"></i></button>
<button component="group/toggle/hide" type="button" class="btn btn-ghost btn-sm {{{ if !./selected }}}hidden{{{ end }}}" title="{{tx("user:hide-group-title")}}"><i class="fa fa-fw fa-eye"></i></button>
<button component="group/toggle/show" type="button" class="btn btn-ghost btn-sm {{{ if ./selected }}}hidden{{{ end }}}" title="{{tx("user:show-group-title")}}"><i class="fa fa-fw fa-eye-slash"></i></button>
{{{ if allowMultipleBadges }}}
<button component="group/order/up" type="button" class="btn btn-ghost btn-sm" title="[[user:order-group-up]]"><i class="fa fa-fw fa-chevron-up"></i></button>
<button component="group/order/down" type="button" class="btn btn-ghost btn-sm" title="[[user:order-group-down]]"><i class="fa fa-fw fa-chevron-down"></i></button>
<button component="group/order/up" type="button" class="btn btn-ghost btn-sm" title="{{tx("user:order-group-up")}}"><i class="fa fa-fw fa-chevron-up"></i></button>
<button component="group/order/down" type="button" class="btn btn-ghost btn-sm" title="{{tx("user:order-group-down")}}"><i class="fa fa-fw fa-chevron-down"></i></button>
{{{ end }}}
</div>
</div>
Expand All @@ -66,14 +66,14 @@

{{{ if allowAboutMe }}}
<div class="mb-3">
<label class="form-label fw-bold" for="aboutme">[[user:aboutme]]</label> <small><label id="aboutMeCharCountLeft"></label></small>
<label class="form-label fw-bold" for="aboutme">{{tx("user:aboutme")}}</label> <small><label id="aboutMeCharCountLeft"></label></small>
<textarea class="form-control" id="aboutme" name="aboutme" rows="5">{aboutme}</textarea>
</div>
{{{ end }}}

{{{ if (allowSignature && !disableSignatures) }}}
<div class="mb-3">
<label class="form-label fw-bold" for="signature">[[user:signature]]</label> <small><label id="signatureCharCountLeft"></label></small>
<label class="form-label fw-bold" for="signature">{{tx("user:signature")}}</label> <small><label id="signatureCharCountLeft"></label></small>
<textarea class="form-control" id="signature" name="signature" rows="5">{signature}</textarea>
</div>
{{{ end }}}
Expand All @@ -85,41 +85,41 @@
<div class="text-center">
<ul class="list-group mb-3 text-sm text-nowrap">
{{{ if allowProfilePicture }}}
<li class="list-group-item"><a component="profile/change/picture" href="#" class="text-decoration-none text-reset">[[user:change-picture]]</a></li>
<li class="list-group-item"><a component="profile/change/picture" href="#" class="text-decoration-none text-reset">{{tx("user:change-picture")}}</a></li>
{{{ end }}}
{{{ if !username:disableEdit }}}
<li class="list-group-item"><a href="{config.relative_path}/user/{userslug}/edit/username" class="text-decoration-none text-reset">[[user:change-username]]</a></li>
<li class="list-group-item"><a href="{config.relative_path}/user/{userslug}/edit/username" class="text-decoration-none text-reset">{{tx("user:change-username")}}</a></li>
{{{ end }}}
{{{ if !email:disableEdit }}}
<li class="list-group-item"><a href="{config.relative_path}/user/{userslug}/edit/email" class="text-decoration-none text-reset">[[user:change-email]]</a></li>
<li class="list-group-item"><a href="{config.relative_path}/user/{userslug}/edit/email" class="text-decoration-none text-reset">{{tx("user:change-email")}}</a></li>
{{{ end }}}
{{{ if canChangePassword }}}
<li class="list-group-item"><a href="{config.relative_path}/user/{userslug}/edit/password" class="text-decoration-none text-reset">[[user:change-password]]</a></li>
<li class="list-group-item"><a href="{config.relative_path}/user/{userslug}/edit/password" class="text-decoration-none text-reset">{{tx("user:change-password")}}</a></li>
{{{ end }}}
{{{ each editButtons }}}
<li class="list-group-item"><a href="{config.relative_path}{./link}" class="text-decoration-none text-reset">{./text}</a></li>
<li class="list-group-item"><a href="{config.relative_path}{./link}" class="text-decoration-none text-reset">{{tx(./text)}}</a></li>
{{{ end }}}
</ul>

{{{ if config.requireEmailConfirmation }}}
{{{ if (email && isSelf) }}}
<a id="confirm-email" href="#" class="btn btn-warning {{{ if email:confirmed }}}hide{{{ end }}}">[[user:confirm-email]]</a><br/><br/>
<a id="confirm-email" href="#" class="btn btn-warning {{{ if email:confirmed }}}hide{{{ end }}}">{{tx("user:confirm-email")}}</a><br/><br/>
{{{ end }}}
{{{ end }}}
</div>

{{{ if sso.length }}}
<label class="form-label text-sm fw-semibold">[[user:sso.title]]</label>
<label class="form-label text-sm fw-semibold">{{tx("user:sso.title")}}</label>
<div class="list-group">
{{{ each sso }}}
<div class="list-group-item d-flex align-items-center justify-content-between">
<a class="text-sm text-reset text-decoration-none" data-component="{./component}" href="{{{ if ./url }}}{./url}{{{ else }}}#{{{ end }}}" target="{{{ if ./associated }}}_blank{{{ else }}}_top{{{ end }}}">
{{{ if ./icon }}}<i class="fa {./icon}"></i>{{{ end }}}
{{{ if ./associated }}}[[user:sso.associated]]{{{ else }}}[[user:sso.not-associated]]{{{ end }}}
{{{ if ./associated }}}{{tx("user:sso.associated")}}{{{ else }}}{{tx("user:sso.not-associated")}}{{{ end }}}
{./name}
</a>
{{{ if ./deauthUrl }}}
<a data-component="{./component}" class="btn btn-outline-secondary btn-sm" href="{./deauthUrl}">[[user:sso.dissociate]]</a>
<a data-component="{./component}" class="btn btn-outline-secondary btn-sm" href="{./deauthUrl}">{{tx("user:sso.dissociate")}}</a>
{{{ end }}}
</div>
{{{ end }}}
Expand All @@ -129,7 +129,7 @@
<hr/>
{{{ if (allowAccountDelete && isSelf) }}}
<div class="d-flex justify-content-center">
<button id="deleteAccountBtn" class="btn btn-danger">[[user:delete-account]]</button>
<button id="deleteAccountBtn" class="btn btn-danger">{{tx("user:delete-account")}}</button>
</div>
{{{ end }}}
</div>
Expand Down
16 changes: 8 additions & 8 deletions templates/account/edit/password.tpl
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
<!-- IMPORT partials/account/header.tpl -->

<h3 class="fw-semibold fs-5">{{{ if isSelf }}}[[user:change-password]]{{{ else }}}[[pages:{template.name}, {username}]]{{{ end }}}</h3>
<h3 class="fw-semibold fs-5">{{{ if isSelf }}}{{tx("user:change-password")}}{{{ else }}}{{tx("pages:account/edit/password", txEscape(username))}}{{{ end }}}</h3>
<div class="row">
<div class="col-12 col-lg-4">
<form class="edit-form">
<!-- disables autocomplete on FF --><input type="password" style="display:none">

{{{ if isSelf }}}
<div class="mb-3">
<label class="form-label fw-semibold text-sm" for="inputCurrentPassword">[[user:current-password]]</label>
<input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current-password]]" value="" {{{ if !hasPassword }}} disabled{{{ end }}}>
<label class="form-label fw-semibold text-sm" for="inputCurrentPassword">{{tx("user:current-password")}}</label>
<input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="{{tx("user:current-password")}}" value="" {{{ if !hasPassword }}} disabled{{{ end }}}>
</div>
{{{ end }}}

<div class="mb-3">
<label class="form-label fw-semibold text-sm" for="inputNewPassword">[[user:new-password]]</label>
<input class="form-control" type="password" id="inputNewPassword" placeholder="[[user:password]]" value="">
<label class="form-label fw-semibold text-sm" for="inputNewPassword">{{tx("user:new-password")}}</label>
<input class="form-control" type="password" id="inputNewPassword" placeholder="{{tx("user:password")}}" value="">
<span class="form-text" id="password-notify"></span>
</div>

<div class="mb-3">
<label class="form-label fw-semibold text-sm" for="inputNewPasswordAgain">[[user:confirm-password]]</label>
<input class="form-control" type="password" id="inputNewPasswordAgain" placeholder="[[user:confirm-password]]" value="">
<label class="form-label fw-semibold text-sm" for="inputNewPasswordAgain">{{tx("user:confirm-password")}}</label>
<input class="form-control" type="password" id="inputNewPasswordAgain" placeholder="{{tx("user:confirm-password")}}" value="">
<span class="form-text" id="password-confirm-notify"></span>
</div>

<div class="form-actions">
<button id="changePasswordBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change-password]]</button>
<button id="changePasswordBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> {{tx("user:change-password")}}</button>
</div>
</form>
</div>
Expand Down
Loading