pschelpdesk/Nextcloud/Nextcloud.cs
2024-11-11 19:08:09 +01:00

43 lines
1.2 KiB
C#

using CommunityToolkit.Mvvm.DependencyInjection;
using Prise.Plugin;
using PSCHelpdesk.Plugins.Nextcloud.Services;
using PSCHelpdesk.Plugins.Nextcloud.ViewModels;
using PSCHelpdesk.Plugins.Nextcloud.Views;
using PSCHelpdesk.Shared.Menu;
using PSCHelpdesk.Shared.Plugin;
using PSCHelpdesk.Shared.Service;
namespace PSCHelpdesk.Plugins.Nextcloud;
[Plugin(PluginType = typeof(Contract))]
public class Nextcloud : Contract
{
public string GetName()
{
return "NextcloudPlugin";
}
public void Configure()
{
var menuService = Ioc.Default.GetRequiredService<IMenuService>();
var notesTab = new Item()
{
Header = "Notes",
CommandParameter = new NotesViewModel(new NotesService())
};
menuService.AddMenuItem(notesTab);
var settingsService = Ioc.Default.GetRequiredService<ISettingsService>();
var hetznerSettings = new Shared.Setting.Item()
{
Header = "Nextcloud",
CommandParameter = new NextcloudSettingsViewModel()
};
settingsService.AddSetting(hetznerSettings);
}
public List<Type> LoadViews()
{
return [typeof(NextcloudSettingsView), typeof(NotesView)];
}
}