Skip to content

Commit 5e59783

Browse files
committed
refactor: remove suspense queries
1 parent fd65036 commit 5e59783

14 files changed

Lines changed: 31 additions & 35 deletions

File tree

apps/web/src/features/admin/hooks/useGroupsQuery.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { $Group } from '@opendatacapture/schemas/group';
2-
import { useSuspenseQuery } from '@tanstack/react-query';
2+
import { useQuery } from '@tanstack/react-query';
33
import axios from 'axios';
44

55
export function useGroupsQuery() {
6-
return useSuspenseQuery({
6+
return useQuery({
77
queryFn: async () => {
88
const response = await axios.get('/v1/groups');
99
return $Group.array().parse(response.data);

apps/web/src/features/admin/hooks/useUsersQuery.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { $User } from '@opendatacapture/schemas/user';
2-
import { useSuspenseQuery } from '@tanstack/react-query';
2+
import { useQuery } from '@tanstack/react-query';
33
import axios from 'axios';
44

55
export function useUsersQuery() {
6-
return useSuspenseQuery({
6+
return useQuery({
77
queryFn: async () => {
88
const response = await axios.get('/v1/users');
99
return $User.array().parse(response.data);

apps/web/src/features/admin/pages/CreateUserPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export const CreateUserPage = () => {
7777
groupIds: {
7878
kind: 'set',
7979
label: t('common.groups'),
80-
options: Object.fromEntries(groupsQuery.data.map((group) => [group.id, group.name])),
80+
options: Object.fromEntries((groupsQuery.data ?? []).map((group) => [group.id, group.name])),
8181
variant: 'listbox'
8282
}
8383
}

apps/web/src/features/admin/pages/ManageGroupsPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ export const ManageGroupsPage = () => {
1515
const groupsQuery = useGroupsQuery();
1616
const deleteGroupMutation = useDeleteGroupMutation();
1717
const [selectedGroup, setSelectedGroup] = useState<Group | null>(null);
18-
const [groups, setGroups] = useState<Group[]>(groupsQuery.data);
18+
const [groups, setGroups] = useState<Group[]>(groupsQuery.data ?? []);
1919
const [searchTerm, setSearchTerm] = useState('');
2020

2121
useEffect(() => {
22-
setGroups(groupsQuery.data.filter((group) => group.name.toLowerCase().includes(searchTerm.toLowerCase())));
22+
setGroups((groupsQuery.data ?? []).filter((group) => group.name.toLowerCase().includes(searchTerm.toLowerCase())));
2323
}, [groupsQuery.data, searchTerm]);
2424

2525
return (

apps/web/src/features/admin/pages/ManageUsersPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ export const ManageUsersPage = () => {
1717
const { t } = useTranslation();
1818
const usersQuery = useUsersQuery();
1919
const deleteUserMutation = useDeleteUserMutation();
20-
const [users, setUsers] = useState<User[]>(usersQuery.data);
20+
const [users, setUsers] = useState<User[]>(usersQuery.data ?? []);
2121
const [selectedUser, setSelectedUser] = useState<null | User>(null);
2222
const [searchTerm, setSearchTerm] = useState('');
2323

2424
useEffect(() => {
25-
setUsers(usersQuery.data.filter((user) => user.username.toLowerCase().includes(searchTerm.toLowerCase())));
25+
setUsers((usersQuery.data ?? []).filter((user) => user.username.toLowerCase().includes(searchTerm.toLowerCase())));
2626
}, [usersQuery.data, searchTerm]);
2727

2828
const currentUserIsSelected = selectedUser?.username === currentUser?.username;

apps/web/src/features/datahub/components/AssignmentsTable.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ export const AssignmentsTable = ({ assignments, onSelection }: AssignmentTablePr
2020
const instrumentInfoQuery = useInstrumentInfoQuery();
2121

2222
useEffect(() => {
23-
setInstruments(Object.fromEntries(instrumentInfoQuery.data.map((instrument) => [instrument.id, instrument])));
23+
setInstruments(
24+
Object.fromEntries((instrumentInfoQuery.data ?? []).map((instrument) => [instrument.id, instrument]))
25+
);
2426
}, [instrumentInfoQuery.data]);
2527

2628
return (

apps/web/src/features/datahub/hooks/useInstrumentVisualization.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ export function useInstrumentVisualization({ params }: UseInstrumentVisualizatio
103103

104104
const instrumentOptions: { [key: string]: string } = useMemo(() => {
105105
const options: { [key: string]: string } = {};
106-
for (const instrument of instrumentInfoQuery.data) {
106+
for (const instrument of instrumentInfoQuery.data ?? []) {
107107
options[instrument.id] = instrument.details.title;
108108
}
109109
return options;

apps/web/src/features/datahub/hooks/useSubjectsQuery.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { $Subject } from '@opendatacapture/schemas/subject';
2-
import { useSuspenseQuery } from '@tanstack/react-query';
2+
import { useQuery } from '@tanstack/react-query';
33
import axios from 'axios';
44

55
type UseSubjectsQueryOptions = {
@@ -9,7 +9,7 @@ type UseSubjectsQueryOptions = {
99
};
1010

1111
export function useSubjectsQuery({ params }: UseSubjectsQueryOptions) {
12-
return useSuspenseQuery({
12+
return useQuery({
1313
queryFn: async () => {
1414
const response = await axios.get('/v1/subjects', { params });
1515
return $Subject.array().parse(response.data);

apps/web/src/features/datahub/pages/DataHubPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ export const DataHubPage = () => {
116116
</div>
117117
</div>
118118
<MasterDataTable
119-
data={data}
119+
data={data ?? []}
120120
onSelect={(subject) => {
121121
navigate(`${subject.id}/assignments`);
122122
}}

apps/web/src/features/datahub/pages/SubjectAssignmentsPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const SubjectAssignmentsPage = () => {
3636
const instrumentInfoQuery = useInstrumentInfoQuery();
3737

3838
const instrumentOptions = Object.fromEntries(
39-
instrumentInfoQuery.data
39+
(instrumentInfoQuery.data ?? [])
4040
.filter((instrument) => {
4141
return (currentGroup?.accessibleInstrumentIds.includes(instrument.id) ?? true) && instrument.kind !== 'SERIES';
4242
})
@@ -56,7 +56,7 @@ export const SubjectAssignmentsPage = () => {
5656
</Dialog.Trigger>
5757
</div>
5858
<AssignmentsTable
59-
assignments={assignmentsQuery.data}
59+
assignments={assignmentsQuery.data ?? []}
6060
onSelection={(assignment) => {
6161
setSelectedAssignment(assignment);
6262
setIsEditSliderOpen(true);

0 commit comments

Comments
 (0)