PlanTempusApp/PlanTempus.Application/Features/Dashboard/Pages/Index.cshtml
Janus C. H. Knudsen ef174af0e1 Adds localization support across application views
Implements localization for dashboard, cash register, account, and profile sections

Adds localization keys for various UI elements, improving internationalization support
Refactors view components to use ILocalizationService for dynamic text rendering
Prepares ground for multi-language support with translation-ready markup
2026-01-12 15:42:18 +01:00

73 lines
2.9 KiB
Text
Raw 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" />