149 lines
4.6 KiB
Plaintext
149 lines
4.6 KiB
Plaintext
@using BLAIzor.Models
|
|
@using BLAIzor.Services
|
|
@inject ScopedContentService _scopedContentService;
|
|
@inject NavigationManager _navigationManager;
|
|
@inject ContentEditorService _contentEditorService
|
|
@inject IHttpContextAccessor HttpContextAccessor
|
|
|
|
|
|
|
|
@* <nav class="navbar navbar-expand-lg bg-body-tertiary" style="z-index: 5"> *@
|
|
<nav class="navbar fixed-top" style="z-index: 5">
|
|
<div class="container-fluid">
|
|
@{
|
|
var brandFileName = _scopedContentService.SelectedDocument;
|
|
var brandName = _scopedContentService.SelectedBrandName;
|
|
}
|
|
<NavLink class="navbar-brand" @onclick="HomeClick">@brandName</NavLink>
|
|
<button class="navbar-toggler float-end" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
|
<i class="fa-solid fa-bars"></i>
|
|
</button>
|
|
|
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
|
@{
|
|
if(MenuList != null)
|
|
{
|
|
foreach(var menu in MenuList)
|
|
{
|
|
|
|
<li class="nav-item">
|
|
<a class="nav-link active" aria-current="page" @onclick="()=>MenuClicked(menu)">@menu</a>
|
|
</li>
|
|
}
|
|
}
|
|
}
|
|
|
|
</ul>
|
|
@* <form class="d-flex" role="search">
|
|
<input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
|
|
<button class="btn btn-outline-success" type="submit">Search</button>
|
|
</form> *@
|
|
<select @onchange="OnLanguageSelected" class="form-select" style="width:100px">
|
|
<option value="">Lang</option>
|
|
@foreach (var Language in Languages)
|
|
{
|
|
<option value="@Language">@Language</option>
|
|
}
|
|
</select>
|
|
</div>
|
|
|
|
</div>
|
|
</nav>
|
|
|
|
|
|
@code {
|
|
public int SiteId;
|
|
[Parameter]
|
|
public string? MenuString { get; set; }
|
|
public string[] MenuList;
|
|
public string videoUrl = "";
|
|
public string SelectedLanguage;
|
|
private int RenderCounter = 0;
|
|
|
|
//public static event Action<string>? OnMenuClicked;
|
|
[Parameter] public Action<string>? OnMenuClicked { get; set; }
|
|
|
|
public List<string> Languages = new List<string>
|
|
{
|
|
"Hungarian", "English", "German"
|
|
};
|
|
|
|
public void MenuClicked(string menuName)
|
|
{
|
|
OnMenuClicked?.Invoke(menuName);
|
|
}
|
|
|
|
public void HomeClick()
|
|
{
|
|
_navigationManager.Refresh(true);
|
|
}
|
|
|
|
protected override void OnInitialized()
|
|
{
|
|
SelectedLanguage = "English";
|
|
_scopedContentService.SelectedLanguage = "English";
|
|
}
|
|
|
|
protected override async Task OnParametersSetAsync()
|
|
{
|
|
if(!string.IsNullOrEmpty(MenuString))
|
|
{
|
|
MenuList = MenuString.Split(",");
|
|
}
|
|
await base.OnParametersSetAsync();
|
|
}
|
|
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
if(firstRender)
|
|
{
|
|
// var subdomain = HttpContextAccessor.HttpContext?.Items["Subdomain"]?.ToString();
|
|
// var SiteInfo = await _scopedContentService.GetSiteInfoByNameAsync(subdomain);
|
|
// if (SiteInfo != null && SiteInfo.IsPublished)
|
|
// {
|
|
|
|
// SiteId = SiteInfo.Id;
|
|
// }
|
|
// else
|
|
// {
|
|
// SiteId = 1;
|
|
// }
|
|
|
|
// MenuString = await GetMenuList();
|
|
// if (MenuString != null)
|
|
// {
|
|
// MenuList = MenuString.Split(",");
|
|
// }
|
|
|
|
}
|
|
|
|
await base.OnAfterRenderAsync(firstRender);
|
|
}
|
|
|
|
public void OnLanguageSelected(ChangeEventArgs e)
|
|
{
|
|
SelectedLanguage = e.Value?.ToString();
|
|
|
|
if (!string.IsNullOrEmpty(SelectedLanguage))
|
|
{
|
|
Console.WriteLine($"Language selected: {SelectedLanguage}");
|
|
_scopedContentService.SelectedLanguage = SelectedLanguage;
|
|
}
|
|
}
|
|
|
|
// private async Task<string> GetMenuList()
|
|
// {
|
|
// RenderCounter++;
|
|
// Console.Write($"\n \n Render:{RenderCounter} \n \n");
|
|
// List<MenuItem> menuItems = await _contentEditorService.GetMenuItemsBySiteIdAsync(SiteId);
|
|
// string menuList = "";
|
|
// foreach (MenuItem item in menuItems)
|
|
// {
|
|
// menuList += item.Name + ",";
|
|
// }
|
|
// return menuList;
|
|
// }
|
|
|
|
}
|