some more acp pages

isekai-main
Barış Soner Uşaklı 2 years ago
parent 56ac610b6f
commit cf13dd8fbb

@ -1,4 +1,5 @@
{ {
"cache": "Cache",
"post-cache": "Post Cache", "post-cache": "Post Cache",
"group-cache": "Group Cache", "group-cache": "Group Cache",
"local-cache": "Local Cache", "local-cache": "Local Cache",

@ -1,4 +1,5 @@
{ {
"errors": "Errors",
"figure-x": "Figure %1", "figure-x": "Figure %1",
"error-events-per-day": "<code>%1</code> events per day", "error-events-per-day": "<code>%1</code> events per day",
"error.404": "404 Not Found", "error.404": "404 Not Found",

@ -1,4 +1,5 @@
{ {
"logger": "Logger",
"logger-settings": "Logger Settings", "logger-settings": "Logger Settings",
"description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.",
"explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.",

@ -1,55 +1,62 @@
<div class="row post-cache settings px-lg-4"> <div class="post-cache settings d-flex flex-column gap-2 px-lg-4">
<div class="col-lg-12"> <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="row"> <div class="">
{{{each caches}}} <h4 class="fw-bold tracking-tight mb-0">[[admin/advanced/cache:cache]]</h4>
<div class="col-xl-3"> </div>
<div class="card"> <div class="d-flex align-items-center">
<div class="card-header">[[admin/advanced/cache:{@key}-cache]]</div> <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 class="card-body"> </div>
<div class="form-check form-switch mb-3" data-name="{@key}"> </div>
<input class="form-check-input" type="checkbox" {{{if caches.enabled}}}checked{{{end}}}>
</div>
<div class="mb-3">{{{if ./length}}}{./length}{{{else}}}{./itemCount}{{{end}}} / {{{if ./max}}}{./max}{{{else}}}{./maxSize}{{{end}}}</div>
<div class="progress mb-3" style="height:20px;">
<div class="progress-bar" role="progressbar" aria-valuenow="{./percentFull}" aria-valuemin="0" aria-valuemax="100" style="width: {./percentFull}%;">
[[admin/advanced/cache:percent-full, {./percentFull}]]
</div>
</div>
<div class="mb-2">
<label>Hits:</label> <span>{./hits}</span>
</div>
<div class="mb-2">
<label>Misses:</label> <span>{./misses}</span>
</div>
<div class="mb-2">
<label>Hit Ratio:</label> <span>{./hitRatio}</span>
</div>
<div class="mb-2">
<label>Hits / Sec:</label> <span>{./hitsPerSecond}</span>
</div>
{{{if ./ttl}}} <div class="row px-2">
<div class="mb-2"> {{{each caches}}}
<label>TTL:</label> <span>{./ttl}</span> <div class="col-xl-3">
</div> <div class="card">
{{{end}}} <div class="card-header">[[admin/advanced/cache:{@key}-cache]]</div>
{{{if (@key == "post")}}} <div class="card-body">
<hr/> <div class="form-check form-switch mb-3" data-name="{@key}">
<div class="mb-3"> <input class="form-check-input" type="checkbox" {{{if caches.enabled}}}checked{{{end}}}>
<label for="postCacheSize">[[admin/advanced/cache:post-cache-size]]</label> </div>
<input id="postCacheSize" type="text" class="form-control" value="" data-field="postCacheSize">
<div class="mb-3">{{{if ./length}}}{./length}{{{else}}}{./itemCount}{{{end}}} / {{{if ./max}}}{./max}{{{else}}}{./maxSize}{{{end}}}</div>
<div class="progress mb-3" style="height:20px;">
<div class="progress-bar" role="progressbar" aria-valuenow="{./percentFull}" aria-valuemin="0" aria-valuemax="100" style="width: {./percentFull}%;">
[[admin/advanced/cache:percent-full, {./percentFull}]]
</div> </div>
{{{end}}}
<a href="{config.relative_path}/api/admin/advanced/cache/dump?name={@key}" class="btn btn-light btn-sm"><i class="fa fa-download"></i></a>
<a class="btn btn-sm btn-danger clear" data-name="{@key}"><i class="fa fa-trash"></i></a>
</div> </div>
<div class="mb-2">
<label>Hits:</label> <span>{./hits}</span>
</div>
<div class="mb-2">
<label>Misses:</label> <span>{./misses}</span>
</div>
<div class="mb-2">
<label>Hit Ratio:</label> <span>{./hitRatio}</span>
</div>
<div class="mb-2">
<label>Hits / Sec:</label> <span>{./hitsPerSecond}</span>
</div>
{{{if ./ttl}}}
<div class="mb-2">
<label>TTL:</label> <span>{./ttl}</span>
</div>
{{{end}}}
{{{if (@key == "post")}}}
<hr/>
<div class="mb-3">
<label for="postCacheSize">[[admin/advanced/cache:post-cache-size]]</label>
<input id="postCacheSize" type="text" class="form-control" value="" data-field="postCacheSize">
</div>
{{{end}}}
<a href="{config.relative_path}/api/admin/advanced/cache/dump?name={@key}" class="btn btn-light btn-sm"><i class="fa fa-download"></i></a>
<a class="btn btn-sm btn-danger clear" data-name="{@key}"><i class="fa fa-trash"></i></a>
</div> </div>
</div> </div>
{{{end}}}
</div> </div>
{{{end}}}
</div> </div>
</div> </div>
<!-- IMPORT admin/partials/save_button.tpl -->

@ -1,80 +1,74 @@
<div class="px-lg-4"> <div class="errors d-flex flex-column gap-2 px-lg-4">
<div class="row"> <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="col-lg-9"> <div class="">
<div class="row"> <h4 class="fw-bold tracking-tight mb-0">[[admin/advanced/errors:errors]]</h4>
<div class="col-sm-6 text-center"> </div>
<div class="card"> <div class="d-flex align-items-center gap-1">
<div class="card-body"> <a class="btn btn-sm btn-light text-nowrap" target="_top" href="{config.relative_path}/admin/advanced/errors/export">
<div><canvas id="not-found" height="250"></canvas></div> <i class="fa fa-download text-primary"></i> [[admin/advanced/errors:export-error-log]]
</div> </a>
<div class="card-footer"><small> <button class="btn btn-sm btn-light text-nowrap" data-action="clear">
<strong>[[admin/advanced/errors:figure-x, 1]]</strong> &ndash; <i class="fa fa-trash text-danger"></i> [[admin/advanced/errors:clear-error-log]]
[[admin/advanced/errors:error-events-per-day, [[admin/advanced/errors:error.404]]]] </button>
</small></div>
</div> </div>
</div> </div>
<div class="col-sm-6 text-center">
<div class="card"> <div class="px-2">
<div class="card-body"> <div class="row">
<div><canvas id="toobusy" height="250"></canvas></div> <div class="col-sm-6 text-center">
</div> <div class="card">
<div class="card-footer"><small> <div class="card-body">
<strong>[[admin/advanced/errors:figure-x, 2]]</strong> &ndash; <div><canvas id="not-found" height="250"></canvas></div>
[[admin/advanced/errors:error-events-per-day, [[admin/advanced/errors:error.503]]]]
</small></div>
</div> </div>
<div class="card-footer"><small>
<strong>[[admin/advanced/errors:figure-x, 1]]</strong> &ndash;
[[admin/advanced/errors:error-events-per-day, [[admin/advanced/errors:error.404]]]]
</small></div>
</div> </div>
</div> </div>
</div> <div class="col-sm-6 text-center">
<div class="col-lg-3 acp-sidebar"> <div class="card">
<div class="card"> <div class="card-body">
<div class="card-header">[[admin/advanced/errors:manage-error-log]]</div> <div><canvas id="toobusy" height="250"></canvas></div>
<div class="card-body">
<div class="d-grid gap-2" role="group">
<a class="btn btn-info" target="_top" href="{config.relative_path}/admin/advanced/errors/export">
<i class="fa fa-download"></i> [[admin/advanced/errors:export-error-log]]
</a>
<button class="btn btn-danger" data-action="clear">
<i class="fa fa-trash"></i> [[admin/advanced/errors:clear-error-log]]
</button>
</div> </div>
<div class="card-footer"><small>
<strong>[[admin/advanced/errors:figure-x, 2]]</strong> &ndash;
[[admin/advanced/errors:error-events-per-day, [[admin/advanced/errors:error.503]]]]
</small></div>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="row"> <div class="card">
<div class="col-12"> <div class="card-header">
<div class="card"> <i class="fa fa-exclamation-triangle"></i> [[admin/advanced/errors:error.404]]
<div class="card-header"> </div>
<i class="fa fa-exclamation-triangle"></i> [[admin/advanced/errors:error.404]] <div class="card-body">
</div> <div class="table-responsive">
<div class="card-body"> <table class="table text-sm">
<div class="table-responsive"> <thead>
<table class="table text-sm"> <th>[[admin/advanced/errors:route]]</th>
<thead> <th class="text-end">[[admin/advanced/errors:count]]</th>
<th>[[admin/advanced/errors:route]]</th> </thead>
<th>[[admin/advanced/errors:count]]</th> <tbody>
</thead> {{{ each not-found }}}
<tbody> <tr>
{{{ each not-found }}} <td>{./value}</td>
<tr> <td class="text-end">{./score}</td>
<td>{./value}</td> </tr>
<td>{./score}</td> {{{ end }}}
</tr> {{{ if !not-found.length }}}
{{{ end }}} <tr>
{{{ if !not-found.length }}} <td colspan="2">
<tr> <div class="alert alert-success">
<td colspan="2"> [[admin/advanced/errors:no-routes-not-found]]
<div class="alert alert-success"> </div>
[[admin/advanced/errors:no-routes-not-found]] </td>
</div> </tr>
</td> {{{ end }}}
</tr> </tbody>
{{{ end }}} </table>
</tbody>
</table>
</div>
</div> </div>
</div> </div>
</div> </div>

@ -54,18 +54,14 @@
<label class="form-label" for="perPage">[[admin/advanced/events:filter-perPage]]</label> <label class="form-label" for="perPage">[[admin/advanced/events:filter-perPage]]</label>
<input type="text" id="perPage" name="perPage" value="{query.perPage}" class="form-control" /> <input type="text" id="perPage" name="perPage" value="{query.perPage}" class="form-control" />
</div> </div>
<div class="d-grid"> <div class="d-grid gap-1">
<button type="submit" class="btn btn-primary" id="apply">[[admin/advanced/events:filters-apply]]</button> <button type="submit" class="btn btn-sm btn-light" id="apply"><i class="fa fa-filter text-primary"></i> [[admin/advanced/events:filters-apply]]</button>
<button class="btn btn-sm btn-light" data-action="clear">
<i class="fa fa-trash text-danger"></i> [[admin/advanced/events:delete-events]]
</button>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
<div class="card">
<div class="card-body d-grid">
<button class="btn btn-danger" data-action="clear">
<i class="fa fa-eraser"></i> [[admin/advanced/events:delete-events]]
</button>
</div>
</div>
</div> </div>
</div> </div>

@ -1,23 +1,21 @@
<div class="row logs px-lg-4"> <div class="logs settings d-flex flex-column gap-2 px-lg-4">
<div class="col-lg-9"> <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="card"> <div class="">
<div class="card-header"><i class="fa fa-file-text-o"></i> [[admin/advanced/logs:logs]]</div> <h4 class="fw-bold tracking-tight mb-0">[[admin/advanced/logs:logs]]</h4>
<div class="card-body"> </div>
<pre style="height: 600px;">{data}</pre> <div class="d-flex align-items-center gap-1">
</div> <button class="btn btn-sm btn-light text-nowrap" data-action="clear">
<i class="fa fa-trash text-danger"></i> [[admin/advanced/logs:clear]]
</button>
<button class="btn btn-sm btn-light text-nowrap" data-action="reload">
<i class="fa fa-refresh text-primary"></i> [[admin/advanced/logs:reload]]
</button>
</div> </div>
</div> </div>
<div class="col-lg-3 acp-sidebar">
<div class="card"> <div class="card">
<div class="card-header">[[admin/advanced/logs:control-panel]]</div> <div class="card-body">
<div class="card-body d-grid gap-2"> <pre style="height: 600px;">{data}</pre>
<button class="btn btn-primary" data-action="reload">
<i class="fa fa-refresh"></i> [[admin/advanced/logs:reload]]
</button>
<button class="btn btn-warning" data-action="clear">
<i class="fa fa-eraser"></i> [[admin/advanced/logs:clear]]
</button>
</div>
</div> </div>
</div> </div>
</div> </div>

@ -1,36 +1,37 @@
<div class="row logger settings px-lg-4"> <div class="logger settings d-flex flex-column gap-2 px-lg-4">
<div class="col-lg-12"> <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="card"> <div class="">
<div class="card-header">[[admin/development/logger:logger-settings]]</div> <h4 class="fw-bold tracking-tight mb-0">[[admin/development/logger:logger]]</h4>
<div class="card-body"> </div>
<p> <div class="d-flex align-items-center">
[[admin/development/logger:description]] <button id="save" class="btn btn-primary btn-sm fw-semibold ff-secondary w-100 text-center text-nowrap">[[admin/admin:save-changes]]</button>
</p> </div>
<br/> </div>
<p>
[[admin/development/logger:explanation]]
</p>
<br/>
<form> <div class="card-body">
<label> <p>
<input type="checkbox" data-field="loggerStatus"> <strong>[[admin/development/logger:enable-http]]</strong> [[admin/development/logger:description]]
</label> </p>
<br/> <br/>
<br/> <p>
[[admin/development/logger:explanation]]
</p>
<br/>
<label> <form>
<input type="checkbox" data-field="loggerIOStatus"> <strong>[[admin/development/logger:enable-socket]]</strong> <div class="form-check form-switch mb-3">
</label> <input class="form-check-input" type="checkbox" data-field="loggerStatus">
<br/> <label class="form-check-label">[[admin/development/logger:enable-http]]</label>
<br/> </div>
<label for="loggerPath">[[admin/development/logger:file-path]]</label> <div class="form-check form-switch mb-3">
<input id="loggerPath" class="form-control" type="text" placeholder="[[admin/development/logger:file-path-placeholder]]" data-field="loggerPath" /> <input class="form-check-input" type="checkbox" data-field="loggerIOStatus">
</form> <label class="form-check-label">[[admin/development/logger:enable-socket]]</label>
</div> </div>
</div>
<label class="form-label" for="loggerPath">[[admin/development/logger:file-path]]</label>
<input id="loggerPath" class="form-control" type="text" placeholder="[[admin/development/logger:file-path-placeholder]]" data-field="loggerPath" />
</form>
</div> </div>
</div> </div>
<!-- IMPORT admin/partials/save_button.tpl -->

Loading…
Cancel
Save