{# Plan 47 — create-invitation modal. State (showCreate, form, loading, createInvite) lives on the Alpine root in invites.js. The "owner" role option is only rendered for owners / server-admins — that decision is server-side via member_role. Chrome (teleport + backdrop + centered card) comes from the shared `modal()` macro — see admin/components/ui.html. #} {% from 'admin/components/ui.html' import input, modal %} {% call modal('showCreate', 'closeCreate()') %}

Create invitation

You'll get a one-shot URL to share with this person.

If this email already has an account, they'll just join this fleet — their password stays the same.

{{ input("display_name", label="Display name (optional)", placeholder="Alice") }}

After this, the URL stops working. You can always create another.

{% endcall %}