diff --git a/packages/keystatic/src/app/CollectionPage.tsx b/packages/keystatic/src/app/CollectionPage.tsx index 2d086dd03..e1649c9a8 100644 --- a/packages/keystatic/src/app/CollectionPage.tsx +++ b/packages/keystatic/src/app/CollectionPage.tsx @@ -570,6 +570,12 @@ function CollectionTable( if (val == null) { val = undefined; + } else if ( + collection.schema[column].kind === 'conditional' && + typeof val === 'object' && + 'discriminant' in val + ) { + val = val.discriminant + ''; } else { val = val + ''; } diff --git a/packages/keystatic/src/config.tsx b/packages/keystatic/src/config.tsx index 4c95368f3..e12eda39d 100644 --- a/packages/keystatic/src/config.tsx +++ b/packages/keystatic/src/config.tsx @@ -1,7 +1,12 @@ import { ColorScheme } from '@keystar/ui/types'; import { ReactElement } from 'react'; -import { ComponentSchema, FormField, SlugFormField } from './form/api'; +import { + ComponentSchema, + ConditionalField, + FormField, + SlugFormField, +} from './form/api'; import type { Locale } from './app/l10n/locales'; import { RepoConfig } from './app/repo-config'; @@ -189,6 +194,7 @@ export function collection< string | number | boolean | Date | null | undefined > | SlugFormField + | ConditionalField ? K & string : never; }[keyof Schema][];