Files
Wino-Mail/Wino.Mail.ViewModels/Data/FolderCustomizationItemViewModel.cs
T
Burak Kaan Köse 98eed39fe6 Add per-account folder customization page (#855)
Introduce a dedicated settings page that lets users reorder, hide,
and pin/unpin folders per account. Folders are organized into Pinned,
Categories (Gmail only), and More sections with drag-to-reorder via
ListView. New Order column on MailItemFolder persists the custom
layout; the default sort falls back to alphabetic when no custom
order is set. A reset action wipes all customization in a single
transaction and restores system-folder stickiness.

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-16 14:07:17 +02:00

27 lines
848 B
C#

using CommunityToolkit.Mvvm.ComponentModel;
using Wino.Core.Domain.Entities.Mail;
namespace Wino.Mail.ViewModels.Data;
/// <summary>
/// Per-folder row shown on the Folder Customization page. Wraps the underlying
/// <see cref="MailItemFolder"/> entity and exposes observable flags for binding.
/// </summary>
public partial class FolderCustomizationItemViewModel : ObservableObject
{
public MailItemFolder Folder { get; }
[ObservableProperty]
public partial bool IsHidden { get; set; }
public string FolderName => Folder.FolderName;
public bool IsSystemFolder => Folder.IsSystemFolder;
public Core.Domain.Enums.SpecialFolderType SpecialFolderType => Folder.SpecialFolderType;
public FolderCustomizationItemViewModel(MailItemFolder folder)
{
Folder = folder;
IsHidden = folder.IsHidden;
}
}