Password-reset task as a LiveComponent.
Renders the auth-card chrome (title + subtitle), two password inputs ("New
password" and "Confirm password"), and a submit button. Owns its own form
lifecycle: validates password + confirmation match on every keystroke via
EzAuth.Accounts.User.password_changeset/2, then on submit applies the
changeset and persists the new password directly. Verification of the
user's identity is the parent's concern; this task only updates.
On successful reset, every session for the user is revoked and disconnected.
No opt-out. See docs/ARCHITECTURE.md ("Sessions") for the rationale.
Pass the resolved user (already verified upstream). Pass on_back as a
Phoenix.LiveView.JS command to enable the "Back" button; omit it to
hide the button entirely.
Usage
<.live_component
module={EzAuth.UI.TaskResetPassword}
id="reset"
user={@user}
on_back={JS.navigate("/sign-in")}
/>