Hook to get the group dm streams of the current user.

Imports

import { useUserGdms } from '@river-build/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 '@river-build/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: "error" | "loading" | "loaded";
    isLoading: boolean;
    isError: boolean;
    isLoaded: boolean;
    streamIds: string[];
} | {
    error: Error | undefined;
    status: "error" | "loading" | "loaded";
    isLoading: boolean;
    isError: boolean;
    isLoaded: boolean;
    streamIds: string[];
} | {
    error: Error | undefined;
    status: "error" | "loading" | "loaded";
    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: "error" | "loading" | "loaded";
    isLoading: boolean;
    isError: boolean;
    isLoaded: boolean;
    streamIds: string[];
} | {
    error: Error | undefined;
    status: "error" | "loading" | "loaded";
    isLoading: boolean;
    isError: boolean;
    isLoaded: boolean;
    streamIds: string[];
} | {
    error: Error | undefined;
    status: "error" | "loading" | "loaded";
    isLoading: boolean;
    isError: boolean;
    isLoaded: boolean;
    streamIds: string[];
}