Show threads in GUI at the bottom of the list, in specialized groups

Related to #1119
This commit is contained in:
Tyrrrz
2023-08-28 21:31:51 +03:00
parent f1c094ac14
commit 5f6e51f6fb
11 changed files with 49 additions and 13 deletions

View File

@@ -0,0 +1,30 @@
using System;
using System.Globalization;
using System.Windows.Data;
using DiscordChatExporter.Core.Discord.Data;
namespace DiscordChatExporter.Gui.Converters;
[ValueConversion(typeof(Channel), typeof(string))]
public class ChannelToGroupKeyConverter : IValueConverter
{
public static ChannelToGroupKeyConverter Instance { get; } = new();
public object? Convert(object value, Type targetType, object parameter, CultureInfo culture) =>
value switch
{
Channel channel when channel.Kind.IsThread()
=> $"Threads in #{channel.ParentNameWithFallback}",
Channel channel => channel.ParentNameWithFallback,
_ => null
};
public object ConvertBack(
object value,
Type targetType,
object parameter,
CultureInfo culture
) => throw new NotSupportedException();
}