Hook to get the group dm streams of the current user.
Imports
import { useUserGdms } from '@towns-protocol/react-sdk'
Examples
You can combine this hook with the useGdm
hook to get all group dm streams of the current user and render them:
import { useUserGdms, useGdm } from '@towns-protocol/react-sdk'
const AllGdms = () => {
const { streamIds } = useUserGdms()
return <>{streamIds.map((streamId) => <Gdm key={streamId} streamId={streamId} />)}</>
}
const Gdm = ({ streamId }: { streamId: string }) => {
const { data: gdm } = useGdm(streamId)
return <div>{gdm.metadata?.name || 'Unnamed Gdm'}</div>
}
Definition
function useUserGdms(
config?: ObservableConfig.FromObservable<Gdms>,
): {
error: Error | undefined;
status: "loading" | "loaded" | "error";
isLoading: boolean;
isError: boolean;
isLoaded: boolean;
streamIds: string[];
}
Source: useUserGdms
Parameters
config
- Type:
ObservableConfig.FromObservable<Gdms>
- Optional
Configuration options for the observable.
Return Type
The list of all group dm stream ids of the current user.
{
error: Error | undefined;
status: "loading" | "loaded" | "error";
isLoading: boolean;
isError: boolean;
isLoaded: boolean;
streamIds: string[];
}