📄
MatDenDagen/Components/Pages/Admin/Index.razor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
@page "/admin"
@page "/admin/index"
@attribute [Authorize(Roles = "Admin")]
@layout AdminLayout
@using Microsoft.AspNetCore.Authorization
@using MatDenDagen.Infrastructure.Storage.Database
@using Microsoft.EntityFrameworkCore
@inject QuestionnaireContext questionnaireContext
<div class="admin-dashboard">
<h1>Admin Dashboard</h1>
<div class="welcome-card card">
<h2>Välkommen till administrationspanelen</h2>
<p>Här kan du hantera alla aspekter av Mat den Dagen-upplevelsen.</p>
<p>Använd menyn till vänster för att navigera mellan olika funktioner.</p>
</div>
<div class="quick-stats">
<h3>Snabbstatistik</h3>
<div class="stats-grid">
<div class="stat-card card">
<h4>Frågor</h4>
<p class="stat-number">@questionCount</p>
</div>
<div class="stat-card card">
<h4>Deltagare</h4>
<p class="stat-number">@participantCount</p>
</div>
<div class="stat-card card">
<h4>Inskickade svar</h4>
<p class="stat-number">@submissionCount</p>
</div>
</div>
</div>
</div>
@code {
private int questionCount = 0;
private int participantCount = 0;
private int submissionCount = 0;
protected override async Task OnInitializedAsync()
{
questionCount = await questionnaireContext.Questions.CountAsync();
participantCount = await questionnaireContext.Participants.CountAsync();
submissionCount = await questionnaireContext.Submissions.CountAsync();
}
}