ACP quick actions (#6374)

* ACP quick actions

- Moved restart, build & restart, and logout into separate buttons
- Moved buttons on mobile into the side menu
- Added version and upgrade alert to header / mobile menu
- Moved version checking to server-side with a cache for rate limiting
- Changed "reload" translations to "rebuild and restart"

* Change info alert to black-on-white to match focused search bar

* Fix tests

* Fallback for failed fetch of latest version
This commit is contained in:
Peter Jaszkowiak
2018-03-20 06:32:17 -06:00
committed by Julian Lam
parent 81e085bb9d
commit eaae5b52cd
14 changed files with 229 additions and 103 deletions

View File

@@ -65,8 +65,27 @@
<div class="panel panel-default">
<div class="panel-heading">[[admin/general/dashboard:updates]]</div>
<div class="panel-body">
<div class="alert alert-info version-check">
<div class="alert <!-- IF lookupFailed -->alert-danger<!-- ELSE --><!-- IF upgradeAvailable -->alert-warning<!-- ELSE --><!-- IF currentPrerelease -->alert-info<!-- ELSE -->alert-success<!-- END --><!-- END --><!-- END --> version-check">
<p>[[admin/general/dashboard:running-version, {version}]]</p>
<p>
<!-- IF lookupFailed -->
[[admin/general/dashboard:latest-lookup-failed]]
<!-- ELSE -->
<!-- IF upgradeAvailable -->
<!-- IF currentPrerelease -->
[[admin/general/dashboard:prerelease-upgrade-available, {latestVersion}]]
<!-- ELSE -->
[[admin/general/dashboard:upgrade-available, {latestVersion}]]
<!-- END -->
<!-- ELSE -->
<!-- IF currentPrerelease -->
[[admin/general/dashboard:prerelease-warning]]
<!-- ELSE -->
[[admin/general/dashboard:up-to-date]]
<!-- END -->
<!-- END -->
<!-- END -->
</p>
</div>
<p>
[[admin/general/dashboard:keep-updated]]

View File

@@ -1,8 +1,18 @@
<nav id="menu" class="hidden-md hidden-lg">
<section class="menu-section quick-actions">
<ul class="menu-section-list">
<div class="button-group">
<!-- IMPORT admin/partials/quick_actions/buttons.tpl -->
</div>
<!-- IMPORT admin/partials/quick_actions/alerts.tpl -->
</ul>
</section>
<section class="menu-section">
<h3 class="menu-section-title">[[admin/menu:section-general]]</h3>
<ul class="menu-section-list">
<a href="{relative_path}/admin/general/dashboard">[[admin/menu:general/dashboard]]</a>
<li><a href="{relative_path}/admin/general/dashboard">[[admin/menu:general/dashboard]]</a></li>
<li><a href="{relative_path}/admin/general/homepage">[[admin/menu:general/homepage]]</a></li>
<li><a href="{relative_path}/admin/general/navigation">[[admin/menu:general/navigation]]</a></li>
<li><a href="{relative_path}/admin/general/languages">[[admin/menu:general/languages]]</a></li>
@@ -119,37 +129,11 @@
<h1 id="main-page-title"></h1>
</div>
<ul id="user_label" class="pull-right">
<li class="dropdown pull-right">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" id="user_dropdown">
<i class="fa fa-fw fa-ellipsis-v"></i>
</a>
<ul id="user-control-list" class="dropdown-menu" aria-labelledby="user_dropdown">
<li>
<a href="#" class="reload" title="[[admin/menu:reload-forum]]">
[[admin/menu:reload-forum]]
</a>
</li>
<li>
<a href="#" class="restart" title="[[admin/menu:restart-forum]]">
[[admin/menu:restart-forum]]
</a>
</li>
<li role="presentation" class="divider"></li>
<li component="logout">
<a href="#">[[admin/menu:logout]]</a>
</li>
</ul>
</li>
<li class="pull-right">
<a href="{config.relative_path}/">
<i class="fa fa-fw fa-home" title="[[admin/menu:view-forum]]"></i>
</a>
</li>
<form class="pull-right hidden-sm hidden-xs" role="search">
<div class="" id="acp-search" >
<ul class="quick-actions hidden-xs hidden-sm">
<!-- IMPORT admin/partials/quick_actions/buttons.tpl -->
<form role="search">
<div id="acp-search" >
<div class="dropdown">
<input type="text" autofocus data-toggle="dropdown" class="form-control" placeholder="[[admin/menu:search.placeholder]]">
<ul class="dropdown-menu dropdown-menu-right state-start-typing" role="menu">
@@ -172,7 +156,17 @@
</div>
</div>
</form>
<!-- IMPORT admin/partials/quick_actions/alerts.tpl -->
<li class="reconnect-spinner">
<a href="#" id="reconnect" class="hide" title="[[admin/menu:connection-lost, {title}]]">
<i class="fa fa-check"></i>
</a>
</li>
</ul>
<ul id="main-menu">
<li class="menu-item">
<a href="{relative_path}/admin/general/dashboard">[[admin/menu:general/dashboard]]</a>
@@ -281,12 +275,4 @@
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right hidden-xs reconnect-spinner">
<li>
<a href="#" id="reconnect" class="hide" title="[[admin/menu:connection-lost, {title}]]">
<i class="fa fa-check"></i>
</a>
</li>
</ul>
</nav>

View File

@@ -0,0 +1,10 @@
<div class="alert <!-- IF upgradeAvailable -->alert-warning<!-- ELSE -->alert-info<!-- END --> well-sm">
<span>[[admin/menu:alerts.version, {version}]]</span>
<!-- IF upgradeAvailable -->
<span style="margin-left: 10px">
<a href="https://docs.nodebb.org/configuring/upgrade/" target="_blank">
<u>[[admin/menu:alerts.upgrade, {latestVersion}]]</u>
</a>
</span>
<!-- END -->
</div>

View File

@@ -0,0 +1,21 @@
<li component="logout">
<a href="#" title="[[admin/menu:logout]]" data-placement="bottom" data-toggle="tooltip">
<i class="fa fw-fw fa-sign-out"></i>
</a>
</li>
<li>
<a href="#" class="restart" data-toggle="tooltip" data-placement="bottom" title="[[admin/menu:restart-forum]]">
<i class="fa fa-fw fa-repeat"></i>
</a>
</li>
<li>
<a href="#" class="reload" data-toggle="tooltip" data-placement="bottom" title="[[admin/menu:reload-forum]]">
<i class="fa fa-fw fa-refresh"></i>
</a>
</li>
<li>
<a href="{config.relative_path}/" data-toggle="tooltip" data-placement="bottom" title="[[admin/menu:view-forum]]">
<i class="fa fa-fw fa-home"></i>
</a>
</li>