diff --git a/.dockerignore b/.dockerignore index b1d3674..0bfc8f7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -12,3 +12,4 @@ docs/reference/*.docx docs/reference/*.pdf docs/design/stitch-reference docs/design/validation +artifacts diff --git a/apps/core/context_processors.py b/apps/core/context_processors.py index 7aa2efe..6372134 100644 --- a/apps/core/context_processors.py +++ b/apps/core/context_processors.py @@ -10,7 +10,7 @@ from apps.profiles.models import SearchProfile def navigation_context(request: HttpRequest) -> dict[str, Any]: context = { "app_name": "VacatureRadar", - "app_version": "0.2.13", + "app_version": "0.3.0", } if request.user.is_authenticated: context["navigation_profile"] = ( diff --git a/artifacts/visual-validation/activity-desktop.png b/artifacts/visual-validation/activity-desktop.png new file mode 100644 index 0000000..f150e6d Binary files /dev/null and b/artifacts/visual-validation/activity-desktop.png differ diff --git a/artifacts/visual-validation/applications-desktop.png b/artifacts/visual-validation/applications-desktop.png new file mode 100644 index 0000000..fee33e1 Binary files /dev/null and b/artifacts/visual-validation/applications-desktop.png differ diff --git a/artifacts/visual-validation/automation-desktop.png b/artifacts/visual-validation/automation-desktop.png new file mode 100644 index 0000000..b123733 Binary files /dev/null and b/artifacts/visual-validation/automation-desktop.png differ diff --git a/artifacts/visual-validation/dashboard-desktop.png b/artifacts/visual-validation/dashboard-desktop.png new file mode 100644 index 0000000..7746b9d Binary files /dev/null and b/artifacts/visual-validation/dashboard-desktop.png differ diff --git a/artifacts/visual-validation/dashboard-mobile.png b/artifacts/visual-validation/dashboard-mobile.png new file mode 100644 index 0000000..965b69f Binary files /dev/null and b/artifacts/visual-validation/dashboard-mobile.png differ diff --git a/artifacts/visual-validation/employers-desktop.png b/artifacts/visual-validation/employers-desktop.png new file mode 100644 index 0000000..4c3669b Binary files /dev/null and b/artifacts/visual-validation/employers-desktop.png differ diff --git a/artifacts/visual-validation/job-detail-desktop.png b/artifacts/visual-validation/job-detail-desktop.png new file mode 100644 index 0000000..f9b5f7b Binary files /dev/null and b/artifacts/visual-validation/job-detail-desktop.png differ diff --git a/artifacts/visual-validation/job-detail-mobile.png b/artifacts/visual-validation/job-detail-mobile.png new file mode 100644 index 0000000..e98094d Binary files /dev/null and b/artifacts/visual-validation/job-detail-mobile.png differ diff --git a/artifacts/visual-validation/matches-desktop.png b/artifacts/visual-validation/matches-desktop.png new file mode 100644 index 0000000..808de0c Binary files /dev/null and b/artifacts/visual-validation/matches-desktop.png differ diff --git a/artifacts/visual-validation/profile-desktop.png b/artifacts/visual-validation/profile-desktop.png new file mode 100644 index 0000000..8734619 Binary files /dev/null and b/artifacts/visual-validation/profile-desktop.png differ diff --git a/artifacts/visual-validation/sources-desktop.png b/artifacts/visual-validation/sources-desktop.png new file mode 100644 index 0000000..ed2e205 Binary files /dev/null and b/artifacts/visual-validation/sources-desktop.png differ diff --git a/static/css/pages.css b/static/css/pages.css index 10649d3..62ffd06 100644 --- a/static/css/pages.css +++ b/static/css/pages.css @@ -260,7 +260,8 @@ .config-disclosure summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; color: var(--text-muted); } .preference-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } .profile-savebar { position: sticky; z-index: 15; bottom: 16px; padding: 9px; border: 1px solid var(--outline); background: color-mix(in srgb, var(--surface-lowest) 92%, transparent); backdrop-filter: blur(16px); } -.profile-preview { display: grid; gap: 14px; } +.profile-preview { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr); gap: 14px; } +.profile-preview > * { min-width: 0; } .preview-panel { border-color: color-mix(in srgb, var(--cyan) 34%, var(--outline)); box-shadow: var(--shadow-signal); } .preview-vacancy { margin: 15px 0; padding: 16px; border: 1px solid var(--outline); background: var(--surface-lowest); } .profile-index-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } @@ -367,6 +368,7 @@ .automation-kpis strong, .automation-kpis small { display: block; } .automation-kpis strong { margin: 15px 0 4px; color: var(--text-strong); font: 650 32px var(--font-headline); } .automation-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .5fr); align-items: start; gap: 14px; } +.automation-layout > * { min-width: 0; } .automation-source-table, .technical-log-panel { padding: 18px; border: 1px solid color-mix(in srgb, var(--outline) 42%, transparent); background: var(--surface-container); } .technical-log-panel { background: var(--surface-lowest); } .live-log { display: grid; max-height: 520px; overflow-y: auto; margin-bottom: 15px; } diff --git a/static/js/app.js b/static/js/app.js index a20abe3..d5f208f 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -11,10 +11,15 @@ if (storedTheme === "light" || storedTheme === "dark") root.dataset.theme = storedTheme; } catch { /* Persistent storage is optional. */ } - document.querySelector("[data-theme-toggle]")?.addEventListener("click", (event) => { + const themeToggle = document.querySelector("[data-theme-toggle]"); + const updateThemeLabel = () => { + themeToggle?.setAttribute("aria-label", root.dataset.theme === "light" ? "Donker thema activeren" : "Licht thema activeren"); + }; + updateThemeLabel(); + themeToggle?.addEventListener("click", () => { const next = root.dataset.theme === "light" ? "dark" : "light"; root.dataset.theme = next; - event.currentTarget.setAttribute("aria-label", next === "light" ? "Donker thema activeren" : "Licht thema activeren"); + updateThemeLabel(); try { localStorage.setItem("vacatureradar-theme", next); } catch { /* Current page still updates. */ } });