Improve invites list with click-to-copy inputs (#10259)

This commit is contained in:
Eugen Rochko 2019-03-14 05:25:49 +01:00 committed by GitHub
parent 9e33174604
commit 6e3936aa6f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 46 additions and 25 deletions

View file

@ -82,6 +82,10 @@
} }
} }
} }
&--invites tbody td {
vertical-align: middle;
}
} }
.table-wrapper { .table-wrapper {

View file

@ -1,21 +1,29 @@
%tr %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 %td
.name-tag .name-tag
= image_tag invite.user.account.avatar.url(:original), alt: '', width: 16, height: 16, class: 'avatar' = image_tag invite.user.account.avatar.url(:original), alt: '', width: 16, height: 16, class: 'avatar'
%span.username= invite.user.account.username %span.username= invite.user.account.username
%td
= invite.uses - if invite.expired?
= " / #{invite.max_uses}" unless invite.max_uses.nil? %td{ colspan: 2 }
%td
- if invite.expired?
= t('invites.expired') = 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? - if invite.expires_at.nil?
- else - else
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) } %time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= 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 %td
- if !invite.expired? && policy(invite).destroy? - if !invite.expired? && policy(invite).destroy?
= table_link_to 'times', t('invites.delete'), admin_invite_path(invite), method: :delete = table_link_to 'times', t('invites.delete'), admin_invite_path(invite), method: :delete

View file

@ -18,15 +18,15 @@
%hr.spacer/ %hr.spacer/
.table-wrapper .table-wrapper.simple_form
%table.table %table.table.table--invites
%thead %thead
%tr %tr
%th
%th %th
%th= t('invites.table.uses') %th= t('invites.table.uses')
%th= t('invites.table.expires_at') %th= t('invites.table.expires_at')
%th %th
%th
%tbody %tbody
= render @invites = render @invites

View file

@ -1,17 +1,25 @@
%tr %tr
%td %td
= invite.uses .input-copy
= " / #{invite.max_uses}" unless invite.max_uses.nil? .input-copy__wrapper
%td %input{ type: :text, maxlength: '999', spellcheck: 'false', readonly: 'true', value: public_invite_url(invite_code: invite.code) }
- if invite.expired? %button{ type: :button }= t('generic.copy')
- if invite.expired?
%td{ colspan: 2 }
= t('invites.expired') = 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? - if invite.expires_at.nil?
- else - else
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) } %time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= 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 %td
- if !invite.expired? && policy(invite).destroy? - if !invite.expired? && policy(invite).destroy?
= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete = table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete

View file

@ -8,12 +8,13 @@
%hr.spacer/ %hr.spacer/
%table.table .simple_form
%thead %table.table.table--invites
%tr %thead
%th= t('invites.table.uses') %tr
%th= t('invites.table.expires_at') %th
%th %th= t('invites.table.uses')
%th %th= t('invites.table.expires_at')
%tbody %th
= render @invites %tbody
= render @invites