Enhances customer list and detail views

Improves customer page UI with interactive elements:
- Adds quick view sidebar button for each customer row
- Implements row-level navigation to customer details
- Corrects Danish spelling and typography
- Refactors data table layout for better usability

Modernizes customer interaction by enabling direct page navigation and quick information access
This commit is contained in:
Janus C. H. Knudsen 2026-01-20 21:32:03 +01:00
parent 6b0a84a07e
commit cd7acaf490
5 changed files with 291 additions and 178 deletions

View file

@ -568,7 +568,7 @@ swp-card-title {
display: flex;
align-items: center;
gap: var(--spacing-3);
font-size: var(--font-size-md);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-semibold);
text-transform: uppercase;
color: var(--color-text);

View file

@ -18,9 +18,9 @@ swp-card.customers-list {
overflow: hidden;
}
/* Table columns: Navn(1fr) | Tlf(120px) | Email(180px) | Besøg(70px) | Sidste(90px) | Frisør(100px) | Oprettet(90px) | Tags(140px) */
/* Table columns: QuickView(40px) | Navn(1fr) | Tlf(120px) | Email(180px) | Besøg(70px) | Sidste(90px) | Frisør(100px) | Oprettet(90px) | Tags(140px) */
swp-card.customers-list swp-data-table {
grid-template-columns: minmax(200px, 1fr) 120px 180px 70px 90px 100px 90px 140px;
grid-template-columns: 40px minmax(200px, 1fr) 120px 180px 70px 90px 100px 90px 140px;
}
swp-card.customers-list swp-data-table-header,
@ -41,32 +41,61 @@ swp-card.customers-list swp-data-table-cell {
padding: var(--spacing-5) 0;
}
/* Name cell with avatar */
/* Quick-view cell (first column) */
swp-card.customers-list swp-data-table-cell:first-child {
display: flex;
align-items: center;
justify-content: center;
}
/* Name cell with avatar (second column) */
swp-card.customers-list swp-data-table-cell:nth-child(2) {
display: flex;
align-items: center;
gap: var(--spacing-4);
}
/* Mono font for visits column */
swp-card.customers-list swp-data-table-row swp-data-table-cell:nth-child(4) {
/* Mono font for visits column (fifth column) */
swp-card.customers-list swp-data-table-row swp-data-table-cell:nth-child(5) {
font-family: var(--font-mono);
text-align: center;
}
/* Muted text for email and created columns */
swp-card.customers-list swp-data-table-row swp-data-table-cell:nth-child(3),
swp-card.customers-list swp-data-table-row swp-data-table-cell:nth-child(7) {
/* Muted text for email and created columns (4th and 8th) */
swp-card.customers-list swp-data-table-row swp-data-table-cell:nth-child(4),
swp-card.customers-list swp-data-table-row swp-data-table-cell:nth-child(8) {
color: var(--color-text-secondary);
}
/* Tags cell */
/* Tags cell (last column) */
swp-card.customers-list swp-data-table-cell:last-child {
display: flex;
gap: var(--spacing-2);
flex-wrap: wrap;
}
/* Quick-view button */
swp-quick-view-btn {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: var(--radius-md);
color: var(--color-text-tertiary);
cursor: pointer;
transition: all var(--transition-fast);
}
swp-quick-view-btn:hover {
background: var(--bg-teal-subtle);
color: var(--color-teal);
}
swp-quick-view-btn i {
font-size: var(--font-size-lg);
}
/* ===========================================
CUSTOMER DRAWER
Reuses: swp-drawer-* (drawers.css), swp-section-label (components.css),
@ -1207,20 +1236,20 @@ swp-giftcard-balance {
}
swp-giftcard-balance strong {
color: var(--color-text);
font-weight: var(--font-weight-semibold);
font-family: var(--font-mono);
color: var(--color-teal);
}
swp-giftcard-expires {
font-size: var(--font-size-xs);
font-size: var(--font-size-sm);
color: var(--color-text-tertiary);
}
/* Progress Bar */
swp-progress-bar {
height: 6px;
height: 8px;
background: var(--color-border);
border-radius: var(--radius-full);
border-radius: var(--radius-sm);
overflow: hidden;
}
@ -1348,7 +1377,7 @@ swp-activity-content {
}
swp-activity-title {
font-size: var(--font-size-sm);
font-size: var(--font-size-md);
color: var(--color-text);
display: flex;
align-items: center;