This commit is contained in:
Janus C. H. Knudsen 2026-01-11 18:18:36 +01:00
parent abcf8ee75e
commit 12869e35bf
34 changed files with 1177 additions and 156 deletions

View file

@ -0,0 +1,42 @@
using Microsoft.AspNetCore.Mvc;
namespace PlanTempus.Application.Features.Dashboard.Components;
public class QuickStatListViewComponent : ViewComponent
{
public IViewComponentResult Invoke(string key)
{
var model = QuickStatListCatalog.Get(key);
return View(model);
}
}
public class QuickStatListViewModel
{
public required string Key { get; init; }
public required string Title { get; init; }
public required string Icon { get; init; }
public required IReadOnlyList<string> StatKeys { get; init; }
}
public static class QuickStatListCatalog
{
private static readonly Dictionary<string, QuickStatListViewModel> Lists = new()
{
["this-week"] = new QuickStatListViewModel
{
Key = "this-week",
Title = "Denne uge",
Icon = "chart-line-up",
StatKeys = ["bookings-week", "revenue-week", "new-customers", "avg-occupancy"]
}
};
public static QuickStatListViewModel Get(string key)
{
if (Lists.TryGetValue(key, out var list))
return list;
throw new KeyNotFoundException($"QuickStatList with key '{key}' not found");
}
}