Commit graph

14 commits

Author SHA1 Message Date
0001735207 fix(image-import): Zielmonat aus Live-Dropdown, Titel-Namen matchen, Importer-Instanziierung nach Sync-Boot
- Zielmonat/-jahr aus month-select/year-select statt veraltetem app.currentMonth (stand fix auf heute)
- normalizeName entfernt Anreden/Titel (Herr/Frau/Dr.) -> matcht titellose Mitarbeiter, kein Doppelanlegen
- Regression aus Sync-Boot behoben: app.js erzeugt imageImporter nach window.app (DOMContentLoaded-Listener lief zu frueh)
- totes app.currentMonth/currentYear entfernt; SW-Cache v5->v6
2026-07-07 19:23:45 +02:00
bbc8690a0b refactor(image-import): extract resolveEntryName, dedupe resolution
groupEntriesByResolvedEmployee and resolveImports carried an identical
resolvedNames -> ignore/new/assign branch. One helper returning
{resolved, isNew}; callers keep their own null/newEmployee handling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 11:41:39 +02:00
722f961387 chore: cleanup dead code and duplicated logic from audit
- Remove broken webpack.yml (no package.json/webpack config exists)
- Drop dead RATE_NORMAL/RATE_WEEKEND fields on BonusCalculator; share the
  real rate constants across all three variants in variants.js
- Simplify getEmptyResult() to build allResults via .map instead of
  three manual spreads
- Replace 5 duplicated German month-name arrays and 2 weekday-name
  arrays in app.js with a shared monthName()/WEEKDAY_NAMES helper;
  drop the now-redundant getMonthName() method
- Reuse existing .modal/.modal-backdrop/.modal-content CSS classes in
  generateEmailReport() instead of hand-rolled inline styles
- Delegate ImageImporter.classify() to the shared classify() in
  variants.js instead of a duplicated copy
- Unify ad hoc YYYY-MM-DD formatting in app.js to use the existing
  HolidayProvider.formatDate() helper

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-05 19:23:14 +02:00
3b6283ced1 feat(image-import): add resolveImports (pure) and commitImport persisting duties via DataStorage 2026-05-12 18:23:27 +02:00
801757b92c feat(image-import): add renderPreview + Stage 3 grouping, unknowns, slot badges, remove-row 2026-05-12 18:22:37 +02:00
c43675478b feat(image-import): add runRecognition pipeline (compress, call, parse, dedupe, match) + Stage 2 cancel 2026-05-12 18:22:07 +02:00
6c536995b6 feat(image-import): add modal markup, CSS, and Stage 1 file/drop/camera wiring 2026-05-12 18:21:46 +02:00
b8dd1ad150 feat(image-import): add openImportDialog entry point with API-key prompt and stage helpers 2026-05-12 18:20:42 +02:00
20f63e07cd feat(image-import): add normalizeName, matchNames (exact+fuzzy), classify slot helper 2026-05-12 00:16:27 +02:00
773c286236 feat(image-import): add inline levenshtein distance helper 2026-05-12 00:15:39 +02:00
93e6b32fe9 feat(image-import): add parseResponse with fence-stripping and schema validation 2026-05-12 00:15:15 +02:00
60e71d4a57 feat(image-import): add callVisionAPI with OpenRouter fetch + typed HTTP errors 2026-05-12 00:14:38 +02:00
d8a3e9de86 feat(image-import): add compressImage with canvas resize + JPEG re-encode 2026-05-12 00:13:57 +02:00
e58a2488bb feat: add empty ImageImporter skeleton wired into index.html 2026-05-12 00:12:28 +02:00