fix: useDoc returns document id for single types

Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
Co-authored-by: Jamie Howard <jhoward1994@users.noreply.github.com>
This commit is contained in:
Ben Irvin 2024-09-17 12:17:29 +02:00
parent 6819dcbd7c
commit 351e3e4a8d

View File

@ -195,16 +195,23 @@ const useDoc = () => {
throw new Error('Could not find model in url params');
}
const document = useDocument(
{ documentId: origin || id, model: slug, collectionType, params },
{
skip: id === 'create' || (!origin && !id && collectionType !== SINGLE_TYPES),
}
);
const singleTypeId = collectionType === SINGLE_TYPES ? document.document?.documentId : undefined;
const returnId = origin || id === 'create' ? undefined : id || singleTypeId;
// console.log('return id', returnId);
return {
collectionType,
model: slug,
id: origin || id === 'create' ? undefined : id,
...useDocument(
{ documentId: origin || id, model: slug, collectionType, params },
{
skip: id === 'create' || (!origin && !id && collectionType !== SINGLE_TYPES),
}
),
id: returnId,
...document,
};
};