mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2024-09-19 12:18:48 -04:00
53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using DiscordChatExporter.Core.Discord.Data;
|
|
using DiscordChatExporter.Gui.ViewModels;
|
|
using DiscordChatExporter.Gui.ViewModels.Components;
|
|
using DiscordChatExporter.Gui.ViewModels.Dialogs;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace DiscordChatExporter.Gui.Framework;
|
|
|
|
public class ViewModelManager(IServiceProvider services)
|
|
{
|
|
public MainViewModel CreateMainViewModel() => services.GetRequiredService<MainViewModel>();
|
|
|
|
public DashboardViewModel CreateDashboardViewModel() =>
|
|
services.GetRequiredService<DashboardViewModel>();
|
|
|
|
public ExportSetupViewModel CreateExportSetupViewModel(
|
|
Guild guild,
|
|
IReadOnlyList<Channel> channels
|
|
)
|
|
{
|
|
var viewModel = services.GetRequiredService<ExportSetupViewModel>();
|
|
|
|
viewModel.Guild = guild;
|
|
viewModel.Channels = channels;
|
|
|
|
return viewModel;
|
|
}
|
|
|
|
public MessageBoxViewModel CreateMessageBoxViewModel(
|
|
string title,
|
|
string message,
|
|
string? okButtonText,
|
|
string? cancelButtonText
|
|
)
|
|
{
|
|
var viewModel = services.GetRequiredService<MessageBoxViewModel>();
|
|
|
|
viewModel.Title = title;
|
|
viewModel.Message = message;
|
|
viewModel.DefaultButtonText = okButtonText;
|
|
viewModel.CancelButtonText = cancelButtonText;
|
|
|
|
return viewModel;
|
|
}
|
|
|
|
public MessageBoxViewModel CreateMessageBoxViewModel(string title, string message) =>
|
|
CreateMessageBoxViewModel(title, message, "CLOSE", null);
|
|
|
|
public SettingsViewModel CreateSettingsViewModel() =>
|
|
services.GetRequiredService<SettingsViewModel>();
|
|
}
|