Fix CMS journal date controls

This commit is contained in:
Kevin
2026-09-04 22:00:33 -04:00
parent fed90330a4
commit e5b4caccdf
2 changed files with 12 additions and 6 deletions
+3 -2
View File
@@ -101,8 +101,8 @@ const expectedCollections = {
fields: {
title: { widget: 'string', pattern: ['^.{12,100}$', 'Use 12–100 characters.'] },
description: { widget: 'text', pattern: ['^[\\s\\S]{30,180}$', 'Use 30–180 characters.'] },
pubDate: { widget: 'date', format: 'YYYY-MM-DD' },
updatedDate: { widget: 'date', format: 'YYYY-MM-DD', required: false },
pubDate: { widget: 'datetime', default: '{{now}}', date_format: 'YYYY-MM-DD', time_format: false, picker_utc: true },
updatedDate: { widget: 'datetime', date_format: 'YYYY-MM-DD', time_format: false, picker_utc: true, required: false },
tags: { widget: 'list', min: 1, max: 4, field: { widget: 'string', pattern: ['^.{2,32}$', 'Use 2–32 characters.'] } },
draft: { widget: 'boolean', default: false },
body: markdownField,
@@ -153,6 +153,7 @@ for (const [fieldName, fieldContract] of Object.entries(expectedPageImageFields)
function visitField(field) {
assert(field.widget !== 'file', `General file widget is forbidden: ${field.name}.`);
assert(field.widget !== 'date', `Unsupported Decap date widget is forbidden; use a date-only datetime widget: ${field.name}.`);
if (field.fields) field.fields.forEach(visitField);
if (field.field) visitField(field.field);
}