Merge branch 'develop' into activitypub

This commit is contained in:
Barış Soner Uşaklı
2024-11-14 10:53:51 -05:00
408 changed files with 3110 additions and 618 deletions

View File

@@ -53,9 +53,7 @@
<div class="col-lg-9">
<div class="tab-content">
<div class="tab-pane fade" id="trending">
{{{ if !trending.length }}}
<!-- IMPORT admin/partials/plugins/no-plugins.tpl -->
{{{ end }}}
<div class="alert alert-info no-plugins {{{ if !trending.length }}}hide{{{ end }}}">[[admin/extend/plugins:none-found]]</div>
<ul class="trending list-unstyled">
{{{ each trending }}}
<!-- IMPORT admin/partials/installed_plugin_item.tpl -->

View File

@@ -81,6 +81,8 @@
<li><a class="dropdown-item rounded-1" href="#" data-action="create" role="menuitem">[[admin/manage/users:create]]</a></li>
{{{ if showInviteButton }}}<li><a class="dropdown-item rounded-1" href="#" component="user/invite" role="menuitem">[[admin/manage/users:invite]]</a></li>{{{ end }}}
<li><a target="_blank" href="#" class="dropdown-item rounded-1 export-csv" role="menuitem">[[admin/manage/users:download-csv]]</a></li>
<li><a class="dropdown-item rounded-1" href="{relative_path}/admin/manage/users/custom-fields">[[admin/manage/users:custom-user-fields]]</a>
</li>
</ul>
</div>
</div>

View File

@@ -0,0 +1,60 @@
<div class="manage-users d-flex flex-column gap-2 px-lg-4 h-100">
<div class="d-flex border-bottom py-2 m-0 sticky-top acp-page-main-header align-items-center justify-content-between flex-wrap gap-2">
<div class="">
<h4 class="fw-bold tracking-tight mb-0">[[admin/manage/user-custom-fields:title]]</h4>
</div>
<div class="d-flex align-items-center gap-1">
<button id="new" class="btn btn-light btn-sm text-nowrap" type="button">
<i class="fa fa-fw fa-plus"></i> [[admin/manage/user-custom-fields:create-field]]
</button>
<button id="save" class="btn btn-primary btn-sm fw-semibold ff-secondary w-100 text-center text-nowrap">[[admin/admin:save-changes]]</button>
</div>
</div>
<div class="row flex-grow-1">
<div class="col-lg-12 d-flex flex-column gap-2">
<div class="table-responsive flex-grow-1">
<table class="table text-sm">
<thead>
<tr>
<th></th>
<th class="text-muted">[[admin/manage/user-custom-fields:key]]</th>
<th class="text-muted">[[admin/manage/user-custom-fields:name]]</th>
<th class="text-muted">[[admin/manage/user-custom-fields:type]]</th>
<th class="text-muted text-end">[[admin/manage/user-custom-fields:min-rep]]</th>
<th></th>
</tr>
</thead>
<tbody>
{{{ each fields }}}
<tr data-key="{./key}" data-name="{./name}" data-icon="{./icon}" data-type="{./type}" data-min-rep="{./min:rep}" data-select-options="{./select-options}" class="align-middle">
<td style="width: 32px;">
<a href="#" component="sort/handle" class="btn btn-light btn-sm d-none d-md-block ui-sortable-handle" style="cursor:grab;"><i class="fa fa-arrows-up-down text-muted"></i></a>
</td>
<td class="text-nowrap">{./key}</td>
<td class="text-nowrap">{{{ if ./icon }}}<i class="text-muted {./icon}"></i> {{{ end }}}{./name}</td>
<td>
{./type}
{{{ if (./type == "select") }}}
<div class="text-muted">
({./selectOptionsFormatted})
</div>
{{{ end }}}
</td>
<td class="text-end">
{./min:rep}
</td>
<td>
<div class="d-flex justify-content-end gap-1">
<button data-action="edit" data-key="{./key}" class="btn btn-light btn-sm">[[admin/admin:edit]]</button>
<button data-action="delete" data-key="{./key}" class="btn btn-light btn-sm"><i class="fa fa-trash text-danger"></i></button>
</div>
</td>
</tr>
{{{ end }}}
</tbody>
</table>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,41 @@
<form>
<div class="mb-3">
<label class="form-label">[[admin/manage/user-custom-fields:type-of-input]]</label>
<select class="form-select" id="type-select" name="type">
<option value="input-text" {{{ if (type == "input-text") }}}selected{{{ end }}}>[[admin/manage/user-custom-fields:input-type-text]]</option>
<option value="input-link" {{{ if (type == "input-link") }}}selected{{{ end }}}>[[admin/manage/user-custom-fields:input-type-link]]</option>
<option value="input-number" {{{ if (type == "input-number") }}}selected{{{ end }}}>[[admin/manage/user-custom-fields:input-type-number]]</option>
<option value="select" {{{ if (type == "select") }}}selected{{{ end }}}>[[admin/manage/user-custom-fields:input-type-select]]</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">[[admin/manage/user-custom-fields:key]]</label>
<input class="form-control" type="text" name="key" value="{./key}">
</div>
<div class="mb-3">
<label class="form-label">[[admin/manage/user-custom-fields:name]]</label>
<input class="form-control" type="text" name="name" value="{./name}">
</div>
<div class="mb-3">
<label class="form-label">[[admin/manage/user-custom-fields:icon]]</label>
<div class=" d-flex gap-1">
<input class="form-control" type="text" name="icon" value="{./icon}">
<button id="icon-select" class="btn btn-light"><i class="fa fa-search text-primary"></i></button>
</div>
</div>
<div class="mb-3">
<label class="form-label">[[admin/manage/user-custom-fields:minimum-reputation]]</label>
<input class="form-control" type="number" name="min:rep" value="{./min:rep}" placeholder="0">
<p class="form-text">[[admin/manage/user-custom-fields:minimum-reputation-help]]</p>
</div>
<div class="mb-3 {{{ if (type != "select") }}}hidden{{{ end }}}" data-input-type="select">
<label class="form-label">[[admin/manage/user-custom-fields:select-options]]</label>
<textarea class="form-control" name="select-options" rows="6">{./select-options}</textarea>
<p class="form-text">[[admin/manage/user-custom-fields:select-options-help]]</p>
</div>
</form>