wip
This commit is contained in:
parent
abcf8ee75e
commit
12869e35bf
34 changed files with 1177 additions and 156 deletions
|
|
@ -0,0 +1,42 @@
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace PlanTempus.Application.Features.Dashboard.Components;
|
||||
|
||||
public class NotificationListViewComponent : ViewComponent
|
||||
{
|
||||
public IViewComponentResult Invoke(string key)
|
||||
{
|
||||
var model = NotificationListCatalog.Get(key);
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
|
||||
public class NotificationListViewModel
|
||||
{
|
||||
public required string Key { get; init; }
|
||||
public required string Title { get; init; }
|
||||
public required string ActionText { get; init; }
|
||||
public required IReadOnlyList<string> NotificationKeys { get; init; }
|
||||
}
|
||||
|
||||
public static class NotificationListCatalog
|
||||
{
|
||||
private static readonly Dictionary<string, NotificationListViewModel> Lists = new()
|
||||
{
|
||||
["recent-notifications"] = new NotificationListViewModel
|
||||
{
|
||||
Key = "recent-notifications",
|
||||
Title = "Notifikationer",
|
||||
ActionText = "Marker alle som læst",
|
||||
NotificationKeys = ["notif-1", "notif-2", "notif-3", "notif-4"]
|
||||
}
|
||||
};
|
||||
|
||||
public static NotificationListViewModel Get(string key)
|
||||
{
|
||||
if (Lists.TryGetValue(key, out var list))
|
||||
return list;
|
||||
|
||||
throw new KeyNotFoundException($"NotificationList with key '{key}' not found");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue