component Navigation(user *arn.User)
	if user == nil
		LoggedOutMenu
	else
		LoggedInMenu(user)

component LoggedOutMenu
	nav#navigation.logged-out
		NavigationButton("About", "/", "question-circle")
		NavigationButton("Explore", "/explore", "th")
		NavigationButton("Forum", "/forum", "comment")

		FuzzySearch

		.extra-navigation
			NavigationButton("Users", "/users", "globe")
		
		NavigationButton("Music", "/music", "headphones")
		
		NavigationButton("Login", "/login", "sign-in")

component LoggedInMenu(user *arn.User)
	nav#navigation.logged-in
		.extension-navigation
			NavigationButton("Watching list", "/extension/embed", "home")

		NavigationButton("Dash", "/", "dashboard")
		NavigationButton("Profile", "/+", "user")
		NavigationButton("Forum", "/forum", "comment")

		.extra-navigation
			NavigationButton("Music", "/music", "headphones")

		FuzzySearch

		.extra-navigation
			NavigationButton("Users", "/users", "globe")
		
		NavigationButton("Explore", "/explore", "th")

		//- .extra-navigation
		//- 	NavigationButton("Statistics", "/statistics", "pie-chart")
		
		NavigationButton("Settings", "/settings", "cog")
		
		.extra-navigation
			NavigationButtonNoAJAX("Logout", "/logout", "sign-out")

component FuzzySearch
	input#search.action(data-action="search", data-trigger="input", type="text", placeholder="Search...", title="Shortcut: F")

component NavigationButton(name string, target string, icon string)
	a.navigation-link.ajax(href=target, aria-label=name, title=name)
		.navigation-button
			Icon(icon)
			span.navigation-text= name

component NavigationButtonNoAJAX(name string, target string, icon string)
	a.navigation-link(href=target, aria-label=name)
		.navigation-button
			Icon(icon)
			span.navigation-text= name