diff --git a/changelog/4434.fixed.md b/changelog/4434.fixed.md
new file mode 100644
index 0000000000..27c1026b49
--- /dev/null
+++ b/changelog/4434.fixed.md
@@ -0,0 +1 @@
+Fixes the tasks pagination in the proposed changes tab
\ No newline at end of file
diff --git a/frontend/app/src/graphql/queries/tasks/getTasksItems.ts b/frontend/app/src/graphql/queries/tasks/getTasksItems.ts
index c298fe9421..b534692429 100644
--- a/frontend/app/src/graphql/queries/tasks/getTasksItems.ts
+++ b/frontend/app/src/graphql/queries/tasks/getTasksItems.ts
@@ -1,8 +1,8 @@
import Handlebars from "handlebars";
export const getTasksItems = Handlebars.compile(`
-query GetTasks {
- {{kind}}({{{filters}}} {{#if relatedNode}}related_node__ids: ["{{relatedNode}}"]{{/if}}) {
+query GetTasks($offset: Int, $limit: Int) {
+ {{kind}}(offset: $offset, limit: $limit, {{#if relatedNode}}related_node__ids: ["{{relatedNode}}"]{{/if}}) {
count
edges {
node {
diff --git a/frontend/app/src/pages/proposed-changes/details.tsx b/frontend/app/src/pages/proposed-changes/details.tsx
index 3e82b76a46..30b2da10e7 100644
--- a/frontend/app/src/pages/proposed-changes/details.tsx
+++ b/frontend/app/src/pages/proposed-changes/details.tsx
@@ -17,17 +17,17 @@ import { proposedChangedState } from "@/state/atoms/proposedChanges.atom";
import { constructPath } from "@/utils/fetch";
import { Icon } from "@iconify-icon/react";
import { useAtom } from "jotai";
-import { Link, Navigate, useLocation, useParams } from "react-router-dom";
+import { Link, useLocation, useParams } from "react-router-dom";
import { StringParam, useQueryParam } from "use-query-params";
import LoadingScreen from "@/screens/loading-screen/loading-screen";
import { ProposedChangesChecksTab } from "@/screens/proposed-changes/checks-tab";
import { ProposedChangeDetails } from "@/screens/proposed-changes/proposed-change-details";
-import { NetworkStatus } from "@apollo/client";
import { CoreProposedChange } from "@/generated/graphql";
import { Badge } from "@/components/ui/badge";
import { getObjectDetailsUrl } from "@/utils/objects";
import { ObjectHelpButton } from "@/components/menu/object-help-button";
import { useSchema } from "@/hooks/useSchema";
+import NoDataFound from "@/screens/errors/no-data-found";
export const PROPOSED_CHANGES_TABS = {
CONVERSATIONS: "conversations",
@@ -105,30 +105,19 @@ export function Component() {
const { proposedChangeId } = useParams();
const { schema } = useSchema(PROPOSED_CHANGES_OBJECT);
- const { loading, networkStatus, error, data, client } = useQuery(GET_PROPOSED_CHANGE_DETAILS, {
- notifyOnNetworkStatusChange: true,
+ const { loading, error, data, client } = useQuery(GET_PROPOSED_CHANGE_DETAILS, {
variables: {
id: proposedChangeId,
nodeId: proposedChangeId, // Used for tasks, which is a different type
},
});
- if (networkStatus === NetworkStatus.loading) {
+ if (loading) {
return ;
}
- if (error) {
- return (
-
- );
- }
-
const proposedChangesData = data?.[PROPOSED_CHANGES_OBJECT]?.edges?.[0]?.node;
- if (!proposedChangesData) {
- return ;
- }
-
const tabs = [
{
label: "Overview",
@@ -162,6 +151,37 @@ export function Component() {
},
];
+ if (error || !proposedChangesData) {
+ return (
+
+
+
+ Proposed changes
+
+
+ }
+ reload={() => client.reFetchObservableQueries()}
+ isReloadLoading={loading}>
+
+
+
+ {error && (
+
+ )}
+
+ {!proposedChangesData && }
+
+ );
+ }
+
return (
{
const { objectid, proposedChangeId } = useParams();
const location = useLocation();
- const [pagination] = usePagination();
const { pathname } = location;
- const filtersString = [
- // Add pagination filters
- ...[
- { name: "offset", value: pagination?.offset },
- { name: "limit", value: pagination?.limit },
- ].map((row: any) => `${row.name}: ${row.value}`),
- ].join(",");
-
const queryString = getTasksItems({
kind: TASK_OBJECT,
relatedNode: objectid || proposedChangeId,
- filters: filtersString,
});
const query = gql`