<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> <% } %>