discourse/app/assets/javascripts/admin/addon/components/ip-lookup.hbs
2023-02-13 11:42:38 +00:00

118 lines
3.5 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}}