PlanTempusApp/PlanTempus.Application/Features/Dashboard/Pages/Index.cshtml
Janus C. H. Knudsen c1d2df9327 Refactors UI components with new card header structure
Replaces `swp-section-label` with standardized `swp-card-header` and `swp-card-title`

Improves component consistency across multiple features:
- Adds structured card headers
- Introduces more semantic HTML elements
- Enhances layout and readability of card components

Updates CSS and component styles to support new structure
2026-01-19 14:23:41 +01:00

73 lines
2.9 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@page "/"
@using PlanTempus.Application.Features.Dashboard.Pages
@model PlanTempus.Application.Features.Dashboard.Pages.IndexModel
@{
ViewData["Title"] = "Dashboard";
}
<swp-page-container>
<!-- Stats Bar -->
<swp-stats-bar>
@await Component.InvokeAsync("StatCard", "bookings-today")
@await Component.InvokeAsync("StatCard", "expected-revenue")
@await Component.InvokeAsync("StatCard", "occupancy-rate")
@await Component.InvokeAsync("StatCard", "needs-attention")
</swp-stats-bar>
<!-- Dashboard Content -->
<swp-dashboard-grid>
<swp-main-column>
<!-- AI Insight -->
<swp-card>
<swp-ai-insight>
<swp-ai-header>
<i class="ph ph-sparkle"></i>
<span localize="dashboard.ai.header">AI Analyse</span>
</swp-ai-header>
<swp-ai-text>
<strong>Godt i gang!</strong> 4 af 12 bookinger er gennemført. 2 er i gang nu, og 6 venter.
Forventet omsætning: <strong>8.450 kr</strong> allerede realiseret <strong>2.150 kr</strong>.
</swp-ai-text>
</swp-ai-insight>
</swp-card>
<!-- Today's Bookings -->
@await Component.InvokeAsync("BookingList", "todays-bookings")
<!-- Attention Items -->
@await Component.InvokeAsync("AttentionList", "current-attentions")
</swp-main-column>
<swp-side-column>
<!-- Notifications -->
@await Component.InvokeAsync("NotificationList", "recent-notifications")
<!-- Waitlist Card -->
@await Component.InvokeAsync("WaitlistCard", "waitlist")
<!-- Quick Stats (This Week) -->
@await Component.InvokeAsync("QuickStatList", "this-week")
<!-- Quick Actions -->
<swp-card>
<swp-card-header>
<swp-card-title localize="dashboard.quickActions.title">Hurtige handlinger</swp-card-title>
</swp-card-header>
<swp-card-content>
<swp-quick-actions>
<swp-quick-action-btn>
<i class="ph ph-plus"></i>
<span localize="dashboard.quickActions.newBooking">Ny booking</span>
</swp-quick-action-btn>
<swp-quick-action-btn>
<i class="ph ph-user-plus"></i>
<span localize="dashboard.quickActions.newCustomer">Ny kunde</span>
</swp-quick-action-btn>
</swp-quick-actions>
</swp-card-content>
</swp-card>
</swp-side-column>
</swp-dashboard-grid>
</swp-page-container>
<partial name="_WaitlistDrawer" />