Skip to content

fix(web): add New project CTA to projects empty state (#2978)#3043

Open
leno23 wants to merge 1 commit into
nexu-io:mainfrom
leno23:fix/2978-projects-empty-new-project
Open

fix(web): add New project CTA to projects empty state (#2978)#3043
leno23 wants to merge 1 commit into
nexu-io:mainfrom
leno23:fix/2978-projects-empty-new-project

Conversation

@leno23
Copy link
Copy Markdown

@leno23 leno23 commented May 26, 2026

/claim #2978

Summary

  • Add a primary New project button to the Projects page empty state in the main content area.
  • Update empty-state copy to guide first-time users without referring only to the sidebar.
  • Wire the button through the existing openNewProject() modal flow from EntryShell.

Surface area

  • apps/web/src/components/DesignsTab.tsx
  • apps/web/src/components/EntryShell.tsx
  • apps/web/src/styles/workspace/connectors.css
  • apps/web/src/i18n/locales/en.ts, zh-CN.ts, zh-TW.ts
  • apps/web/tests/components/DesignsTab.empty-state.test.tsx

Validation

  • cd apps/web && pnpm test tests/components/DesignsTab.empty-state.test.tsx

Made with Cursor

When the projects page has no items, show a primary action in the main
content area instead of only pointing users to the sidebar.

Fixes nexu-io#2978
@lefarcen lefarcen requested a review from Siri-Ray May 26, 2026 16:32
@lefarcen lefarcen added size/M PR changes 100-300 lines risk/medium Medium risk: regular code changes type/bugfix Bug fix labels May 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Visual regression review

Head: 20541a7 · Base: 1d72914

1 changed · 16 unchanged · 0 missing baseline · 0 failed

Changed cases

Case Main PR Diff
visual-design-systems main pr diff
Unchanged cases
Case Main PR Diff
visual-avatar-menu main pr diff
visual-home main pr diff
visual-home-catalog main pr diff
visual-home-context-picker main pr diff
visual-home-plugin-filter main pr diff
visual-integrations main pr diff
visual-integrations-use-everywhere main pr diff
visual-new-project-modal main pr diff
visual-plugin-details main pr diff
visual-plugins main pr diff
visual-projects main pr diff
visual-projects-kanban main pr diff
visual-settings-byok main pr diff
visual-settings-execution main pr diff
visual-tasks main pr diff
visual-topbar-execution-switcher main pr diff

Visual diff is advisory only and does not block merging.

Copy link
Copy Markdown
Contributor

@lefarcen lefarcen left a comment

Choose a reason for hiding this comment

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

Hey @leno23, thanks for picking up the #2978 empty-state flow — the summary makes the CTA and modal path clear. One PR-body detail before pool review scopes this: could you add the template ## Surface area checklist and tick the user-visible boxes here (at least UI, and likely i18n since the empty-state copy changes)? The existing file list is helpful; the checklist makes release/review impact easier to scan.

Copy link
Copy Markdown
Contributor

@Siri-Ray Siri-Ray left a comment

Choose a reason for hiding this comment

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

@leno23 thanks for tightening the empty-project flow and wiring the CTA through the existing modal path. I found one merge-safe i18n consistency issue to address so the new guidance lands the same way outside the updated locales.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

'designs.filterAria': 'Filter projects',
'designs.searchPlaceholder': 'Search…',
'designs.emptyNoProjects': 'No projects yet. Create one on the left.',
'designs.emptyNoProjects': 'Create your first project to start designing.',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This copy update only changes designs.emptyNoProjects for English, zh-CN, and zh-TW, but the same key in the other locale files still tells users to create the project from the left/sidebar. That means users on locales like fr, de, es-ES, ja, etc. still see the stale instruction even though this PR adds the primary CTA in the main empty state. Please update the remaining locale values for designs.emptyNoProjects to remove the left/sidebar reference as well, using the English text as the source if localized wording is not available yet.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

@lefarcen
Copy link
Copy Markdown
Contributor

Hey @leno23, quick coordination note: #3060 is now also open for #2978.

Both PRs touch apps/web/src/components/DesignsTab.tsx and apps/web/src/components/EntryShell.tsx, and both add a New project CTA to the Projects empty state using the existing modal flow. You and @Kushaal-k may want to compare approaches; the maintainer team will decide which version lands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk/medium Medium risk: regular code changes size/M PR changes 100-300 lines type/bugfix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants