Skip to content

feat: projects page improvements for cloud editing support#9295

Open
AdityaHegde wants to merge 13 commits intomainfrom
feat/improved-projects-page
Open

feat: projects page improvements for cloud editing support#9295
AdityaHegde wants to merge 13 commits intomainfrom
feat/improved-projects-page

Conversation

@AdityaHegde
Copy link
Copy Markdown
Collaborator

@AdityaHegde AdityaHegde commented Apr 24, 2026

Improves projects page by integrating the new toolbar. Clicking edit will always open the edit branch modal.

Checklist:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

@ericokuma
Copy link
Copy Markdown
Contributor

ericokuma commented Apr 29, 2026

Product UXQA:

  1. Make sure to display the "Create from main/edit existing branch" modal when Edit is clicked (also make sure that Edit is only visible to Admin and Editor roles)

Design nits/feedback (FYI @Di7design)

  1. The Filter Clear all button feels really really far from the Filters.
Screenshot 2026-04-28 at 11 31 39 PM
  1. When I have less than 4 cards, it looks like the search, sort, and new project buttons are just floating
Screenshot 2026-04-28 at 11 37 26 PM
  1. I find it a bit annoying that I had to click to expand the search field. Can we just have an always expanded search field? Also found it odd that it's all the way to the right. Most orgs won't have more than 2-3 projects so placing most of the action buttons all the way to the right feels a bit off

  2. With the Sort design, I couldn't tell if the sort was displaying the current sort order or what the sort order would be if i clicked it. Mostly because the cards don't have dates on them so I have no idea what it's sorting.

Suggestions:
Screenshot 2026-04-29 at 1 45 52 AM

  1. Always-visible search field
    Change: Remove click-to-expand. Render a permanent 240–260px search input.
    Why: Hiding search behind an icon adds a click without saving meaningful space. Also matches the always-on pattern used elsewhere in Rill.

  2. Left-align all controls into one group
    Change: Replace justify-between with justify-start + consistent gap. Filter, Search, Sort sit together on the left; "New project" stays right-aligned as the primary action.
    Why: justify-between makes sense for dense tables but creates "floating controls" when the card grid is sparse. Grouping the controls reads as a single control strip rather than orphaned widgets.

  3. "Clear all" adjacent to filter chips
    Change: Move "Clear all" to sit immediately after the last chip in the same flex row, not pushed to the far right edge.
    Why: Currently the button is ~1000px away from the chip it operates on. Proximity is the visual cue that they're related.

  4. Sort as labeled dropdown with checkmark
    Change: Replace the toggle button (Newest ⇅) with a dropdown labeled Sort: Newest first ▾. Show a ✓ next to the active option. Perhaps we should also have sorting for Name ASC and DESC too
    Why: The current toggle is ambiguous — "Newest" could mean current state or pending action. The Sort: prefix labels the value; the checkmark confirms the active state.

  5. Drop the slide transition on the filter chips row
    Change: Keep the row hidden when empty (don't reserve space), but remove the slide animation. Cards just appear/disappear.
    Why: The shift itself is fine — it's predictable, and reserving permanent empty space looks broken. The slide animation is what makes the jump feel jarring; an instant change perhaps reads as cleaner.

@AdityaHegde
Copy link
Copy Markdown
Collaborator Author

AdityaHegde commented Apr 29, 2026

Thanks @ericokuma . We need the edit modal before we can show that. Will be in a separate PR.

All the design feedback are on the TableToolbar that was in #9173 . So lets take that separately. Probably worth revisiting it for card view and when they are 1-2 cards (this will probably be for most orgs).

@AdityaHegde AdityaHegde requested a review from ericokuma May 1, 2026 04:46
@AdityaHegde AdityaHegde marked this pull request as ready for review May 1, 2026 04:46
@AdityaHegde AdityaHegde requested a review from a team as a code owner May 1, 2026 04:46
@AdityaHegde AdityaHegde requested a review from ericpgreen2 May 1, 2026 06:43
@notion-workspace
Copy link
Copy Markdown

@royendo royendo mentioned this pull request May 1, 2026
8 tasks
@ericokuma
Copy link
Copy Markdown
Contributor

LGTM.

One thing to change:

Screenshot 2026-05-03 at 10 16 55 PM

When no matches for filter applied or search applied, the message should be updated from "This organization has no projects yet" to "No matching projects found"

Copy link
Copy Markdown
Contributor

@ericokuma ericokuma left a comment

Choose a reason for hiding this comment

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

see above

Copy link
Copy Markdown
Contributor

@ericpgreen2 ericpgreen2 left a comment

Choose a reason for hiding this comment

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

Following up on @ericokuma's earlier review — his feedback raised the same toolbar concerns I had (sort ambiguity, click-to-expand search, floating controls when sparse), and I appreciate the framing of taking those to #9173.

Two proposed changes for this PR:

1. Implement the card layout from the latest Figma mocks rather than extending the existing card. The current card was designed for a much simpler payload (name + permission tag), and this PR adds status, actions, and (existing) public/private state to its corners without rethinking the layout. The result is four pieces of metadata orbiting a centered title, with the brand-purple "Ready" chip outweighing the project name visually. The Figma redesign (header row with status + permission + actions, title block, footer with visibility + date) handles this payload much better and reads as the right next step — recommend landing it here instead of an intermediate state.

2. Drop the new toolbar from the projects page for now. The redesigned toolbar in the latest mocks is a meaningful step up from the one in this PR, and shipping the current toolbar in the meantime risks an awkward intermediate state — particularly for orgs with only one project, which is the most common case and where the floating controls look the most off. Better to wait for the redesigned toolbar to land than to ship two iterations of it in quick succession.

A few smaller items worth picking up regardless of the above:

  • "Ready" renders in the brand purple (Chip type="dimension"primary-50/200/800), which makes the status chip more prominent than the project name. Purple is also unconventional for a healthy state — green is the universal expectation (GitHub, Vercel, Netlify, Linear). Worth using a less saturated treatment, or a different chip variant.
  • Card.svelte toggles the actions menu on onmouseenter / onmouseleave only, so keyboard users tabbing through cards can't reach the three-dot menu. :focus-within or onfocusin / onfocusout would close that gap.
  • ProjectNameSettings.svelte:16 has a leftover console.log(newProject, project).

Developed in collaboration with Claude Code

Copy link
Copy Markdown
Contributor

ericokuma commented May 4, 2026

If it helps, I have this PR that addresses the toobar issues: #9367

@ericokuma
Copy link
Copy Markdown
Contributor

@ericpgreen2, can we address your feedback in a separate PR? Move this one forward so that at least we can have the edit button available on main to test E2E flow?

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.

3 participants