Skip to content

Commit

Permalink
Improve invites list with click-to-copy inputs (mastodon#10259)
Browse files Browse the repository at this point in the history
  • Loading branch information
Gargron authored and hiyuki2578 committed Oct 2, 2019
1 parent 3972b00 commit 6e9b49f
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 25 deletions.
4 changes: 4 additions & 0 deletions app/javascript/styles/mastodon/tables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@
}
}
}

&--invites tbody td {
vertical-align: middle;
}
}

.table-wrapper {
Expand Down
22 changes: 15 additions & 7 deletions app/views/admin/invites/_invite.html.haml
Original file line number Diff line number Diff line change
@@ -1,21 +1,29 @@
%tr
%td
.input-copy
.input-copy__wrapper
%input{ type: :text, maxlength: '999', spellcheck: 'false', readonly: 'true', value: public_invite_url(invite_code: invite.code) }
%button{ type: :button }= t('generic.copy')

%td
.name-tag
= image_tag invite.user.account.avatar.url(:original), alt: '', width: 16, height: 16, class: 'avatar'
%span.username= invite.user.account.username
%td
= invite.uses
= " / #{invite.max_uses}" unless invite.max_uses.nil?
%td
- if invite.expired?

- if invite.expired?
%td{ colspan: 2 }
= t('invites.expired')
- else
- else
%td
= fa_icon 'user fw'
= invite.uses
= " / #{invite.max_uses}" unless invite.max_uses.nil?
%td
- if invite.expires_at.nil?
- else
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= l invite.expires_at
%td= table_link_to 'link', public_invite_url(invite_code: invite.code), public_invite_url(invite_code: invite.code)
%td
- if !invite.expired? && policy(invite).destroy?
= table_link_to 'times', t('invites.delete'), admin_invite_path(invite), method: :delete
6 changes: 3 additions & 3 deletions app/views/admin/invites/index.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@

%hr.spacer/

.table-wrapper
%table.table
.table-wrapper.simple_form
%table.table.table--invites
%thead
%tr
%th
%th
%th= t('invites.table.uses')
%th= t('invites.table.expires_at')
%th
%th
%tbody
= render @invites

Expand Down
20 changes: 14 additions & 6 deletions app/views/invites/_invite.html.haml
Original file line number Diff line number Diff line change
@@ -1,17 +1,25 @@
%tr
%td
= invite.uses
= " / #{invite.max_uses}" unless invite.max_uses.nil?
%td
- if invite.expired?
.input-copy
.input-copy__wrapper
%input{ type: :text, maxlength: '999', spellcheck: 'false', readonly: 'true', value: public_invite_url(invite_code: invite.code) }
%button{ type: :button }= t('generic.copy')

- if invite.expired?
%td{ colspan: 2 }
= t('invites.expired')
- else
- else
%td
= fa_icon 'user fw'
= invite.uses
= " / #{invite.max_uses}" unless invite.max_uses.nil?
%td
- if invite.expires_at.nil?
- else
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= l invite.expires_at
%td= table_link_to 'link', public_invite_url(invite_code: invite.code), public_invite_url(invite_code: invite.code)

%td
- if !invite.expired? && policy(invite).destroy?
= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete
19 changes: 10 additions & 9 deletions app/views/invites/index.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@

%hr.spacer/

%table.table
%thead
%tr
%th= t('invites.table.uses')
%th= t('invites.table.expires_at')
%th
%th
%tbody
= render @invites
.simple_form
%table.table.table--invites
%thead
%tr
%th
%th= t('invites.table.uses')
%th= t('invites.table.expires_at')
%th
%tbody
= render @invites

0 comments on commit 6e9b49f

Please sign in to comment.