diff --git a/web/apps/photos/src/components/Collections/CollectionOptions/AlbumCastDialog.tsx b/web/apps/photos/src/components/Collections/CollectionOptions/AlbumCastDialog.tsx index f477ae9bf6..05384895f1 100644 --- a/web/apps/photos/src/components/Collections/CollectionOptions/AlbumCastDialog.tsx +++ b/web/apps/photos/src/components/Collections/CollectionOptions/AlbumCastDialog.tsx @@ -225,7 +225,8 @@ export default function AlbumCastDialog(props: Props) { diff --git a/web/packages/shared/components/SingleInputForm.tsx b/web/packages/shared/components/SingleInputForm.tsx index 3422eebdbe..36f91d5b9b 100644 --- a/web/packages/shared/components/SingleInputForm.tsx +++ b/web/packages/shared/components/SingleInputForm.tsx @@ -18,7 +18,27 @@ export interface SingleInputFormProps { resetForm: (nextState?: Partial>) => void, ) => Promise; fieldType: "text" | "email" | "password"; - placeholder: string; + /** deprecated: Use realPlaceholder */ + placeholder?: string; + /** + * Placeholder + * + * The existing `placeholder` property uses the placeholder as a label (i.e. + * it doesn't appear as the placeholder within the text input area but + * rather as the label on top of it). This happens conditionally, so it is + * not a matter of simple rename. + * + * Gradually migrate the existing UI to use this property when we really + * want a placeholder, and then create a separate label property for places + * that actually want to set the label. + */ + realPlaceholder?: string; + /** + * Label to show on top of the text input area. + * + * Sibling of {@link realPlaceholder}. + */ + realLabel?: string; buttonText: string; submitButtonProps?: any; initialValue?: string; @@ -102,7 +122,12 @@ export default function SingleInputForm(props: SingleInputFormProps) { name={props.fieldType} {...(props.hiddenLabel ? { placeholder: props.placeholder } - : { label: props.placeholder })} + : props.realPlaceholder + ? { + placeholder: props.realPlaceholder, + label: props.realLabel, + } + : { label: props.placeholder })} value={values.inputValue} onChange={handleChange("inputValue")} error={Boolean(errors.inputValue)}