content surface · constellation + pds
<atproto-list-memberships>
Every public list that contains this user. Because list curation lives on the firehose, Constellation indexes it all.
Live
<atproto-list-memberships src="pfrazee.com"></atproto-list-memberships> Attributes
| Name | Type | Default | Description |
|---|---|---|---|
src * | string | — | Handle or DID. |
limit | number | 10 | Memberships per page. |
constellation | string | — | Override the Constellation endpoint. |
Parts
External CSS can target these via atproto-list-memberships::part(<name>) { ... }.
| Part | What it is |
|---|---|
head | 'N list memberships' counter. |
lists / list-card | Grid container and each card wrapper. |
list-name / list-owner / list-purpose | Card contents. |
empty / loadmore | States. |
How it resolves
Two hops per membership: the listitem backlink tells us a listitem
record exists that names the subject; fetching the listitem gives us the
.list URI; fetching the list record gives us the name and
purpose. The card links to bsky.app/profile/<owner>/lists/<rkey>.
Cache layer dedupes shared curators.
Related
<atproto-list> is the other direction — given a list,
render its members.