Fix useless not founds & duplicated graphQL queries

Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
Émile Ré
2025-12-04 19:27:44 +04:00
parent e28e94a0ef
commit 54ca8cc0f3
12 changed files with 20 additions and 86 deletions

View File

@@ -79,10 +79,6 @@ export default function AssetDetailsPage(props: Props) {
const updateAsset = useUpdateAsset();
if (!assetEntry || !assetEntry.id) {
return <div>{__("Asset not found")}</div>;
}
const onSubmit = handleSubmit(async (formData) => {
await updateAsset({
id: assetEntry.id!,

View File

@@ -56,7 +56,7 @@ export default function AuditDetailsPage(props: Props) {
const { isAuthorized } = use(PermissionsContext);
const deleteAudit = useDeleteAudit(
{ id: auditEntry.id!, framework: { name: auditEntry.framework!.name } },
{ id: auditEntry.id!, framework: { name: auditEntry.framework!.name} },
ConnectionHandler.getConnectionID(organizationId, "AuditsPage_audits")
);
@@ -75,10 +75,6 @@ export default function AuditDetailsPage(props: Props) {
const confirm = useConfirm();
const { toast } = useToast();
if (!auditEntry || !auditEntry.id || !auditEntry.framework) {
return <div>{__("Audit not found")}</div>;
}
const onSubmit = handleSubmit(async (formData) => {
if (!auditEntry.id) return;

View File

@@ -91,10 +91,6 @@ export default function ContinualImprovementDetailsPage(props: Props) {
}
);
if (!improvement) {
return <div>{__("Continual improvement entry not found")}</div>;
}
const onSubmit = handleSubmit(async (formData) => {
try {
await updateImprovement({

View File

@@ -28,20 +28,20 @@ import {
import { useOrganizationId } from "/hooks/useOrganizationId";
import { useParams } from "react-router";
import { CreateContinualImprovementDialog } from "./dialogs/CreateContinualImprovementDialog";
import { deleteContinualImprovementMutation, ContinualImprovementsConnectionKey } from "../../../hooks/graph/ContinualImprovementGraph";
import { deleteContinualImprovementMutation, ContinualImprovementsConnectionKey, continualImprovementsQuery } from "../../../hooks/graph/ContinualImprovementGraph";
import { sprintf, promisifyMutation, getStatusVariant, getStatusLabel, formatDate } from "@probo/helpers";
import { SnapshotBanner } from "/components/SnapshotBanner";
import type { NodeOf } from "/types";
import type { ContinualImprovementsPageQuery } from "./__generated__/ContinualImprovementsPageQuery.graphql";
import type {
ContinualImprovementsPageFragment$key,
ContinualImprovementsPageFragment$data,
} from "./__generated__/ContinualImprovementsPageFragment.graphql";
import { use } from "react";
import { PermissionsContext } from "/providers/PermissionsContext";
import type { ContinualImprovementGraphListQuery } from "/hooks/graph/__generated__/ContinualImprovementGraphListQuery.graphql";
interface ContinualImprovementsPageProps {
queryRef: PreloadedQuery<ContinualImprovementsPageQuery>;
queryRef: PreloadedQuery<ContinualImprovementGraphListQuery>;
}
const continualImprovementsPageFragment = graphql`
@@ -98,15 +98,7 @@ export default function ContinualImprovementsPage({ queryRef }: ContinualImprove
usePageTitle(__("Continual Improvements"));
const organization = usePreloadedQuery(
graphql`
query ContinualImprovementsPageQuery($organizationId: ID!, $snapshotId: ID) {
node(id: $organizationId) {
... on Organization {
...ContinualImprovementsPageFragment @arguments(snapshotId: $snapshotId)
}
}
}
`,
continualImprovementsQuery,
queryRef
);
@@ -116,12 +108,9 @@ export default function ContinualImprovementsPage({ queryRef }: ContinualImprove
hasNext,
isLoadingNext,
} = usePaginationFragment<
ContinualImprovementsPageQuery,
ContinualImprovementGraphListQuery,
ContinualImprovementsPageFragment$key
>(continualImprovementsPageFragment, organization.node);
if (!data) {
return <div>{__("Organization not found")}</div>;
}
const connectionId = ConnectionHandler.getConnectionID(
organizationId,

View File

@@ -399,7 +399,7 @@ function DocumentRow({
);
const lastVersion = document.versions.edges?.[0]?.node;
const isDraft = lastVersion.status === "DRAFT";
const isDraft = lastVersion?.status === "DRAFT";
const { __ } = useTranslate();
const [deleteDocument] = useDeleteDocumentMutation();

View File

@@ -117,10 +117,6 @@ export default function MeetingDetailPage(props: Props) {
usePageTitle(meeting.name);
if (!meeting) {
return <div>{__("Meeting not found")}</div>;
}
const hasAnyAction = canUpdate || canDelete;
const handleDelete = () => {

View File

@@ -27,22 +27,22 @@ import {
} from "react-relay";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { CreateNonconformityDialog } from "./dialogs/CreateNonconformityDialog";
import { deleteNonconformityMutation, NonconformitiesConnectionKey } from "../../../hooks/graph/NonconformityGraph";
import { deleteNonconformityMutation, NonconformitiesConnectionKey, nonconformitiesQuery } from "../../../hooks/graph/NonconformityGraph";
import { sprintf, promisifyMutation, getStatusVariant, getStatusLabel, formatDate } from "@probo/helpers";
import { SnapshotBanner } from "/components/SnapshotBanner";
import { useParams } from "react-router";
import type { NonconformitiesPageQuery } from "./__generated__/NonconformitiesPageQuery.graphql";
import type {
NonconformitiesPageFragment$key,
NonconformitiesPageFragment$data,
} from "./__generated__/NonconformitiesPageFragment.graphql";
import { use } from "react";
import { PermissionsContext } from "/providers/PermissionsContext";
import type { NonconformityGraphListQuery } from "/hooks/graph/__generated__/NonconformityGraphListQuery.graphql";
type Nonconformity = NonconformitiesPageFragment$data['nonconformities']['edges'][number]['node'];
interface NonconformitiesPageProps {
queryRef: PreloadedQuery<NonconformitiesPageQuery>;
queryRef: PreloadedQuery<NonconformityGraphListQuery>;
}
const nonconformitiesPageFragment = graphql`
@@ -108,15 +108,7 @@ export default function NonconformitiesPage({ queryRef }: NonconformitiesPagePro
usePageTitle(__("Nonconformities"));
const organization = usePreloadedQuery(
graphql`
query NonconformitiesPageQuery($organizationId: ID!, $snapshotId: ID) {
node(id: $organizationId) {
... on Organization {
...NonconformitiesPageFragment @arguments(snapshotId: $snapshotId)
}
}
}
`,
nonconformitiesQuery,
queryRef
);

View File

@@ -100,10 +100,6 @@ export default function ObligationDetailsPage(props: Props) {
}
);
if (!obligation) {
return <div>{__("Obligation not found")}</div>;
}
const onSubmit = handleSubmit(async (formData) => {
try {
await updateObligation({

View File

@@ -27,21 +27,21 @@ import {
import { useParams } from "react-router";
import { useOrganizationId } from "/hooks/useOrganizationId";
import { CreateObligationDialog } from "./dialogs/CreateObligationDialog";
import { deleteObligationMutation } from "../../../hooks/graph/ObligationGraph";
import { deleteObligationMutation, obligationsQuery } from "../../../hooks/graph/ObligationGraph";
import { promisifyMutation, getObligationStatusVariant, getObligationStatusLabel, formatDate } from "@probo/helpers";
import { SnapshotBanner } from "/components/SnapshotBanner";
import type { ObligationsPageQuery } from "./__generated__/ObligationsPageQuery.graphql";
import type {
ObligationsPageFragment$key,
ObligationsPageFragment$data,
} from "./__generated__/ObligationsPageFragment.graphql";
import { use } from "react";
import { PermissionsContext } from "/providers/PermissionsContext";
import type { ObligationGraphListQuery } from "/hooks/graph/__generated__/ObligationGraphListQuery.graphql";
type Obligation = ObligationsPageFragment$data['obligations']['edges'][number]['node'];
interface ObligationsPageProps {
queryRef: PreloadedQuery<ObligationsPageQuery>;
queryRef: PreloadedQuery<ObligationGraphListQuery>;
}
const obligationsPageFragment = graphql`
@@ -100,15 +100,7 @@ export default function ObligationsPage({ queryRef }: ObligationsPageProps) {
usePageTitle(__("Obligations"));
const organization = usePreloadedQuery(
graphql`
query ObligationsPageQuery($organizationId: ID!, $snapshotId: ID) {
node(id: $organizationId) {
... on Organization {
...ObligationsPageFragment @arguments(snapshotId: $snapshotId)
}
}
}
`,
obligationsQuery,
queryRef
);

View File

@@ -29,20 +29,20 @@ import {
import { useOrganizationId } from "/hooks/useOrganizationId";
import { useParams } from "react-router";
import { CreateProcessingActivityDialog } from "./dialogs/CreateProcessingActivityDialog";
import { deleteProcessingActivityMutation, ProcessingActivitiesConnectionKey } from "../../../hooks/graph/ProcessingActivityGraph";
import { deleteProcessingActivityMutation, ProcessingActivitiesConnectionKey, processingActivitiesQuery } from "../../../hooks/graph/ProcessingActivityGraph";
import { sprintf, promisifyMutation } from "@probo/helpers";
import { SnapshotBanner } from "/components/SnapshotBanner";
import type { NodeOf } from "/types";
import type { ProcessingActivitiesPageQuery } from "./__generated__/ProcessingActivitiesPageQuery.graphql";
import type {
ProcessingActivitiesPageFragment$key,
ProcessingActivitiesPageFragment$data,
} from "./__generated__/ProcessingActivitiesPageFragment.graphql";
import { PermissionsContext } from "/providers/PermissionsContext";
import { use } from "react";
import type { ProcessingActivityGraphListQuery } from "/hooks/graph/__generated__/ProcessingActivityGraphListQuery.graphql";
interface ProcessingActivitiesPageProps {
queryRef: PreloadedQuery<ProcessingActivitiesPageQuery>;
queryRef: PreloadedQuery<ProcessingActivityGraphListQuery>;
}
const processingActivitiesPageFragment = graphql`
@@ -96,15 +96,7 @@ export default function ProcessingActivitiesPage({ queryRef }: ProcessingActivit
usePageTitle(__("Processing Activities"));
const organization = usePreloadedQuery(
graphql`
query ProcessingActivitiesPageQuery($organizationId: ID!, $snapshotId: ID) {
node(id: $organizationId) {
... on Organization {
...ProcessingActivitiesPageFragment @arguments(snapshotId: $snapshotId)
}
}
}
`,
processingActivitiesQuery,
queryRef
);
@@ -114,12 +106,9 @@ export default function ProcessingActivitiesPage({ queryRef }: ProcessingActivit
hasNext,
isLoadingNext,
} = usePaginationFragment<
ProcessingActivitiesPageQuery,
ProcessingActivityGraphListQuery,
ProcessingActivitiesPageFragment$key
>(processingActivitiesPageFragment, organization.node);
if (!data) {
return <div>{__("Organization not found")}</div>;
}
const connectionId = ConnectionHandler.getConnectionID(
organizationId,

View File

@@ -116,10 +116,6 @@ export default function ProcessingActivityDetailsPage(props: Props) {
}
);
if (!activity) {
return <div>{__("Processing activity not found")}</div>;
}
const onSubmit = handleSubmit(async (formData) => {
try {
await updateActivity({

View File

@@ -56,10 +56,6 @@ export default function VendorDetailPage(props: Props) {
vendor as VendorComplianceTabFragment$key
).complianceReports.edges.length;
if (!vendor) {
return <div>{__("Vendor not found")}</div>;
}
const vendorsUrl = isSnapshotMode && snapshotId
? `/organizations/${organizationId}/snapshots/${snapshotId}/vendors`
: `/organizations/${organizationId}/vendors`;