@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; } } }