diff --git a/backend/druks/durable/schemas.py b/backend/druks/durable/schemas.py index df69efbf..a872d94b 100644 --- a/backend/druks/durable/schemas.py +++ b/backend/druks/durable/schemas.py @@ -132,9 +132,8 @@ def from_run( # takes either and is always a string. SubjectId = Annotated[str, BeforeValidator(str)] -# The one line a board row and a detail page show a subject as. Blank is rejected -# rather than rendered: a title nobody can read is the thing this field exists to -# prevent. +# The one line a board row and a detail page show a subject as; blank is +# rejected rather than rendered. SubjectLabel = Annotated[str, StringConstraints(strip_whitespace=True, min_length=1)] diff --git a/frontend/src/components/Control.tsx b/frontend/src/components/Control.tsx index 756d3472..3f69acc4 100644 --- a/frontend/src/components/Control.tsx +++ b/frontend/src/components/Control.tsx @@ -6,10 +6,8 @@ import type { TextareaHTMLAttributes, } from 'react' -// The control frames the shell draws, as components. Omitting ``className`` is -// the point: the class name stops being a contract typed by hand, so it can be -// renamed without breaking a caller. Layout stays the page's — position a -// control from the parent's own rules, not by passing it a class. +// Dropping ``className`` is the point: the class name stops being a contract +// callers type by hand. Position a control from the parent's own rules. type Bare

= Omit export function TextInput(props: Bare>) { @@ -29,7 +27,6 @@ interface ButtonProps extends Bare> { } export function Button({ variant = 'ghost', ...props }: ButtonProps) { - // ``type`` ahead of the spread so a form's submit button can override it. return