mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2024-09-19 04:08:45 -04:00
91b7486f45
Some checks are pending
docker / pack (push) Waiting to run
docker / deploy (push) Waiting to run
main / deploy (DiscordChatExporter.Cli, DiscordChatExporter.Cli, osx-x64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Cli, DiscordChatExporter.Cli, win-arm64) (push) Blocked by required conditions
main / format (push) Waiting to run
main / test (push) Waiting to run
main / deploy (DiscordChatExporter.Cli, DiscordChatExporter.Cli, win-x64) (push) Blocked by required conditions
main / pack (DiscordChatExporter.Cli, DiscordChatExporter.Cli, linux-arm) (push) Waiting to run
main / pack (DiscordChatExporter.Cli, DiscordChatExporter.Cli, linux-arm64) (push) Waiting to run
main / pack (DiscordChatExporter.Cli, DiscordChatExporter.Cli, linux-musl-x64) (push) Waiting to run
main / pack (DiscordChatExporter.Cli, DiscordChatExporter.Cli, linux-x64) (push) Waiting to run
main / pack (DiscordChatExporter.Cli, DiscordChatExporter.Cli, osx-arm64) (push) Waiting to run
main / pack (DiscordChatExporter.Cli, DiscordChatExporter.Cli, osx-x64) (push) Waiting to run
main / pack (DiscordChatExporter.Cli, DiscordChatExporter.Cli, win-arm64) (push) Waiting to run
main / pack (DiscordChatExporter.Cli, DiscordChatExporter.Cli, win-x64) (push) Waiting to run
main / pack (DiscordChatExporter.Cli, DiscordChatExporter.Cli, win-x86) (push) Waiting to run
main / pack (DiscordChatExporter.Gui, DiscordChatExporter, linux-arm) (push) Waiting to run
main / pack (DiscordChatExporter.Gui, DiscordChatExporter, linux-arm64) (push) Waiting to run
main / pack (DiscordChatExporter.Gui, DiscordChatExporter, linux-musl-x64) (push) Waiting to run
main / pack (DiscordChatExporter.Gui, DiscordChatExporter, linux-x64) (push) Waiting to run
main / pack (DiscordChatExporter.Gui, DiscordChatExporter, osx-arm64) (push) Waiting to run
main / pack (DiscordChatExporter.Gui, DiscordChatExporter, osx-x64) (push) Waiting to run
main / pack (DiscordChatExporter.Gui, DiscordChatExporter, win-arm64) (push) Waiting to run
main / pack (DiscordChatExporter.Gui, DiscordChatExporter, win-x64) (push) Waiting to run
main / pack (DiscordChatExporter.Gui, DiscordChatExporter, win-x86) (push) Waiting to run
main / release (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Cli, DiscordChatExporter.Cli, linux-arm) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Cli, DiscordChatExporter.Cli, linux-arm64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Cli, DiscordChatExporter.Cli, linux-musl-x64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Cli, DiscordChatExporter.Cli, linux-x64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Cli, DiscordChatExporter.Cli, osx-arm64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Cli, DiscordChatExporter.Cli, win-x86) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Gui, DiscordChatExporter, linux-arm) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Gui, DiscordChatExporter, linux-arm64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Gui, DiscordChatExporter, linux-musl-x64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Gui, DiscordChatExporter, linux-x64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Gui, DiscordChatExporter, osx-arm64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Gui, DiscordChatExporter, osx-x64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Gui, DiscordChatExporter, win-arm64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Gui, DiscordChatExporter, win-x64) (push) Blocked by required conditions
main / deploy (DiscordChatExporter.Gui, DiscordChatExporter, win-x86) (push) Blocked by required conditions
main / notify (push) Blocked by required conditions
43 lines
1.3 KiB
C#
43 lines
1.3 KiB
C#
using Avalonia.Controls;
|
|
using Avalonia.Controls.Templates;
|
|
using DiscordChatExporter.Gui.ViewModels;
|
|
using DiscordChatExporter.Gui.ViewModels.Components;
|
|
using DiscordChatExporter.Gui.ViewModels.Dialogs;
|
|
using DiscordChatExporter.Gui.Views;
|
|
using DiscordChatExporter.Gui.Views.Components;
|
|
using DiscordChatExporter.Gui.Views.Dialogs;
|
|
|
|
namespace DiscordChatExporter.Gui.Framework;
|
|
|
|
public partial class ViewManager
|
|
{
|
|
private Control? TryCreateView(ViewModelBase viewModel) =>
|
|
viewModel switch
|
|
{
|
|
MainViewModel => new MainView(),
|
|
DashboardViewModel => new DashboardView(),
|
|
ExportSetupViewModel => new ExportSetupView(),
|
|
MessageBoxViewModel => new MessageBoxView(),
|
|
SettingsViewModel => new SettingsView(),
|
|
_ => null
|
|
};
|
|
|
|
public Control? TryBindView(ViewModelBase viewModel)
|
|
{
|
|
var view = TryCreateView(viewModel);
|
|
if (view is null)
|
|
return null;
|
|
|
|
view.DataContext ??= viewModel;
|
|
|
|
return view;
|
|
}
|
|
}
|
|
|
|
public partial class ViewManager : IDataTemplate
|
|
{
|
|
bool IDataTemplate.Match(object? data) => data is ViewModelBase;
|
|
|
|
Control? ITemplate<object?, Control?>.Build(object? data) =>
|
|
data is ViewModelBase viewModel ? TryBindView(viewModel) : null;
|
|
}
|