diff --git a/.changeset/fix-missing-error-state-tables.md b/.changeset/fix-missing-error-state-tables.md
new file mode 100644
index 0000000000000..fba9b1adbe0bd
--- /dev/null
+++ b/.changeset/fix-missing-error-state-tables.md
@@ -0,0 +1,5 @@
+---
+"@rocket.chat/meteor": patch
+---
+
+fix: add missing error state to ModerationConsoleTable and CustomUserStatusTable
diff --git a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusTable.tsx b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusTable.tsx
index d3791a6627cf2..f479db67e85e2 100644
--- a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusTable.tsx
+++ b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusTable.tsx
@@ -1,4 +1,4 @@
-import { Pagination } from '@rocket.chat/fuselage';
+import { Pagination, States, StatesIcon, StatesActions, StatesAction, StatesTitle } from '@rocket.chat/fuselage';
import { useDebouncedValue } from '@rocket.chat/fuselage-hooks';
import { escapeRegExp } from '@rocket.chat/string-helpers';
import {
@@ -25,7 +25,6 @@ type CustomUserStatusProps = {
onClick: (id: string) => void;
};
-// TODO: Missing error state
const CustomUserStatus = ({ reload, onClick }: CustomUserStatusProps): ReactElement | null => {
const { t } = useTranslation();
const [text, setText] = useState('');
@@ -47,7 +46,7 @@ const CustomUserStatus = ({ reload, onClick }: CustomUserStatusProps): ReactElem
const getCustomUserStatus = useEndpoint('GET', '/v1/custom-user-status.list');
- const { data, isLoading, refetch, isFetched } = useQuery({
+ const { data, isLoading, refetch, isFetched, isError } = useQuery({
queryKey: ['custom-user-statuses', query],
queryFn: async () => {
@@ -63,6 +62,18 @@ const CustomUserStatus = ({ reload, onClick }: CustomUserStatusProps): ReactElem
reload.current = refetch;
}, [reload, refetch]);
+ if (isError && !data) {
+ return (
+
+
+ {t('Something_went_wrong')}
+
+ refetch()}>{t('Reload_page')}
+
+
+ );
+ }
+
if (!data) {
return null;
}
diff --git a/apps/meteor/client/views/admin/moderation/ModerationConsoleTable.tsx b/apps/meteor/client/views/admin/moderation/ModerationConsoleTable.tsx
index 51f646d7ab0af..d45dc1c75a199 100644
--- a/apps/meteor/client/views/admin/moderation/ModerationConsoleTable.tsx
+++ b/apps/meteor/client/views/admin/moderation/ModerationConsoleTable.tsx
@@ -1,5 +1,5 @@
import type { IUser } from '@rocket.chat/core-typings';
-import { Pagination } from '@rocket.chat/fuselage';
+import { Pagination, States, StatesIcon, StatesActions, StatesAction, StatesTitle } from '@rocket.chat/fuselage';
import { useDebouncedValue, useMediaQuery, useEffectEvent } from '@rocket.chat/fuselage-hooks';
import {
GenericTable,
@@ -19,7 +19,6 @@ import ModerationConsoleTableRow from './ModerationConsoleTableRow';
import ModerationFilter from './helpers/ModerationFilter';
import GenericNoResults from '../../../components/GenericNoResults';
-// TODO: Missing error state
const ModerationConsoleTable = () => {
const [text, setText] = useState('');
const router = useRouter();
@@ -54,7 +53,7 @@ const ModerationConsoleTable = () => {
const getReports = useEndpoint('GET', '/v1/moderation.reportsByUsers');
- const { data, isLoading, isSuccess } = useQuery({
+ const { data, isLoading, isSuccess, isError, refetch } = useQuery({
queryKey: ['moderation', 'msgReports', 'fetchAll', query],
queryFn: async () => getReports(query),
meta: {
@@ -135,6 +134,15 @@ const ModerationConsoleTable = () => {
>
)}
{isSuccess && data.reports.length === 0 && }
+ {isError && !data && (
+
+
+ {t('Something_went_wrong')}
+
+ refetch()}>{t('Reload_page')}
+
+
+ )}
>
);
};