akkounts/app/views/invitations/index.html.erb

72 lines
2.7 KiB
Plaintext

<%= render HeaderComponent.new(title: "Invitations") %>
<%= render MainSimpleComponent.new do %>
<section>
<% if @invitations_unused.any? %>
<p class="mb-8">
Invite your friends to a Kosmos account by sharing an invitation URL with them:
</p>
<ul class="md:w-3/4">
<% @invitations_unused.each do |invitation| %>
<li class="mb-2 flex gap-1" data-controller="clipboard modal">
<input type="text" disabled class="relative grow font-mono"
value="<%= invitation_url(invitation.token) %>"
data-clipboard-target="source" />
<button class="btn-md btn-icon btn-outline shrink-0 w-auto"
data-clipboard-target="trigger" data-action="clipboard#copy"
title="Copy to clipboard">
<span class="content-initial">
<%= render partial: "icons/copy", locals: { custom_class: "text-blue-600 h-4 w-4 inline" } %>
</span>
<span class="content-active hidden">
<%= render partial: "icons/check", locals: { custom_class: "text-blue-600 h-4 w-4 inline" } %>
</span>
</button>
<button class="btn-md btn-icon btn-outline shrink-0 w-auto"
data-action="click->modal#open" title="Show QR code">
<%= render partial: "icons/qr_code", locals: { custom_class: "text-blue-600 h-4 w-4 inline" } %>
</button>
<%= render QrCodeModalComponent.new(qr_content: invitation_url(invitation.token)) %>
</li>
<% end %>
</ul>
<% else %>
<div class="text-center">
<p class="my-12 inline-flex align-center items-center">
<%= image_tag("/img/illustrations/undraw_loading_re_5axr.svg", class: 'h-48') %>
</p>
<h3>
No invitations available yet
</h3>
<p class="text-gray-500">
We will notify you, as soon as you can invite others.
</p>
</div>
<% end %>
</section>
<% if @invitations_used.any? %>
<section>
<h3>Accepted Invitations</h3>
<table>
<thead>
<tr>
<th class="hidden md:block">ID</th>
<th>Accepted</th>
<th>Invited user</th>
</tr>
</thead>
<tbody>
<% @invitations_used.each do |invitation| %>
<tr>
<td class="hidden md:block font-mono"><%= invitation.token %></td>
<td><%= invitation.used_at.strftime("%Y-%m-%d") %></td>
<td><%= User.find(invitation.invited_user_id).address %></td>
</tr>
<% end %>
</tbody>
</table>
</section>
<% end %>
<% end %>