import type { IUserStatus } from '@rocket.chat/core-typings';
import { Box, Callout } from '@rocket.chat/fuselage';
import { useEndpoint } from '@rocket.chat/ui-contexts';
import { useQuery } from '@tanstack/react-query';
import type { ReactElement } from 'react';
import { useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import CustomUserStatusForm from './CustomUserStatusForm';
import { FormSkeleton } from '../../../components/Skeleton';
type CustomUserStatusFormWithDataProps = {
_id?: IUserStatus['_id'];
onClose: () => void;
onReload: () => void;
};
const CustomUserStatusFormWithData = ({ _id, onReload, onClose }: CustomUserStatusFormWithDataProps): ReactElement => {
const { t } = useTranslation();
const query = useMemo(() => ({ _id }), [_id]);
const getCustomUserStatus = useEndpoint('GET', '/v1/custom-user-status.list');
const { data, isPending, error, refetch } = useQuery({
queryKey: ['custom-user-statuses', query],
queryFn: async () => {
const customUserStatus = await getCustomUserStatus(query);
return customUserStatus;
},
});
const handleReload = (): void => {
onReload?.();
refetch?.();
};
if (!_id) {
return ;
}
if (isPending) {
return ;
}
if (error || !data || data.count < 1) {
return (
{t('Custom_User_Status_Error_Invalid_User_Status')}
);
}
return ;
};
export default CustomUserStatusFormWithData;