Skip to content

Add visual examples to README and fix validation on landing website - #81

Merged
KamilSztandur merged 5 commits into
mainfrom
feedback-readme-landing
Sep 13, 2026
Merged

KamilSztandur merged 5 commits into
mainfrom
feedback-readme-landing

Conversation

@KamilSztandur

@KamilSztandur KamilSztandur commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

The sign-up demo accepted ada @example.com

The isEmail every example carried was value.contains('@'), so the first form a visitor touches on the landing page let spaces through. Not a great first impression for a validation library.

Every copy now matches a pattern — no whitespace, one @, a dot in the domain — in the landing hero, the custom-validators page (built on its own matches helper, so the composition it teaches does the work), server errors, both subform examples, and the example app. The test snippet in the testing docs gained the whitespace case.

Verified in a browser against the live islands:

typed result
ada @example.com rejected
ada@example rejected
ada rejected
ada@example.com accepted

README

  • The opening was all architecture, no benefit. It now leads with simple and complicated forms wired the same way, validation and async checks in the box, and keeps the technical sentence with its search keywords right underneath.
  • Three unlabelled code blocks in a row under "Your first form" — each now says what it is: the form controller, the form widget, the field widget.
  • A wall of text with nothing to look at, and no sign of what the snippets produce. Three screenshots now sit between the prose, taken from the live examples that are compiled from those very snippets: the first form after an empty submit, a username rejected by a server-side check, and a guest list where each guest is a subform added at runtime. Each links to its live version on the site.

The logo geometry Piotr also raised is left alone — a designer is on it.

Release

0.2.1+1, documentation only, no library changes. Version bumped in pubspec.yaml, example/pubspec.yaml and the example lockfile, with a CHANGELOG.md entry.

Checks

flutter analyze and flutter test (39) in the package and the island bundle, dart format, examples:check, examples:format:check, types:check, lint, format, next build, and a pass over every page whose snippet changed to confirm its island still comes up clean. pana reports 160/160 at the new version.

🤖 Generated with Claude Code

KamilSztandur and others added 2 commits September 11, 2026 10:42
The toy `isEmail` every example carried only looked for an '@', so the
sign-up demo on the landing page accepted `ada @example.com` — spaces
and all. Albert typed one in and it sailed through, which is a poor look
for a validation library's first impression.

Every copy now matches a pattern instead: no whitespace, one '@', a dot
in the domain. The custom-validators page builds `isEmail` on top of its
own `matches` helper, so the composition it teaches does the work, and
the subform examples share one top-level pattern rather than an inline
`contains`.

Verified in a browser against the live islands: `ada @example.com`,
`ada@example` and `ada` are all rejected, `ada@example.com` passes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Piotr's review, in three parts.

The opening paragraph led with the architecture. It now leads with what
you get — simple and complicated forms wired the same way, validation and
async checks in the box — and keeps the technical sentence, and its search
keywords, right underneath.

'Your first form' dropped three unlabelled code blocks in a row. Each one
now says what it is: the form controller, the form widget, the field
widget.

And the wall of text got pictures, taken from the live examples that are
compiled from these very snippets: the first form after an empty submit,
a username rejected by a server-side check, and a guest list where each
guest is a subform added at runtime. Each links to its live version.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 11, 2026

Copy link
Copy Markdown

Docs preview: https://advanced-forms-njq6gz8u6-leancode.vercel.app

Built from 6c9bec1; the landing page is at /, the docs under /docs.

@KamilSztandur KamilSztandur changed the title Address Albert's and Piotr's feedback on the README and the landing Add visual examples to README and fix validation on landing website Sep 11, 2026

@mateusz-pietras mateusz-pietras left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgmt, check that one png tho

Comment thread doc/first-form.png
KamilSztandur and others added 3 commits September 11, 2026 13:11
Documentation only: the README rewrite and the e-mail validator fix in
the examples, so pub.dev picks them up.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The crop was taken in page coordinates after the island had been scrolled
into view, so it landed a viewport's worth too high: the example's title
bar at the top, the button sliced at the bottom. It is an element
screenshot now, cut under the last row the lime button fills.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@KamilSztandur
KamilSztandur merged commit 4dd5154 into main Sep 13, 2026
5 checks passed
@KamilSztandur
KamilSztandur deleted the feedback-readme-landing branch September 13, 2026 21:39
@KamilSztandur
KamilSztandur restored the feedback-readme-landing branch September 13, 2026 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants