@inherits LayoutComponentBase @using QuantEngine.Web.Client.Theme @inject HttpClient Http @inject AuthenticationStateProvider AuthStateProvider @inject NavigationManager NavigationManager QuantEngine @GetFirstLetter(context.User.Identity?.Name) @context.User.Identity?.Name 프로필 설정 로그아웃 메뉴 @Body @code { private MudTheme _theme = AppTheme.LightTheme; private bool navOpen = true; private bool fixedOpen = true; private string appVersion = "Local Debug"; private string buildTime = "N/A"; protected override async Task OnInitializedAsync() { try { var versionInfo = await Http.GetFromJsonAsync("version.json"); if (versionInfo != null) { appVersion = versionInfo.Version ?? "Local Debug"; buildTime = versionInfo.Built ?? "N/A"; } } catch { } await base.OnInitializedAsync(); } private void ToggleDrawer() { navOpen = !navOpen; } private async Task HandleLogoutAsync() { var customProvider = (CustomAuthenticationStateProvider)AuthStateProvider; await customProvider.LogoutFromServerAsync(); NavigationManager.NavigateTo("/Account/Login?handler=Logout", forceLoad: true); } private string GetFirstLetter(string? name) { return string.IsNullOrEmpty(name) ? "?" : name[0].ToString().ToUpper(); } private string GetUserInitials() { return string.Empty; } private class VersionInfo { public string? Version { get; set; } public string? Built { get; set; } } }