discourse/app/assets/javascripts/admin/templates/user-badges.hbs
Joffrey JAFFEUX 0431942f3d
DEV: select-kit 2 (#7998)
This new iteration of select-kit focuses on following best principales and disallowing mutations inside select-kit components. A best effort has been made to avoid breaking changes, however if you content was a flat array, eg: ["foo", "bar"] You will need to set valueProperty=null and nameProperty=null on the component.

Also almost every component should have an `onChange` handler now to decide what to do with the updated data. **select-kit will not mutate your data by itself anymore**
2020-02-03 14:22:14 +01:00

84 lines
2.5 KiB
Handlebars

<div class='admin-controls'>
<nav>
<ul class='nav nav-pills'>
<li>{{#link-to 'adminUser' user}}{{d-icon "caret-left"}} &nbsp;{{user.username}}{{/link-to}}</li>
</ul>
</nav>
</div>
{{#conditional-loading-spinner condition=loading}}
<div class='admin-container user-badges'>
<h2>{{i18n 'admin.badges.grant_badge'}}</h2>
<br>
{{#if noGrantableBadges}}
<p>{{i18n 'admin.badges.no_badges'}}</p>
{{else}}
<form class="form-horizontal">
<div>
<label>{{i18n 'admin.badges.badge'}}</label>
{{combo-box
filterable=true
value=selectedBadgeId
content=grantableBadges
onChange=(action (mut selectedBadgeId))
}}
</div>
<div>
<label>{{i18n 'admin.badges.reason'}}</label>
{{input type="text" value=badgeReason}}<br><small>{{i18n 'admin.badges.reason_help'}}</small>
</div>
{{d-button
class="btn-primary"
action=(action "grantBadge")
label="admin.badges.grant"}}
</form>
{{/if}}
<table id='user-badges'>
<tr>
<th>{{i18n 'admin.badges.badge'}}</th>
<th>{{i18n 'admin.badges.granted_by'}}</th>
<th class='reason'>{{i18n 'admin.badges.reason'}}</th>
<th>{{i18n 'admin.badges.granted_at'}}</th>
<th></th>
</tr>
{{#each groupedBadges as |userBadge|}}
<tr>
<td>{{user-badge badge=userBadge.badge count=userBadge.count}}</td>
<td>
{{#link-to 'adminUser' userBadge.badge.granted_by}}
{{avatar userBadge.granted_by imageSize="tiny"}}
{{userBadge.granted_by.username}}
{{/link-to}}
</td>
<td class='reason'>
{{#if userBadge.postUrl}}
<a href="{{unbound userBadge.postUrl}}">{{userBadge.topic_title}}</a>
{{/if}}
</td>
<td>{{age-with-tooltip userBadge.granted_at}}</td>
<td>
{{#if userBadge.grouped}}
{{d-button
action=(action "expandGroup" userBadge)
label="admin.badges.expand"}}
{{else}}
{{d-button
class="btn-danger"
action=(action "revokeBadge" userBadge)
label="admin.badges.revoke"}}
{{/if}}
</td>
</tr>
{{else}}
<tr>
<td colspan="5">
<p>{{i18n 'admin.badges.no_user_badges' name=user.username}}</p>
</td>
</tr>
{{/each}}
</table>
</div>
{{/conditional-loading-spinner}}