The profile's Media tab (/profile/settings/media): the signed-in user's
storage libraries (V203).
- create one (with
storage.create_library, up to the per-user limit) - rename, make the default, trash (the owner; a manager may rename)
- members: add by email, change a role, remove (the owner or a manager)
- leave a library someone else shared
- pick the variant set of a library they own, among the ones an admin made selectable (V205): which sizes its uploads get
Browsing and uploading are /admin/libraries. Every action goes through
PhoenixKit.Modules.Storage.Libraries, which re-checks who may do it;
what this component hides is a courtesy, not the boundary.
Messages are shown inside the component: a LiveComponent's put_flash
never reaches the page.