<% header_title @invitation ? t(".join_family_title", family: @invitation.family.name) : t(".title") %> <% if self_hosted_first_login? %>

<%= t(".welcome_title", product_name: product_name) %>

<%= t(".welcome_body") %>

<% elsif @invitation %>

<%= t(".invitation_message", inviter: @invitation.inviter.display_name, role: t(".role_#{@invitation.role}")) %>

<% end %> <% if @user.errors.present? %>
<%= icon("circle-alert") %>

<%= @user.errors.full_messages.to_sentence %>

<% end %> <%= styled_form_with model: @user, url: registration_path, class: "space-y-4" do |form| %> <%= form.email_field :email, autofocus: false, autocomplete: "email", required: "required", placeholder: "you@example.com", label: true, disabled: @invitation.present? %> <% if invite_code_required? && !@invitation %> <%= form.text_field :invite_code, required: "required", label: true, value: params[:invite] %> <% end %> <%= form.hidden_field :invitation, value: @invitation&.token %>
<%= form.password_field :password, autocomplete: "new-password", required: "required", placeholder: t(".password_placeholder"), label: true, maxlength: 72, data: { password_validator_target: "input", password_visibility_target: "input", action: "input->password-validator#validate" } %>
<%= icon("check", size: "sm") %> Minimum 8 characters
<%= icon("check", size: "sm") %> Upper and lowercase letters
<%= icon("check", size: "sm") %> A number (0-9)
<%= icon("check", size: "sm") %> A special character (!, @, #, $, %, etc)
<%= form.submit t(".submit") %> <% end %>