Adds comprehensive customers list and management components

Introduces customer-related view components for table and row display
Implements mock data loading and customer list rendering
Adds localization support for customer-related text
Enhances UI with detailed customer information and interactions
This commit is contained in:
Janus C. H. Knudsen 2026-01-21 18:00:53 +01:00
parent cd7acaf490
commit 6ef001e35f
11 changed files with 869 additions and 675 deletions

View file

@ -233,7 +233,7 @@ swp-modules-badge {
display: inline-flex;
align-items: center;
padding: var(--spacing-1) var(--spacing-3);
font-size: var(--font-size-xs);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-semibold);
border-radius: var(--radius-sm);
background: var(--bg-purple-strong);
@ -251,14 +251,17 @@ swp-modules-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: var(--spacing-24);
margin-bottom: var(--spacing-5);
padding-top: var(--spacing-12);
border-top: 1px solid var(--color-border);
}
swp-modules-title {
display: flex;
align-items: center;
gap: var(--spacing-3);
font-size: var(--font-size-lg);
font-size: var(--font-size-xl);
font-weight: var(--font-weight-semibold);
color: var(--color-text);
@ -303,9 +306,9 @@ swp-module-card {
swp-module-header {
display: flex;
align-items: center;
align-items: flex-start;
gap: var(--spacing-5);
padding: var(--card-padding);
padding: var(--spacing-6);
}
swp-module-icon {
@ -350,21 +353,23 @@ swp-module-icon {
swp-module-info {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: var(--spacing-2);
}
swp-module-title {
display: block;
font-size: var(--font-size-md);
font-size: var(--font-size-lg);
font-weight: var(--font-weight-semibold);
color: var(--color-text);
margin-bottom: var(--spacing-1);
}
swp-module-desc {
display: block;
font-size: var(--font-size-sm);
font-size: var(--font-size-md);
color: var(--color-text-secondary);
line-height: 1.4;
line-height: 1.6;
}
swp-module-toggle {
@ -390,7 +395,7 @@ swp-module-tag {
display: inline-flex;
align-items: center;
padding: var(--spacing-1) var(--spacing-3);
font-size: var(--font-size-xs);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-medium);
border-radius: var(--radius-sm);
background: var(--color-background);
@ -440,8 +445,8 @@ swp-module-card.featured {
swp-module-features {
display: flex;
flex-wrap: wrap;
gap: var(--spacing-2) var(--spacing-5);
flex-direction: column;
gap: var(--spacing-2);
padding: 0 var(--card-padding) var(--spacing-5);
}
@ -449,7 +454,7 @@ swp-module-feature {
display: flex;
align-items: center;
gap: var(--spacing-2);
font-size: var(--font-size-sm);
font-size: var(--font-size-md);
color: var(--color-text-secondary);
& i {
@ -487,7 +492,7 @@ swp-module-stat {
swp-module-stat-value {
display: block;
font-size: var(--font-size-xl);
font-size: var(--font-size-2xl);
font-weight: var(--font-weight-bold);
font-family: var(--font-mono);
color: var(--color-green);
@ -495,7 +500,7 @@ swp-module-stat-value {
swp-module-stat-label {
display: block;
font-size: var(--font-size-xs);
font-size: var(--font-size-sm);
color: var(--color-text-secondary);
margin-top: var(--spacing-1);
}
@ -530,8 +535,9 @@ swp-tracking-hint {
/* Modules tab max-width */
swp-tab-content[data-tab="modules"] swp-page-container {
max-width: 900px;
max-width: 1100px;
margin: 0 auto;
padding-bottom: var(--spacing-16);
}
/* Tracking tab uses 2-column grid layout */
@ -539,7 +545,7 @@ swp-tab-content[data-tab="tracking"] swp-page-container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
max-width: 900px;
max-width: 1100px;
margin: 0 auto;
}