feat(18-02): update sidebarPrimaryNavItems and add team icon to SidebarNavIcon

- Replace Dashboard/Tasks/Planning/Chat/Files with Home/My Tasks/Projects/Events/Team Members
- Remove DividerAfter from all items (section labels replace dividers per D-08)
- Add "team" case to SidebarNavIcon switch using Lucide users SVG paths
This commit is contained in:
Arthur Belleville 2026-05-17 15:29:38 +02:00
parent 8cd460e8f0
commit 2763fc195e
No known key found for this signature in database
2 changed files with 14 additions and 6 deletions

View file

@ -45,6 +45,13 @@ templ SidebarNavIcon(kind string) {
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path>
</svg>
case "team":
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path>
<circle cx="9" cy="7" r="4"></circle>
<path d="M22 21v-2a4 4 0 0 0-3-3.87"></path>
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
</svg>
default:
<span></span>
}

View file

@ -50,13 +50,14 @@ func sidebarNavItemID(href string) string {
// sidebarPrimaryNavItems returns the ordered list of primary nav items with
// active state computed from activePath.
//
// Per D-N01/D-N02: Tasks, Chat, and Files are visual-only (no Href) in Phase 15.
// Per D-08 (Phase 18): GENERAL section items — Home, My Tasks, Projects, Events, Team Members.
// Chat and Files are removed from primary nav (accessible within tablo detail pages).
func sidebarPrimaryNavItems(activePath string) []sidebarNavItem {
return []sidebarNavItem{
{Href: "/", Label: "Dashboard", Icon: "panels", Active: isActivePath(activePath, "/"), DividerAfter: true},
{Href: "", Label: "Tasks", Icon: "tasks", Active: false},
{Href: "/planning", Label: "Planning", Icon: "planning", Active: isActivePath(activePath, "/planning")},
{Href: "", Label: "Chat", Icon: "chat", Active: false},
{Href: "", Label: "Files", Icon: "files", Active: false},
{Href: "/", Label: "Home", Icon: "panels", Active: isActivePath(activePath, "/")},
{Href: "#", Label: "My Tasks", Icon: "tasks", Active: false},
{Href: "/", Label: "Projects", Icon: "layers", Active: false},
{Href: "/planning", Label: "Events", Icon: "planning", Active: isActivePath(activePath, "/planning")},
{Href: "#", Label: "Team Members", Icon: "team", Active: false},
}
}