diff --git a/__e2e__/flows/curate-lists.yml b/__e2e__/flows/curate-lists.yml
index 906199e979..cc97b0fd72 100644
--- a/__e2e__/flows/curate-lists.yml
+++ b/__e2e__/flows/curate-lists.yml
@@ -145,21 +145,21 @@ appId: xyz.blueskyweb.app
id: "profileHeaderDropdownBtn"
- tapOn: "Add to Lists"
- assertVisible:
- id: "userAddRemoveListsModal"
+ id: "userAddRemoveListsDialog"
- tapOn:
id: "user-bob.test-addBtn"
- tapOn:
id: "doneBtn"
- assertNotVisible:
- id: "userAddRemoveListsModal"
+ id: "userAddRemoveListsDialog"
- tapOn:
id: "profileHeaderDropdownBtn"
- tapOn: "Add to Lists"
- assertVisible:
- id: "userAddRemoveListsModal"
+ id: "userAddRemoveListsDialog"
- tapOn:
id: "user-bob.test-addBtn"
- tapOn:
id: "doneBtn"
- assertNotVisible:
- id: "userAddRemoveListsModal"
+ id: "userAddRemoveListsDialog"
diff --git a/src/components/dialogs/lists/UserAddRemoveListsDialog.tsx b/src/components/dialogs/lists/UserAddRemoveListsDialog.tsx
index 4c0c550649..4d5f939dcc 100644
--- a/src/components/dialogs/lists/UserAddRemoveListsDialog.tsx
+++ b/src/components/dialogs/lists/UserAddRemoveListsDialog.tsx
@@ -3,6 +3,7 @@ import {View} from 'react-native'
import {Trans, useLingui} from '@lingui/react/macro'
import {useQueryClient} from '@tanstack/react-query'
+import {createSanitizedDisplayName} from '#/lib/moderation/create-sanitized-display-name'
import {sanitizeDisplayName} from '#/lib/strings/display-names'
import {isNetworkError} from '#/lib/strings/errors'
import {sanitizeHandle} from '#/lib/strings/handles'
@@ -27,34 +28,25 @@ import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Ti
import {Loader} from '#/components/Loader'
import * as Toast from '#/components/Toast'
import {Text} from '#/components/Typography'
+import type * as bsky from '#/types/bsky'
export type UserAddRemoveListsDialogProps = {
control: Dialog.DialogControlProps
- subjectDid: string
- displayName: string
- handle: string
+ profile: bsky.profile.AnyProfileView | undefined
onAdd?: (listUri: string) => void
onRemove?: (listUri: string) => void
}
export function UserAddRemoveListsDialog({
control,
- subjectDid,
- displayName,
- handle,
+ profile,
onAdd,
onRemove,
}: UserAddRemoveListsDialogProps) {
return (
-
+
)
}
@@ -82,12 +74,14 @@ function Empty() {
}
function ListsContent({
- subjectDid,
- displayName,
- handle,
+ profile,
onAdd,
onRemove,
-}: Omit) {
+}: {
+ profile: bsky.profile.AnyProfileView | undefined
+ onAdd?: (listUri: string) => void
+ onRemove?: (listUri: string) => void
+}) {
const control = Dialog.useDialogContext()
const {t: l} = useLingui()
@@ -98,7 +92,7 @@ function ListsContent({
hasNextPage,
isFetchingNextPage,
fetchNextPage,
- } = useListsWithMembershipQuery({actor: subjectDid})
+ } = useListsWithMembershipQuery({actor: profile?.did})
const listItems = data?.pages.flatMap(page => page.listsWithMembership) || []
@@ -112,17 +106,16 @@ function ListsContent({
}, [isFetchingNextPage, hasNextPage, isError, fetchNextPage])
const renderItem = useCallback(
- ({item}: {item: ListWithMembership}) => (
-
- ),
- [subjectDid, displayName, handle, onAdd, onRemove],
+ ({item}: {item: ListWithMembership}) =>
+ profile ? (
+
+ ) : null,
+ [profile, onAdd, onRemove],
)
const onClose = useCallback(() => {
@@ -139,9 +132,16 @@ function ListsContent({
native(a.pt_lg),
]}>
- Update {sanitizeDisplayName(displayName)} in Lists
+ {profile ? (
+
+ Update {createSanitizedDisplayName(profile, true)} in Lists
+
+ ) : (
+ Update in Lists
+ )}