using BotSharp.Abstraction.Conversations; using BotSharp.Abstraction.Plugins; using BotSharp.Abstraction.Plugins.Models; using BotSharp.Abstraction.Settings; using BotSharp.Abstraction.Statistics.Settings; using BotSharp.Plugin.Dashboard.Hooks; namespace BotSharp.Plugin.Dashboard; public class DashboardPlugin : IBotSharpPlugin { public string Id => "d42a0c21-b461-44f6-ada2-499510d260af"; public string Name => "Dashboard"; public string Description => "Dashboard that offers real-time statistics on model performance, usage trends, and user feedback"; public void RegisterDI(IServiceCollection services, IConfiguration config) { services.AddScoped(); services.AddScoped(provider => { var settingService = provider.GetRequiredService(); return settingService.Bind("Statistics"); }); } public bool AttachMenu(List menu) { var section = menu.First(x => x.Label == "Apps"); menu.Add(new PluginMenuDef("Dashboard", link: "page/dashboard", icon: "bx bx-home-circle", weight: section.Weight - 1)); return true; } }