From 1d4364d63ea884f2738b2bdd14c387cf153f744b Mon Sep 17 00:00:00 2001 From: mkelvers Date: Tue, 9 Jun 2026 18:21:08 +0200 Subject: [PATCH] refactor: deduplicate sidebar navigation into data-driven loop --- templates/components/navigation.gohtml | 172 +++++++++++-------------- 1 file changed, 73 insertions(+), 99 deletions(-) diff --git a/templates/components/navigation.gohtml b/templates/components/navigation.gohtml index 81341ea..f5f676f 100644 --- a/templates/components/navigation.gohtml +++ b/templates/components/navigation.gohtml @@ -1,12 +1,75 @@ +{{define "nav_icon_home"}} + + + + +{{end}} + +{{define "nav_icon_browse"}} + + + + + + + + + + +{{end}} + +{{define "nav_icon_discover"}} + + + + +{{end}} + +{{define "nav_icon_schedule"}} + + + + + + +{{end}} + +{{define "nav_icon_watchlist"}} + + + +{{end}} + +{{define "nav_item"}} +{{$isActive := .isActive}} +{{$isCollapsed := .isCollapsed}} + + {{if $isActive}} +
+ {{end}} + {{if eq .key "home"}}{{template "nav_icon_home" $isActive}} + {{else if eq .key "browse"}}{{template "nav_icon_browse" $isActive}} + {{else if eq .key "discover"}}{{template "nav_icon_discover" $isActive}} + {{else if eq .key "schedule"}}{{template "nav_icon_schedule" $isActive}} + {{else if eq .key "watchlist"}}{{template "nav_icon_watchlist" $isActive}} + {{end}} + +
+{{end}} + {{define "navigation"}} {{$currentPath := .CurrentPath}} {{$isCollapsed := .IsCollapsed}} -{{$navItems := dict - "home" (dict "href" "/" "label" "Home") - "browse" (dict "href" "/browse" "label" "Browse") - "discover" (dict "href" "/discover" "label" "Discover") - "schedule" (dict "href" "/schedule" "label" "Schedule") - "watchlist" (dict "href" "/watchlist" "label" "Watchlist") +{{$navItems := list + (dict "key" "home" "href" "/" "label" "Home" "isActive" (eq $currentPath "/")) + (dict "key" "browse" "href" "/browse" "label" "Browse" "isActive" (eq $currentPath "/browse")) + (dict "key" "discover" "href" "/discover" "label" "Discover" "isActive" (eq $currentPath "/discover")) + (dict "key" "schedule" "href" "/schedule" "label" "Schedule" "isActive" (eq $currentPath "/schedule")) + (dict "key" "watchlist" "href" "/watchlist" "label" "Watchlist" "isActive" (eq $currentPath "/watchlist")) }} -{{end}} +{{end}} \ No newline at end of file