fix: address code-review findings from pass 1 + 2 (#8)

- Fix saveCourseToDB returning 0 on conflict by falling back to SELECT
- Fix inactive layouts showing 'Never played' when last_played exists
- Add .icon-btn.spinning to courses.css for refresh button feedback
- Remove duplicate .btn-primary from courses.css (use shared.css version)
- Tokenize rating tier colors into --rating-tier-{high,mid,low} CSS vars
- Convert var to const/let throughout courses.js
- Fix logger.error calls to use {err} object form (pino convention)
- Extract RATING_TIER_HIGH/MID constants in course-layouts.ejs scriptlet
- Remove dead href='#' View all link from courses.ejs (deferred)
- Pass total prop explicitly from course-table.ejs to course-cards.ejs
- Remove dead #search-results-info selector from mobile.css
- Remove redundant .replace(/"/g, '"') from data attributes in course-table.ejs
This commit is contained in:
Samuel Enocsson
2026-05-25 09:54:15 +02:00
parent 4bbf6d9728
commit 9cb78c9c98
9 changed files with 97 additions and 96 deletions
+5
View File
@@ -34,6 +34,11 @@
--font-sans: 'Plus Jakarta Sans', system-ui, sans-serif;
--font-mono: 'JetBrains Mono', ui-monospace, monospace;
/* ── Rating tier tokens ───────────────────────── */
--rating-tier-high: oklch(0.55 0.15 150);
--rating-tier-mid: oklch(0.55 0.12 100);
--rating-tier-low: oklch(0.55 0.10 50);
/* legacy token aliases — remove as components migrate */
--surface-0: var(--bg);
--surface-1: var(--paper);