corp-app/CORP-MAUI/Controls/DesktopHeader.xaml.cs

43 lines
1.2 KiB
C#

namespace CORP_MAUI.Controls;
public partial class DesktopHeader : ContentView
{
public DesktopHeader()
{
InitializeComponent();
LoadUserAvatar();
}
private async void LoadUserAvatar()
{
try
{
var user = await ServiceProvider.ApiService.GetCurrentUserAsync();
if (user != null && !string.IsNullOrEmpty(user.Avatar))
{
// Если Avatar содержит base64 данные
if (user.Avatar.StartsWith("data:image"))
{
var base64Data = user.Avatar.Substring(user.Avatar.IndexOf(",") + 1);
UserAvatar.Source = ImageSource.FromStream(() =>
new MemoryStream(Convert.FromBase64String(base64Data)));
}
else
{
// Иначе это URL
UserAvatar.Source = user.Avatar;
}
}
}
catch
{
// Используем аватар по умолчанию
}
}
private async void OnProfileClicked(object sender, EventArgs e)
{
await Shell.Current.GoToAsync("//ProfilePage");
}
}