bb0f4bfa62
* Fix wrapping when too many hosts are shown (#207) * Update npm packages, fixes CVE-2019-10757 * Revert some breaking packages * Major overhaul - Docker buildx support in CI - Cypress API Testing in CI - Restructured folder layout (insert clean face meme) - Added Swagger documentation and validate API against that (to be completed) - Use common base image for all supported archs, which includes updated nginx with ipv6 support - Updated certbot and changes required for it - Large amount of Hosts names will wrap in UI - Updated packages for frontend - Version bump 2.1.0 * Updated documentation * Fix JWT expire time going crazy. Now set to 1day * Backend JS formatting rules * Remove v1 importer, I doubt anyone is using v1 anymore * Added backend formatting rules and enforce them in Jenkins builds * Fix CI, doesn't need a tty * Thanks bcrypt. Why can't you just be normal. * Cleanup after syntax check Co-authored-by: Marcelo Castagna <margaale@users.noreply.github.com>
52 lines
2.1 KiB
Plaintext
52 lines
2.1 KiB
Plaintext
<td class="text-center">
|
|
<div class="avatar d-block" style="background-image: url(<%- owner.avatar || '/images/default-avatar.jpg' %>)" title="Owned by <%- owner.name %>">
|
|
<span class="avatar-status <%- owner.is_disabled ? 'bg-red' : 'bg-green' %>"></span>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div class="text-monospace">
|
|
<%- incoming_port %>
|
|
</div>
|
|
<div class="small text-muted">
|
|
<%- i18n('str', 'created-on', {date: formatDbDate(created_on, 'Do MMMM YYYY')}) %>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div class="text-monospace"><%- forward_ip %>:<%- forwarding_port %></div>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<% if (tcp_forwarding) { %>
|
|
<span class="tag"><%- i18n('streams', 'tcp') %></span>
|
|
<% }
|
|
if (udp_forwarding) { %>
|
|
<span class="tag"><%- i18n('streams', 'udp') %></span>
|
|
<% } %>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<%
|
|
var o = isOnline();
|
|
if (!enabled) { %>
|
|
<span class="status-icon bg-warning"></span> <%- i18n('str', 'disabled') %>
|
|
<% } else if (o === true) { %>
|
|
<span class="status-icon bg-success"></span> <%- i18n('str', 'online') %>
|
|
<% } else if (o === false) { %>
|
|
<span title="<%- getOfflineError() %>"><span class="status-icon bg-danger"></span> <%- i18n('str', 'offline') %></span>
|
|
<% } else { %>
|
|
<span class="status-icon bg-warning"></span> <%- i18n('str', 'unknown') %>
|
|
<% } %>
|
|
</td>
|
|
<% if (canManage) { %>
|
|
<td class="text-right">
|
|
<div class="item-action dropdown">
|
|
<a href="#" data-toggle="dropdown" class="icon"><i class="fe fe-more-vertical"></i></a>
|
|
<div class="dropdown-menu dropdown-menu-right">
|
|
<a href="#" class="edit dropdown-item"><i class="dropdown-icon fe fe-edit"></i> <%- i18n('str', 'edit') %></a>
|
|
<a href="#" class="able dropdown-item"><i class="dropdown-icon fe fe-power"></i> <%- i18n('str', enabled ? 'disable' : 'enable') %></a>
|
|
<div class="dropdown-divider"></div>
|
|
<a href="#" class="delete dropdown-item"><i class="dropdown-icon fe fe-trash-2"></i> <%- i18n('str', 'delete') %></a>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<% } %> |