discourse/app/assets/javascripts/admin/addon/templates/components/ip-lookup.hbs

85 lines
3.2 KiB
Handlebars

{{#if this.ip}}
<DButton @class="btn-default" @action={{action "lookup"}} @icon="globe" @label="admin.user.ip_lookup" />
{{/if}}
{{#if this.show}}
<div class="location-box">
<a href class="close pull-right" {{on "click" this.hide}}>{{d-icon "times"}}</a>
{{#if this.copied}}
<DButton @class="btn-hover pull-right" @icon="copy" @label="ip_lookup.copied" />
{{else}}
<DButton @action={{action "copy"}} @class="pull-right no-text" @icon="copy" />
{{/if}}
<h4>{{i18n "ip_lookup.title"}}</h4>
<p class="powered-by">{{html-safe (i18n "ip_lookup.powered_by")}}</p>
<dl>
{{#if this.location}}
{{#if this.location.hostname}}
<dt>{{i18n "ip_lookup.hostname"}}</dt>
<dd>{{this.location.hostname}}</dd>
{{/if}}
<dt>{{i18n "ip_lookup.location"}}</dt>
<dd>
{{#if this.location.location}}
<a href="https://maps.google.com/maps?q={{this.location.latitude}},{{this.location.longitude}}" rel="noopener noreferrer" target="_blank">
{{this.location.location}}
</a>
{{else}}
{{i18n "ip_lookup.location_not_found"}}
{{/if}}
</dd>
{{#if this.location.organization}}
<dt>{{i18n "ip_lookup.organisation"}}</dt>
<dd>{{this.location.organization}}</dd>
{{/if}}
{{else}}
{{loading-spinner size="small"}}
{{/if}}
<dt>
{{i18n "ip_lookup.other_accounts"}}
<strong>{{this.totalOthersWithSameIP}}</strong>
{{#if this.other_accounts.length}}
<DButton @class="btn-danger pull-right" @action={{action "deleteOtherAccounts"}} @icon="exclamation-triangle" @translatedLabel={{i18n "ip_lookup.delete_other_accounts" count=this.otherAccountsToDelete}} />
{{/if}}
</dt>
<ConditionalLoadingSpinner @size="small" @condition={{this.otherAccountsLoading}}>
{{#if this.other_accounts.length}}
<dd class="other-accounts">
<table class="table table-condensed table-hover">
<thead>
<tr>
<th>{{i18n "ip_lookup.username"}}</th>
<th>{{i18n "ip_lookup.trust_level"}}</th>
<th>{{i18n "ip_lookup.read_time"}}</th>
<th>{{i18n "ip_lookup.topics_entered"}}</th>
<th>{{i18n "ip_lookup.post_count"}}</th>
</tr>
</thead>
<tbody>
{{#each this.other_accounts as |a|}}
<tr>
<td>
<LinkTo @route="adminUser" @model={{a}}>
{{avatar a usernamePath="user.username" imageSize="small"}}
&nbsp;
<span>{{a.username}}</span>
</LinkTo>
</td>
<td>{{a.trustLevel.id}}</td>
<td>{{a.time_read}}</td>
<td>{{a.topics_entered}}</td>
<td>{{a.post_count}}</td>
</tr>
{{/each}}
</tbody>
</table>
</dd>
{{/if}}
</ConditionalLoadingSpinner>
</dl>
</div>
{{/if}}