Add account context menu actions

This commit is contained in:
Burak Kaan Köse
2026-04-16 13:46:52 +02:00
parent 784144cd13
commit e1f53c7f9f
13 changed files with 145 additions and 1 deletions
@@ -21,6 +21,7 @@ using Wino.Core.Domain.Models.Launch;
using Wino.Core.Domain.Models.MailItem;
using Wino.Core.Domain.Models.Navigation;
using Wino.Core.Domain.Models.Synchronization;
using Wino.Core.Requests.Folder;
using Wino.Core.Services;
using Wino.Mail.ViewModels.Data;
using Wino.Messaging.Client.Accounts;
@@ -624,6 +625,29 @@ public partial class MailAppShellViewModel : MailBaseViewModel,
}
}
public async Task CreateRootFolderAsync(IAccountMenuItem accountMenuItem)
{
var account = accountMenuItem?.HoldingAccounts?.FirstOrDefault();
if (account == null)
return;
var folderName = await _dialogService.ShowTextInputDialogAsync(
string.Empty,
Translator.AccountContextMenu_CreateFolder,
Translator.DialogMessage_CreateFolderMessage,
Translator.Buttons_Create);
if (string.IsNullOrWhiteSpace(folderName))
return;
var placeholderFolder = new MailItemFolder
{
MailAccountId = account.Id
};
await _winoRequestDelegator.ExecuteAsync(account.Id, [new CreateRootFolderRequest(placeholderFolder, folderName.Trim())]);
}
public Task HandleAccountAttentionAsync(MailAccount account)
=> FixAccountIssuesAsync(account);