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 InvokeAsync(string location = "navbar") { var menuItems = await _mongoService.GetAllAsync("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); } } } }