import React, {useCallback} from 'react' import {ActivityIndicator, StyleSheet, View} from 'react-native' import {AppBskyGraphDefs as GraphDefs} from '@atproto/api' import {Text} from '../util/text/Text' import {UserAvatar} from '../util/UserAvatar' import {MyLists} from '../lists/MyLists' import {Button} from '../util/forms/Button' import * as Toast from '../util/Toast' import {sanitizeDisplayName} from 'lib/strings/display-names' import {sanitizeHandle} from 'lib/strings/handles' import {s} from 'lib/styles' import {usePalette} from 'lib/hooks/usePalette' import {isWeb, isAndroid} from 'platform/detection' import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useModalControls} from '#/state/modals' import { useDangerousListMembershipsQuery, getMembership, ListMembersip, useListMembershipAddMutation, useListMembershipRemoveMutation, } from '#/state/queries/list-memberships' import {cleanError} from '#/lib/strings/errors' import {useSession} from '#/state/session' export const snapPoints = ['fullscreen'] export function Component({ subject, handle, displayName, onAdd, onRemove, }: { subject: string handle: string displayName: string onAdd?: (listUri: string) => void onRemove?: (listUri: string) => void }) { const {closeModal} = useModalControls() const pal = usePalette('default') const {_} = useLingui() const {data: memberships} = useDangerousListMembershipsQuery() const onPressDone = useCallback(() => { closeModal() }, [closeModal]) return ( Update {displayName} in Lists ( )} style={[styles.list, pal.border]} />