diff --git a/src/ui/form-builder.ts b/src/ui/form-builder.ts index d242126..c20847f 100644 --- a/src/ui/form-builder.ts +++ b/src/ui/form-builder.ts @@ -12,6 +12,9 @@ const FIELD_TYPES: FieldType[] = [ 'note-link', 'folder-picker', 'rating', + 'slider', + 'color', + 'time', ]; /** @@ -243,7 +246,7 @@ export class FormBuilderModal extends Modal { }); // Placeholder (for text, textarea, number, date, note-link, folder-picker) - if (['text', 'textarea', 'number', 'date', 'note-link', 'folder-picker'].includes(field.type)) { + if (['text', 'textarea', 'number', 'date', 'time', 'note-link', 'folder-picker'].includes(field.type)) { this.addTextSetting( bodyEl, 'Placeholder', @@ -280,6 +283,34 @@ export class FormBuilderModal extends Modal { }, ); } + + // Min / Max / Step (for slider) + if (field.type === 'slider') { + this.addTextSetting( + bodyEl, + 'Min', + String(field.min ?? 0), + (v) => { + field.min = v === '' ? undefined : Number(v); + }, + ); + this.addTextSetting( + bodyEl, + 'Max', + String(field.max ?? 100), + (v) => { + field.max = v === '' ? undefined : Number(v); + }, + ); + this.addTextSetting( + bodyEl, + 'Step', + String(field.step ?? 1), + (v) => { + field.step = v === '' ? undefined : Number(v); + }, + ); + } } }