Improve invites list with click-to-copy inputs (#10259)
This commit is contained in:
		
							parent
							
								
									9e33174604
								
							
						
					
					
						commit
						6e3936aa6f
					
				@ -82,6 +82,10 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  &--invites tbody td {
 | 
				
			||||||
 | 
					    vertical-align: middle;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.table-wrapper {
 | 
					.table-wrapper {
 | 
				
			||||||
 | 
				
			|||||||
@ -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
 | 
				
			||||||
 | 
				
			|||||||
@ -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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -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
 | 
				
			||||||
 | 
				
			|||||||
@ -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
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user