# Multiple Blogs per Name — Overview (Plan A: Smart Redirect) _Generated 2025-08-21_ ## Goal Allow a single **Name** to own **multiple Blogs**, while preserving existing blog-scoped routes and minimizing churn. Replace the single “My Blog” button with a **“My Blogs” dropdown** and introduce a new **User → Blogs** list page. When a Name has exactly one blog, visiting `/{name}` **auto-redirects** to that blog. ## Scope - **In**: Header/Nav blog access, Name landing behavior, simple blog list page, light routing changes, a11y behavior. - **Out**: Post editor behavior, post list virtualization, roles/permissions model changes, server protocol changes (unless list-by-name is missing). ## High-level UX - Header/Nav: - 0 blogs → Button shows **Create Blog** (primary action). Dropdown disabled/hidden. - ≥1 blog → Button shows **My Blogs**. Dropdown lists each blog (title + id). Bottom row = **Create new blog**. - Name route: - `/{name}`: - If blog count === 1 → redirect to `/{name}/{blog}/posts` (existing default route). - If blog count !== 1 → show **User Blogs** page (`/{name}/blogs`). - User Blogs page: - Public, lists all blogs for the Name. If viewer is same user, show **Edit** per blog and **Create Blog** CTA. - A11y: - Dropdown uses proper menu roles, keyboard navigation, and focus return. - User Blogs page has a single **H1**, semantic list, clear button labels. ## Benefits - Aligns with entity contract (**Name 1..N Blog**). - Minimizes refactors; relies on existing blog-scoped routing and components. - Backward-compatible for deep links. ## Notes - The **Header Blog Switcher** dropdown is **out of scope for v0.2.2** (list + redirect are implemented).