fix(frontend): auto-completed on finish time, dashboard links, list/calendar UX
Some checks failed
CI / build-and-test (pull_request) Has been cancelled

- Set status to completed when finish time parses (input + submit)
- Dashboard: last personal record by recent date+time; links on top 3 cards
- Hover scale+shadow on all dashboard-card; linked card padding via BEM
- Race list: full row links to race detail; same hover as before
- Calendar year grid: 3 columns, 2 on tablet, 1 on narrow
- Version 0.4.1

Made-with: Cursor
This commit is contained in:
Vaka.pro
2026-04-13 22:34:39 +03:00
parent 74f059593e
commit 4ea8faf16f
6 changed files with 130 additions and 85 deletions

View File

@@ -128,6 +128,35 @@ a {
border-radius: var(--radius-md);
padding: var(--space-5);
background: #fcfdff;
transition:
transform 0.15s ease,
box-shadow 0.15s ease;
}
.dashboard-card:hover,
.dashboard-card:focus-within {
transform: scale(1.02);
box-shadow: var(--shadow-card-lift);
}
.dashboard-card--linked {
padding: 0;
}
.dashboard-card__link-surface {
display: flex;
flex-direction: column;
height: 100%;
padding: var(--space-5);
border-radius: var(--radius-md);
color: inherit;
text-decoration: none;
outline: none;
}
.dashboard-card__link-surface:hover,
.dashboard-card__link-surface:focus-visible {
outline: none;
}
.dashboard-card__title {
@@ -254,12 +283,6 @@ a {
font-weight: 600;
}
.race-card__link:hover,
.race-card__link:focus-visible {
text-decoration: underline;
outline: none;
}
.race-card__meta {
margin: var(--space-2) 0 0;
color: var(--color-text-muted);
@@ -729,7 +752,7 @@ a {
.races-cal__year {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-5);
}
@@ -967,6 +990,10 @@ a {
grid-template-columns: 1fr;
}
.races-cal__year {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.race-details-header {
flex-direction: column;
}
@@ -976,3 +1003,9 @@ a {
align-items: stretch;
}
}
@media (max-width: 560px) {
.races-cal__year {
grid-template-columns: 1fr;
}
}