fa118a7d83
which is preferred to generating a database error
41 lines
1.8 KiB
Plaintext
41 lines
1.8 KiB
Plaintext
<% @page_title = "Change usage limit" %>
|
|
|
|
<% content_for :header do %>
|
|
<div class="header__actions header__actions--start">
|
|
<%= back_link_to "Invite link", account_join_code_path, "keydown.left@document->hotkey#click keydown.esc@document->hotkey#click" %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<article class="panel panel--wide center shadow flex flex-column gap-half" style="view-transition-name: <%= dom_id(@join_code) %>">
|
|
<header class="margin-block-end-half">
|
|
<h2 class="txt-large margin-none font-weight-black"><%= @page_title %></h2>
|
|
<p class="txt-medium margin-none">How many times can this link be used to join the account?</p>
|
|
</header>
|
|
|
|
<%= form_with model: @join_code, url: account_join_code_path, method: :patch, data: { controller: "form" }, html: { class: "flex flex-column gap" } do |form| %>
|
|
<%= form.number_field :usage_limit,
|
|
required: true, autofocus: true,
|
|
in: 0..Account::JoinCode::USAGE_LIMIT_MAX,
|
|
class: "input center txt-large fit-content font-weight-black txt-align-center", style: "max-inline-size: 8ch",
|
|
data: { action: "keydown.esc@document->form#cancel focus->form#select" } %>
|
|
|
|
<% if @join_code.errors.any? %>
|
|
<div class="txt-negative txt-small">
|
|
<% @join_code.errors.full_messages.each do |message| %>
|
|
<p class="margin-block-none"><%= message %></p>
|
|
<% end %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<p class="margin-none txt-subtle">
|
|
This code has been used <%= @join_code.usage_count %>/<%= @join_code.usage_limit_in_database %> times.
|
|
</p>
|
|
|
|
<%= form.button type: :submit, class: "btn btn--link center txt-medium", data: { form_target: "submit" } do %>
|
|
<span>Save changes</span>
|
|
<% end %>
|
|
|
|
<%= link_to "Go back", account_join_code_path, data: { form_target: "cancel" }, hidden: true %>
|
|
<% end %>
|
|
</article>
|