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
This commit is contained in:
40
Sky_Art_shop/ViewComponents/NavigationViewComponent.cs
Normal file
40
Sky_Art_shop/ViewComponents/NavigationViewComponent.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user