Skip to content

fix: drop Home's end-of-list marker, word each empty view for its tab - #374

Merged
vibhavkatre merged 1 commit into
mainfrom
fix/home-empty-states-220
Aug 9, 2026
Merged

fix: drop Home's end-of-list marker, word each empty view for its tab#374
vibhavkatre merged 1 commit into
mainfrom
fix/home-empty-states-220

Conversation

@vibhavkatre

Copy link
Copy Markdown
Collaborator

Home closed every populated view with:

You've reached the end · made with Frappe Draw

It told the user nothing they could act on, and anyone who met it before scrolling
read it as an empty state. It is gone.

The empty views carry the message instead

Each is now worded for its own tab, because "empty" means something different in
each one:

Tab Title Hint
Home Start a drawing Use Create to make your first one.
Recent Nothing recent Diagrams you open show up here.
Shared with you Nothing shared with you Diagrams others share with you show up here.
Pinned No pinned diagrams Pin a diagram to keep it handy here.

Home is the only one that reads as an invitation rather than a report. The Create
button is right there, and a first-time user lands on it with nothing.

A search that matches nothing still wins over the tab wording, since the query is
what excluded the rows — "No pinned diagrams" would be wrong when the tab does have
pins.

Where the copy lives

The set moves to homeViews.js, next to the nav and the view titles, so it is
unit-testable without mounting the grid. That is the reason the module exists:

Kept in one plain module — not inside the SFCs — so the sidebar / shell / grid
stay declarative and the unit tests can assert the view set and filters without
mounting (browser-free) components.

An unknown mode falls back to Home rather than rendering an undefined icon. A test
walks the nav set and fails if a view is ever added without an empty state.

Verification

Driven live on Home:

  • a populated Home no longer ends with the marker

  • the Shared tab, with nothing in it, shows its own wording

  • a search matching nothing says "No diagrams match", not the tab wording

  • yarn test — 879 pass, 8 new checks

  • yarn build — clean

Closes #220

Home closed every populated view with "You've reached the end · made with
Frappe Draw". It told the user nothing they could act on, and anyone who
met it before scrolling read it as an empty state. It is gone.

The empty views carry the message instead, and each is now worded for its
own tab. Home is the one that reads as an invitation rather than a
report — "Start a drawing" — because the Create button is right there and
a first-time user lands on it with nothing. Recent, Shared and Pinned each
say what belongs there. A search that matches nothing still wins over the
tab wording, since the query is what excluded the rows.

The set moves to homeViews.js, next to the nav and the view titles, so the
copy is unit-testable without mounting the grid — the reason that module
exists. An unknown mode falls back to Home rather than rendering an
undefined icon.

Closes #220

Co-authored-by: Vibhav Katre <vibhav@frappe.io>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@vibhavkatre
vibhavkatre merged commit d537d51 into main Aug 9, 2026
3 checks passed
@vibhavkatre
vibhavkatre deleted the fix/home-empty-states-220 branch August 9, 2026 16:59
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.

[Home][Bug] Fix "You've reached the end" placeholder logic

2 participants