Fix type errors

Signed-off-by: gearnode <bryan@frimin.fr>
This commit is contained in:
gearnode
2025-02-25 23:05:07 +01:00
parent 818a656477
commit af23a3e605
6 changed files with 47 additions and 170 deletions

View File

@@ -14,23 +14,11 @@ import { Button } from "@/components/ui/button";
import { Card } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import type { CreatePeoplePageQuery as CreatePeoplePageQueryType } from "./__generated__/CreatePeoplePageQuery.graphql";
import { useToast } from "@/hooks/use-toast";
import { HelpCircle } from "lucide-react";
import { cn } from "@/lib/utils";
import { CreatePeoplePageCreatePeopleMutation } from "./__generated__/CreatePeoplePageCreatePeopleMutation.graphql";
const createPeoplePageQuery = graphql`
query CreatePeoplePageQuery {
viewer {
id
organizations {
id
name
}
}
}
`;
import { useOrganization } from "@/contexts/OrganizationContext";
const createPeopleMutation = graphql`
mutation CreatePeoplePageCreatePeopleMutation(
@@ -85,13 +73,10 @@ function EditableField({
);
}
function CreatePeoplePageContent({
queryRef,
}: {
queryRef: PreloadedQuery<CreatePeoplePageQueryType>;
}) {
function CreatePeoplePageContent() {
const navigate = useNavigate();
const data = usePreloadedQuery(createPeoplePageQuery, queryRef);
const { currentOrganization } = useOrganization();
const [createPeople] =
useMutation<CreatePeoplePageCreatePeopleMutation>(createPeopleMutation);
const { toast } = useToast();
@@ -112,15 +97,15 @@ function CreatePeoplePageContent({
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
const peopleConnectionId = ConnectionHandler.getConnectionID(
data.viewer.organization.id,
"PeopleListPage_peoples",
currentOrganization!.id,
"PeopleListPage_peoples"
);
createPeople({
variables: {
connections: [peopleConnectionId],
input: {
organizationId: data.viewer.organization.id,
organizationId: currentOrganization!.id,
fullName: formData.fullName,
primaryEmailAddress: formData.primaryEmailAddress,
additionalEmailAddresses: formData.additionalEmailAddresses,
@@ -189,7 +174,7 @@ function CreatePeoplePageContent({
newEmails[index] = e.target.value;
handleFieldChange(
"additionalEmailAddresses",
newEmails,
newEmails
);
}}
/>
@@ -199,11 +184,11 @@ function CreatePeoplePageContent({
onClick={() => {
const newEmails =
formData.additionalEmailAddresses.filter(
(_, i) => i !== index,
(_, i) => i !== index
);
handleFieldChange(
"additionalEmailAddresses",
newEmails,
newEmails
);
}}
>
@@ -251,7 +236,7 @@ function CreatePeoplePageContent({
"rounded-full px-4 py-1 text-sm transition-colors",
formData.kind === "EMPLOYEE"
? "bg-blue-100 text-blue-900 ring-2 ring-blue-600 ring-offset-2"
: "bg-gray-100 text-gray-900 hover:bg-gray-200",
: "bg-gray-100 text-gray-900 hover:bg-gray-200"
)}
>
Employee
@@ -263,7 +248,7 @@ function CreatePeoplePageContent({
"rounded-full px-4 py-1 text-sm transition-colors",
formData.kind === "CONTRACTOR"
? "bg-purple-100 text-purple-900 ring-2 ring-purple-600 ring-offset-2"
: "bg-gray-100 text-gray-900 hover:bg-gray-200",
: "bg-gray-100 text-gray-900 hover:bg-gray-200"
)}
>
Contractor
@@ -292,21 +277,9 @@ function CreatePeoplePageContent({
}
export default function CreatePeoplePage() {
const [queryRef, loadQuery] = useQueryLoader<CreatePeoplePageQueryType>(
createPeoplePageQuery,
);
useEffect(() => {
loadQuery({});
}, [loadQuery]);
if (!queryRef) {
return null;
}
return (
<Suspense fallback={null}>
<CreatePeoplePageContent queryRef={queryRef} />
<CreatePeoplePageContent />
</Suspense>
);
}

View File

@@ -19,7 +19,6 @@ import type { VendorListPageQuery as VendorListPageQueryType } from "./__generat
import { Helmet } from "react-helmet-async";
import { VendorListPageCreateVendorMutation } from "./__generated__/VendorListPageCreateVendorMutation.graphql";
import { VendorListPageDeleteVendorMutation } from "./__generated__/VendorListPageDeleteVendorMutation.graphql";
import { toast } from "@/hooks/use-toast";
import { VendorListPagePaginationQuery } from "./__generated__/VendorListPagePaginationQuery.graphql";
import { VendorListPage_vendors$key } from "./__generated__/VendorListPage_vendors.graphql";
import { useToast } from "@/hooks/use-toast";
@@ -36,6 +35,8 @@ const vendorListPageQuery = graphql`
$before: CursorKey
) {
organization: node(id: $organizationId) {
id
...VendorListPage_vendors
@arguments(first: $first, after: $after, last: $last, before: $before)
}
@@ -51,7 +52,6 @@ const vendorListFragment = graphql`
last: { type: "Int" }
before: { type: "CursorKey" }
) {
id
vendors(first: $first, after: $after, last: $last, before: $before)
@connection(key: "VendorListPage_vendors") {
__id
@@ -189,7 +189,7 @@ function VendorListContent({
const { toast } = useToast();
const data = usePreloadedQuery<VendorListPageQueryType>(
vendorListPageQuery,
queryRef,
queryRef
);
const [searchParams, setSearchParams] = useSearchParams();
const [isPending, startTransition] = useTransition();
@@ -269,7 +269,7 @@ function VendorListContent({
variables: {
connections: [vendorsConnection.vendors.__id],
input: {
organizationId: organization.id,
organizationId: data.organization.id,
name: vendor.name,
description: "",
serviceStartAt: new Date().toISOString(),
@@ -335,7 +335,7 @@ function VendorListContent({
e.preventDefault(); // Prevent navigation
if (
window.confirm(
"Are you sure you want to delete this vendor?",
"Are you sure you want to delete this vendor?"
)
) {
deleteVendor({

View File

@@ -1,98 +0,0 @@
/**
* @generated SignedSource<<9453bfb4e947c003e812ae63a4f1ed0a>>
* @lightSyntaxTransform
* @nogrep
*/
/* tslint:disable */
/* eslint-disable */
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
export type CreatePeoplePageQuery$variables = Record<PropertyKey, never>;
export type CreatePeoplePageQuery$data = {
readonly viewer: {
readonly id: string;
readonly organizations: ReadonlyArray<{
readonly id: string;
readonly name: string;
}>;
};
};
export type CreatePeoplePageQuery = {
response: CreatePeoplePageQuery$data;
variables: CreatePeoplePageQuery$variables;
};
const node: ConcreteRequest = (function(){
var v0 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v1 = [
{
"alias": null,
"args": null,
"concreteType": "User",
"kind": "LinkedField",
"name": "viewer",
"plural": false,
"selections": [
(v0/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Organization",
"kind": "LinkedField",
"name": "organizations",
"plural": true,
"selections": [
(v0/*: any*/),
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
}
],
"storageKey": null
}
],
"storageKey": null
}
];
return {
"fragment": {
"argumentDefinitions": [],
"kind": "Fragment",
"metadata": null,
"name": "CreatePeoplePageQuery",
"selections": (v1/*: any*/),
"type": "Query",
"abstractKey": null
},
"kind": "Request",
"operation": {
"argumentDefinitions": [],
"kind": "Operation",
"name": "CreatePeoplePageQuery",
"selections": (v1/*: any*/)
},
"params": {
"cacheID": "74b036184be646c06a001772776c445b",
"id": null,
"metadata": {},
"name": "CreatePeoplePageQuery",
"operationKind": "query",
"text": "query CreatePeoplePageQuery {\n viewer {\n id\n organizations {\n id\n name\n }\n }\n}\n"
}
};
})();
(node as any).hash = "751fa313df4e5ed06f8100d1e7e2d4ea";
export default node;

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<8a3c352a16aeb823ac25ee61446cc573>>
* @generated SignedSource<<4088732e27ad0219fc1d7a47b156bc6e>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -294,16 +294,16 @@ return {
]
},
"params": {
"cacheID": "8fa8530a89995a836fec656b1d141b89",
"cacheID": "3ebbf3bc033c96f10ad0e06f53ef3551",
"id": null,
"metadata": {},
"name": "VendorListPagePaginationQuery",
"operationKind": "query",
"text": "query VendorListPagePaginationQuery(\n $after: CursorKey\n $before: CursorKey\n $first: Int\n $last: Int\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...VendorListPage_vendors_pbnwq\n id\n }\n}\n\nfragment VendorListPage_vendors_pbnwq on Organization {\n id\n vendors(first: $first, after: $after, last: $last, before: $before) {\n edges {\n node {\n id\n name\n description\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n}\n"
"text": "query VendorListPagePaginationQuery(\n $after: CursorKey\n $before: CursorKey\n $first: Int\n $last: Int\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...VendorListPage_vendors_pbnwq\n id\n }\n}\n\nfragment VendorListPage_vendors_pbnwq on Organization {\n vendors(first: $first, after: $after, last: $last, before: $before) {\n edges {\n node {\n id\n name\n description\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n id\n}\n"
}
};
})();
(node as any).hash = "7ab226392b5cd58f332515753f1099ae";
(node as any).hash = "3e2b7b3ee9248d288c34bcd156a0604d";
export default node;

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<15bedd2878042e53e79e430f79d767cb>>
* @generated SignedSource<<116a0717d13f9b7f35da0cfb4f01de44>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -19,6 +19,7 @@ export type VendorListPageQuery$variables = {
};
export type VendorListPageQuery$data = {
readonly organization: {
readonly id: string;
readonly " $fragmentSpreads": FragmentRefs<"VendorListPage_vendors">;
};
};
@@ -60,7 +61,14 @@ v5 = [
"variableName": "organizationId"
}
],
v6 = [
v6 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v7 = [
{
"kind": "Variable",
"name": "after",
@@ -82,18 +90,11 @@ v6 = [
"variableName": "last"
}
],
v7 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "__typename",
"storageKey": null
},
v8 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"name": "__typename",
"storageKey": null
};
return {
@@ -117,8 +118,9 @@ return {
"name": "node",
"plural": false,
"selections": [
(v6/*: any*/),
{
"args": (v6/*: any*/),
"args": (v7/*: any*/),
"kind": "FragmentSpread",
"name": "VendorListPage_vendors"
}
@@ -149,14 +151,14 @@ return {
"name": "node",
"plural": false,
"selections": [
(v7/*: any*/),
(v8/*: any*/),
(v6/*: any*/),
{
"kind": "InlineFragment",
"selections": [
{
"alias": null,
"args": (v6/*: any*/),
"args": (v7/*: any*/),
"concreteType": "VendorConnection",
"kind": "LinkedField",
"name": "vendors",
@@ -178,7 +180,7 @@ return {
"name": "node",
"plural": false,
"selections": [
(v8/*: any*/),
(v6/*: any*/),
{
"alias": null,
"args": null,
@@ -207,7 +209,7 @@ return {
"name": "updatedAt",
"storageKey": null
},
(v7/*: any*/)
(v8/*: any*/)
],
"storageKey": null
},
@@ -277,7 +279,7 @@ return {
},
{
"alias": null,
"args": (v6/*: any*/),
"args": (v7/*: any*/),
"filters": null,
"handle": "connection",
"key": "VendorListPage_vendors",
@@ -294,16 +296,16 @@ return {
]
},
"params": {
"cacheID": "4f036b643119ac6840eede9bc148c6ac",
"cacheID": "7aa223f9a0e9a5f57269b5dbdd339625",
"id": null,
"metadata": {},
"name": "VendorListPageQuery",
"operationKind": "query",
"text": "query VendorListPageQuery(\n $organizationId: ID!\n $first: Int\n $after: CursorKey\n $last: Int\n $before: CursorKey\n) {\n organization: node(id: $organizationId) {\n __typename\n ...VendorListPage_vendors_pbnwq\n id\n }\n}\n\nfragment VendorListPage_vendors_pbnwq on Organization {\n id\n vendors(first: $first, after: $after, last: $last, before: $before) {\n edges {\n node {\n id\n name\n description\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n}\n"
"text": "query VendorListPageQuery(\n $organizationId: ID!\n $first: Int\n $after: CursorKey\n $last: Int\n $before: CursorKey\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ...VendorListPage_vendors_pbnwq\n }\n}\n\nfragment VendorListPage_vendors_pbnwq on Organization {\n vendors(first: $first, after: $after, last: $last, before: $before) {\n edges {\n node {\n id\n name\n description\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n id\n}\n"
}
};
})();
(node as any).hash = "a0a4881ec7e60051fa196830f5c62f45";
(node as any).hash = "1dc54deae9707bee0ab9beba6d844df3";
export default node;

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<d8da23ca67cc47188e916e129dac0be0>>
* @generated SignedSource<<193d632d808f2238377dab9c47d89f49>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -105,7 +105,6 @@ return {
},
"name": "VendorListPage_vendors",
"selections": [
(v1/*: any*/),
{
"alias": "vendors",
"args": null,
@@ -232,13 +231,14 @@ return {
}
],
"storageKey": null
}
},
(v1/*: any*/)
],
"type": "Organization",
"abstractKey": null
};
})();
(node as any).hash = "7ab226392b5cd58f332515753f1099ae";
(node as any).hash = "3e2b7b3ee9248d288c34bcd156a0604d";
export default node;