block / block/buzz

Projects empty state has no 'Create project' CTA — first project can only be created from the CLI

Open
#2,585 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

### Summary

In the desktop app's **Projects** view, when there are **zero projects** the empty state is the *only* thing rendered — and it contains no way to create a project. The single UI entry point for creating a project (the "+" `ProjectsCreateMenu` in the projects navigation bar) lives inside the populated view, which is skipped by an early return when the list is empty.

As a result, **the first project can only be created from the CLI** (`buzz repos create`) or another client that publishes a NIP-34 repo announcement (kind `30617`). Once at least one project exists, the "+" menu appears and creation works from the UI — so the gap is specifically the empty state, exactly when a create affordance is most needed.

### Steps to reproduce

1. Open the desktop app against a relay with no projects (kind `30617`) published.
2. Enable/open the **Projects** preview view.
3. Observe the empty state: icon + "No projects yet" + "Projects published to this relay will appear here." — no button.

### Expected

The empty state should offer a **Create project** CTA that opens the same `CreateProjectDialog` used by the toolbar "+" menu.

### Code pointers

- Empty state (no CTA): `desktop/src/features/projects/ui/ProjectCards.tsx` → `EmptyState`
- Early return that hides the toolbar/create menu when empty: `desktop/src/features/projects/ui/ProjectsView.tsx` (`if (projects.length === 0) return ;`)
- The only create entry point today: `desktop/src/features/projects/ui/ProjectsCreateMenu.tsx` → opens `CreateProjectDialog`

### Notes

Related to the projects/repo-announcement lifecycle tracked in #2326 (which covers *deletion* of repo announcements). This issue is about *creation* from the empty state.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.