Reorganizes and optimizes shared CSS components

Consolidates UI components into a centralized components.css file
Removes duplicate styles across multiple CSS files
Adds utility classes in a new utilities.css file
Reduces overall CSS complexity and improves maintainability

Removes quick-stats.css and redistributes its styles
Updates layout and stylesheet references accordingly
This commit is contained in:
Janus C. H. Knudsen 2026-01-13 00:09:46 +01:00
parent 15579acba8
commit 2e6207bb0b
33 changed files with 971 additions and 796 deletions

View file

@ -1,7 +1,5 @@
<swp-card>
<swp-card-header>
<swp-card-title localize="cash.approval.title">Afslut dagen</swp-card-title>
</swp-card-header>
<swp-section-label localize="cash.approval.title">Afslut dagen</swp-section-label>
<swp-card-content>
<swp-approval-grid>
<swp-form-field>

View file

@ -1,7 +1,5 @@
<swp-card>
<swp-card-header>
<swp-card-title localize="cash.balance.title">Kontanter i kassen</swp-card-title>
</swp-card-header>
<swp-section-label localize="cash.balance.title">Kontanter i kassen</swp-section-label>
<swp-card-content>
<swp-calc-row>
<swp-calc-label>

View file

@ -1,7 +1,5 @@
<swp-card>
<swp-card-header>
<swp-card-title localize="cash.period.title">Periodeoplysninger</swp-card-title>
</swp-card-header>
<swp-section-label localize="cash.period.title">Periodeoplysninger</swp-section-label>
<swp-card-content>
<swp-period-display>
<swp-period-label localize="cash.period.dateRange">Periode</swp-period-label>

View file

@ -1,8 +1,5 @@
<swp-card>
<swp-card-header>
<swp-card-title localize="cash.revenue.title">Periodens omsætning</swp-card-title>
<swp-card-action localize="cash.revenue.subtitle">Systemtal vs. kontrol</swp-card-action>
</swp-card-header>
<swp-section-label localize="cash.revenue.title">Periodens omsætning</swp-section-label>
<swp-card-content>
<swp-data-table>
<swp-data-header>

View file

@ -1,7 +1,5 @@
<swp-card>
<swp-card-header>
<swp-card-title localize="cash.note.title">Note til afstemning</swp-card-title>
</swp-card-header>
<swp-section-label localize="cash.note.title">Note til afstemning</swp-section-label>
<swp-card-content>
<swp-note-field>
<textarea placeholder="Beskriv evt. årsag til difference..."></textarea>

View file

@ -1,12 +1,7 @@
@model PlanTempus.Application.Features.Dashboard.Components.AttentionListViewModel
<swp-card data-key="@Model.Key">
<swp-card-header>
<swp-card-title>
<i class="ph ph-warning-circle"></i>
@Model.Title
</swp-card-title>
</swp-card-header>
<swp-section-label>@Model.Title</swp-section-label>
<swp-card-content>
<swp-attention-list>
@foreach (var attentionKey in Model.AttentionKeys)

View file

@ -1,13 +1,10 @@
@model PlanTempus.Application.Features.Dashboard.Components.BookingListViewModel
<swp-card data-key="@Model.Key">
<swp-card-header>
<swp-card-title>
<i class="ph ph-calendar-check"></i>
@Model.Title
</swp-card-title>
<swp-card-action localize="dashboard.bookings.viewAll">Se alle</swp-card-action>
</swp-card-header>
<swp-section-header>
<swp-section-label>@Model.Title</swp-section-label>
<swp-section-action localize="dashboard.bookings.viewAll">Se alle</swp-section-action>
</swp-section-header>
<swp-current-time>
<i class="ph ph-clock"></i>
<span><span localize="dashboard.bookings.currentTime">Nu:</span> <swp-time>@Model.CurrentTime</swp-time></span>

View file

@ -1,13 +1,10 @@
@model PlanTempus.Application.Features.Dashboard.Components.NotificationListViewModel
<swp-card data-key="@Model.Key">
<swp-card-header>
<swp-card-title>
<i class="ph ph-bell"></i>
@Model.Title
</swp-card-title>
<swp-card-action>@Model.ActionText</swp-card-action>
</swp-card-header>
<swp-section-header>
<swp-section-label>@Model.Title</swp-section-label>
<swp-section-action>@Model.ActionText</swp-section-action>
</swp-section-header>
<swp-card-content>
<swp-notification-list>
@foreach (var notificationKey in Model.NotificationKeys)

View file

@ -1,12 +1,7 @@
@model PlanTempus.Application.Features.Dashboard.Components.QuickStatListViewModel
<swp-card data-key="@Model.Key">
<swp-card-header>
<swp-card-title>
<i class="ph ph-@Model.Icon"></i>
@Model.Title
</swp-card-title>
</swp-card-header>
<swp-section-label>@Model.Title</swp-section-label>
<swp-card-content>
<swp-quick-stats>
@foreach (var statKey in Model.StatKeys)

View file

@ -50,9 +50,7 @@
<!-- Quick Actions -->
<swp-card>
<swp-card-header>
<swp-card-title localize="dashboard.quickActions.title">Hurtige handlinger</swp-card-title>
</swp-card-header>
<swp-section-label localize="dashboard.quickActions.title">Hurtige handlinger</swp-section-label>
<swp-card-content>
<swp-quick-actions>
<swp-quick-action-btn>

View file

@ -7,8 +7,12 @@
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@@phosphor-icons/web@@2.1.2/src/regular/style.css" />
<!-- Design System -->
<link rel="stylesheet" href="~/css/design-tokens.css">
<link rel="stylesheet" href="~/css/design-system.css">
<link rel="stylesheet" href="~/css/base.css">
<link rel="stylesheet" href="~/css/utilities.css">
<!-- Shared UI Components -->
<link rel="stylesheet" href="~/css/components.css">
<!-- Layout Components -->
<link rel="stylesheet" href="~/css/app-layout.css">
<link rel="stylesheet" href="~/css/sidebar.css">
@ -21,7 +25,6 @@
<link rel="stylesheet" href="~/css/bookings.css">
<link rel="stylesheet" href="~/css/notifications.css">
<link rel="stylesheet" href="~/css/attentions.css">
<link rel="stylesheet" href="~/css/quick-stats.css">
<link rel="stylesheet" href="~/css/waitlist.css">
<link rel="stylesheet" href="~/css/tabs.css">
<link rel="stylesheet" href="~/css/controls.css">