@using BLAIzor.Models
@using BLAIzor.Services
@inject ScopedContentService _scopedContentService;
@inject NavigationManager _navigationManager;
@inject ContentEditorService _contentEditorService
@inject IHttpContextAccessor HttpContextAccessor
@inject IJSRuntime JS
@code {
public int SiteId;
[Parameter]
public string? MenuString { get; set; }
public string[] MenuList;
public string videoUrl = "";
public string SelectedLanguage;
private int RenderCounter = 0;
[Parameter] public Action? OnMenuClicked { get; set; }
public async Task MenuClickedAsync(string menuName)
{
OnMenuClicked?.Invoke(menuName);
await JS.InvokeVoidAsync("collapseNavbar");
}
public void HomeClick()
{
_navigationManager.Refresh(true);
}
protected override async Task OnInitializedAsync()
{
var lang = await JS.InvokeAsync("getUserLanguage");
// Normalize and match to one of your supported languages
if (lang.StartsWith("hu", StringComparison.OrdinalIgnoreCase))
SelectedLanguage = "Hungarian";
else if (lang.StartsWith("de", StringComparison.OrdinalIgnoreCase))
SelectedLanguage = "German";
else
SelectedLanguage = "English";
_scopedContentService.SelectedLanguage = SelectedLanguage;
}
protected override async Task OnParametersSetAsync()
{
if (!string.IsNullOrEmpty(MenuString))
{
MenuList = MenuString.Split(",");
}
await base.OnParametersSetAsync();
}
public void OnLanguageSelected(ChangeEventArgs e)
{
SelectedLanguage = e.Value?.ToString();
if (!string.IsNullOrEmpty(SelectedLanguage))
{
Console.WriteLine($"Language selected: {SelectedLanguage}");
_scopedContentService.SelectedLanguage = SelectedLanguage;
}
}
}