Account tab of the user settings page: template, events, and helpers for email/password/display-name management, provider linking, and account deletion.
Summary
Functions
The pending OAuth link conflict for this session, as {conflict_user, provider}.
Functions
@spec resolve_link_conflict(map(), Gamend.Accounts.User.t() | nil) :: {Gamend.Accounts.User.t() | nil, String.t() | nil}
The pending OAuth link conflict for this session, as {conflict_user, provider}.
A conflict exists only when GamendWeb.AuthController proved one: the caller
completed a provider callback and that provider identity was already linked to
another account. It is recorded in the session there, so the id can never be
supplied by the reader.
Re-validated on every mount, because the session outlives the situation: the other account may since have unlinked the provider, been deleted, or turned out to be the caller's own. Anything that no longer holds resolves to no conflict.