Users flow
Block-composed paginated user index and search plus detail, empty, loading, error, bulk, outcome, and mobile states.
Paginated index and search, identity detail, empty, loading, failure, bulk action, outcomes, and mobile pressure.
A destructive summary carries selected IDs forward and requires explicit consent.
Active sessions end immediately and the selected users lose workspace access.
test/dummy/app/components/gallery/flows/users_page.rbdiv(
data: {
gallery: "flow-surface",
gallery_flow: "users",
gallery_mobile: state == "mobile" ? "true" : nil
}.compact
) do
render NitroKit::Container.new(size: :xl, id: "gallery-users-container") do
render NitroKit::Flex.new(dir: :col, gap: 6, align: :stretch, id: "gallery-users-stack") do
turbo_frame_tag("gallery-users-frame") { render_screen }
end
end
end