Commit Graph

31 Commits

Author SHA1 Message Date
claude 04ce55bfc3 refactor(web): restructure myai.css with section comments and cleanup
- Add section block comments throughout for navigability
- Merge two duplicate @media (max-width:900px) blocks into one
- Remove dead .ai-mark rule (replaced by <img> logo, never rendered)
- Move .cookie-overlay, .cookie-manage to display:none by default
  (removes need for inline style="display:none;" on those elements)
- Add .loader-overlay.loader-visible{display:flex} so JS can use
  class toggling instead of .css('display','flex') — works correctly
  with jQuery 4.0's getComputedStyle-based visibility detection
- Consolidate brand-mark, console-line, nav-actions rules next to
  their related blocks (were scattered at end of file)

Closes #31

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 10:13:27 +03:00
claude 3a39b03ff1 chore(web): remove Bootstrap, add 4 replacement utility rules, delete dead style.css
Bootstrap CSS (232 KB) and Bootstrap JS (39 KB) were loaded for only
4 utility classes (.btn-sm, .btn-dark, .btn-warning, .shadow).
Replace with 4 targeted rules in myai.css and delete both files.

style.css (784 lines) was unreferenced by any HTML page — delete it.

Closes #31

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 10:11:42 +03:00
claude 9b0d7fb907 chore: upgrade jQuery from 3.6.1 to 4.0.0
The vendor file was misnamed jquery-1.12.4.min.js but contained v3.6.1.
Replaced with the correctly-named jquery-4.0.0.min.js (78 KB, up from 89 KB).

Compatibility check: none of the removed jQuery 4.0 APIs are used in
main.js — no $.isArray, $.isFunction, $.trim, $.type, $.parseJSON, etc.
All ajax/deferred/DOM methods in use ($.ajax, $.when, .done/.fail/.always,
.on, .prop, .css, .addClass etc.) remain in the full 4.0 build.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 09:58:02 +03:00
claude 7908dad181 Fix error propagation: surface API validation messages in the UI
- UseJsonExceptionHandler now maps InvalidOperationException to 400 (was 500),
  so upstream business-rule rejections reach the browser as actionable messages.
- CvMatcherController forwards Refit 4xx bodies from cv-matcher-api instead
  of swallowing them in a generic 502.
- ErrorResponse.Score removed; CaptchaController puts the score in Detail.
- Frontend extractApiError helper reads the server Error/error/title field for
  4xx responses and falls back to a generic i18n string for 5xx / missing body.
- All four failure handlers (CV upload, CV match, contact form, subscribe form)
  updated to use extractApiError with the correct rate-limit i18n key.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 09:41:24 +03:00
claude 2cada13fe3 Fix footer vertical misalignment — zero p margin inside footer-wrap
The <p> wrapping the copyright line had default browser margins (1em top/bottom)
which offset it above the sibling flex items despite align-items: center.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 17:11:54 +03:00
claude b6878e3b45 Respect UI language in match result — LLM responds in user's selected language
The frontend sends the active language code (currentLang()) with every match
request. CvMatcherService injects a language instruction into the system prompt
so the LLM returns summary, strengths, gaps, recommendations, and evidence in
the correct language. The match result cache (CvMatchResults) now includes
Language as part of the lookup key so Romanian and English results are stored
and retrieved independently. Existing cached rows default to 'en'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 17:04:21 +03:00
claude 6deb8dd4c8 Move version display to GET /api/health/version in HealthController
Uses GetApplicationVersion(Assembly.GetExecutingAssembly()) — the same
timestamp-based version already logged at startup and baked into the
assembly via the csproj <Version> property. Removes the minimal-API
/version endpoint from web/Program.cs and reverts the web Dockerfile
APP_VERSION build-arg (no longer needed).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 20:25:07 +03:00
claude 0154b56881 Add auto-incrementing version display to web UI footer
Exposes GET /version endpoint in the web container (reads APP_VERSION env var).
CI computes the version as 1.0.<git-commit-count> and passes it via --build-arg at build time.
Both index.html and cv-matcher/index.html show the version in the footer via a JS fetch.
docker-compose passes APP_VERSION through to the running container.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 20:18:31 +03:00
claude aa79b422e4 Changes
Build and Push Docker Images / build (push) Successful in 31s
2026-05-20 14:25:07 +03:00
claude be1dec7171 Changes
Build and Push Docker Images / build (push) Successful in 16s
2026-05-12 11:22:34 +03:00
claude 6fceeb4481 Diacritics
Build and Push Docker Images / build (push) Successful in 17s
2026-05-12 11:19:00 +03:00
claude 6470f7a9c5 Changes
Build and Push Docker Images / build (push) Successful in 40s
2026-05-12 11:16:21 +03:00
claude 19e3526430 Changes
Build and Push Docker Images / build (push) Successful in 18s
2026-05-12 11:11:06 +03:00
claude 4eaae45cba Changes 2026-05-12 10:38:04 +03:00
claude 44aa19a92e Changes
Build and Push Docker Images / build (push) Successful in 17s
2026-05-11 13:09:09 +03:00
claude e512317f33 Changes
Build and Push Docker Images / build (push) Successful in 43s
2026-05-11 12:33:51 +03:00
claude c2896ce77b Changes
Build and Push Docker Images / build (push) Failing after 0s
2026-05-08 14:09:58 +03:00
claude 51e668bf1d Changes
Build and Push Docker Images / build (push) Failing after 0s
2026-05-08 13:46:25 +03:00
claude 845f41255f Changes
Build and Push Docker Images / build (push) Failing after 1s
2026-05-07 20:00:57 +03:00
claude 3d966a95ca Changes
Build and Push Docker Images / build (push) Successful in 29s
2026-05-06 15:41:58 +03:00
claude a926c214e1 Changes
Build and Push Docker Images / build (push) Successful in 28s
2026-05-06 15:26:25 +03:00
claude a10908364b Changes 2026-05-06 15:17:20 +03:00
claude 711810d8c2 Changes 2026-05-06 14:48:12 +03:00
claude 17266730fc Changes 2026-05-06 10:56:02 +03:00
claude 661bf461f9 Changes
Build and Push Docker Images / build (push) Successful in 13s
2026-05-04 21:46:37 +03:00
claude fa1ef23c02 Changes
Build and Push Docker Images / build (push) Successful in 37s
2026-05-04 21:02:35 +03:00
claude 3ed1588ef9 Changes
Build and Push Docker Images / build (push) Successful in 13s
2026-05-04 18:56:10 +03:00
claude 597a3f8d34 Small changes
Build and Push Docker Images / build (push) Successful in 14s
2026-05-04 17:02:37 +03:00
claude 86993fbc66 Changes
Build and Push Docker Images / build (push) Successful in 13s
2026-05-04 14:34:38 +03:00
claude ba57695e01 Changes
Build and Push Docker Images / build (push) Successful in 27s
2026-05-04 10:31:41 +03:00
claude fc2dd721e4 Initial commit
Build and Push Docker Images / build (push) Successful in 29s
2026-05-02 21:31:31 +03:00