Fix draft creation

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-07-21 18:20:47 +02:00
parent 535f72fc29
commit 4c1283b054
3 changed files with 11 additions and 3 deletions

View File

@@ -142,7 +142,7 @@ export default function DocumentDetailPage(props: Props) {
const currentVersion = const currentVersion =
document.versions.edges.find((v) => v.node.id === versionId)?.node ?? document.versions.edges.find((v) => v.node.id === versionId)?.node ??
document.versions.edges[0].node; document.versions.edges[0].node;
const signatures = currentVersion.signatures.edges.map((s) => s.node); const signatures = currentVersion.signatures?.edges?.map((s) => s.node) ?? [];
const signedSignatures = signatures.filter((s) => s.state === "SIGNED"); const signedSignatures = signatures.filter((s) => s.state === "SIGNED");
const isDraft = currentVersion.status === "DRAFT"; const isDraft = currentVersion.status === "DRAFT";
const [publishDocumentVersion, isPublishing] = useMutationWithToasts( const [publishDocumentVersion, isPublishing] = useMutationWithToasts(

View File

@@ -244,7 +244,7 @@ function DocumentRow({
const lastVersion = document.versions.edges[0].node; const lastVersion = document.versions.edges[0].node;
const isDraft = lastVersion.status === "DRAFT"; const isDraft = lastVersion.status === "DRAFT";
const { __, dateFormat } = useTranslate(); const { __, dateFormat } = useTranslate();
const signatures = lastVersion.signatures.edges.map((edge) => edge.node); const signatures = lastVersion.signatures?.edges?.map((edge) => edge.node) ?? [];
const signedCount = signatures.filter( const signedCount = signatures.filter(
(signature) => signature.state === "SIGNED" (signature) => signature.state === "SIGNED"
).length; ).length;

View File

@@ -34,13 +34,21 @@ export default function DocumentSignaturesTab() {
} }
function SignatureList(props: { version: Version }) { function SignatureList(props: { version: Version }) {
const signatures = props.version.signatures.edges.map((edge) => edge.node); const signatures = props.version.signatures?.edges?.map((edge) => edge.node) ?? [];
const { __ } = useTranslate(); const { __ } = useTranslate();
const signatureMap = new Map(signatures.map((s) => [s.signedBy.id, s])); const signatureMap = new Map(signatures.map((s) => [s.signedBy.id, s]));
const organizationId = useOrganizationId(); const organizationId = useOrganizationId();
const people = usePeople(organizationId); const people = usePeople(organizationId);
const signable = props.version.status === "PUBLISHED"; const signable = props.version.status === "PUBLISHED";
if (!props.version.signatures) {
return (
<div className="text-center text-sm text-txt-tertiary py-3">
{__("Loading signatures...")}
</div>
);
}
if (people.length === 0) { if (people.length === 0) {
return ( return (
<div className="text-center text-sm text-txt-tertiary py-3"> <div className="text-center text-sm text-txt-tertiary py-3">