Files
SkyArtShop/Sky_Art_shop/ViewComponents/NavigationViewComponent.cs
Local Server 703ab57984 Fix admin route access and backend configuration
- Added /admin redirect to login page in nginx config
- Fixed backend server.js route ordering for proper admin handling
- Updated authentication middleware and routes
- Added user management routes
- Configured PostgreSQL integration
- Updated environment configuration
2025-12-13 22:34:11 -06:00

41 lines
1.3 KiB
C#

using Microsoft.AspNetCore.Mvc;
using SkyArtShop.Models;
using SkyArtShop.Services;
namespace SkyArtShop.ViewComponents
{
public class NavigationViewComponent : ViewComponent
{
private readonly MongoDBService _mongoService;
public NavigationViewComponent(MongoDBService mongoService)
{
_mongoService = mongoService;
}
public async Task<IViewComponentResult> InvokeAsync(string location = "navbar")
{
var menuItems = await _mongoService.GetAllAsync<MenuItem>("MenuItems");
if (location == "dropdown")
{
// For dropdown: must be Active AND ShowInDropdown
var dropdownItems = menuItems
.Where(m => m.IsActive && m.ShowInDropdown)
.OrderBy(m => m.DisplayOrder)
.ToList();
return View(dropdownItems);
}
else
{
// For navbar: must be Active AND ShowInNavbar
var navbarItems = menuItems
.Where(m => m.IsActive && m.ShowInNavbar)
.OrderBy(m => m.DisplayOrder)
.ToList();
return View(navbarItems);
}
}
}
}