Commit Graph

409 Commits

Author SHA1 Message Date
Rafael Foster 2b4f7352ed Refactor widget size selector to show only numeric dimensions 2026-05-01 09:18:44 -03:00
Rafael Foster f5377bd2f1 Improve dashboard widget sizing controls 2026-05-01 09:05:20 -03:00
Rafael Foster 9c5f8c9a99 Add dashboard widget customization 2026-05-01 08:53:25 -03:00
Rafael Foster e34ba33f9b Refine loan tab filtering and date formats 2026-05-01 08:24:39 -03:00
Rafael Foster 79f55cbfbc Improve loan dashboard interactions 2026-05-01 08:09:12 -03:00
Rafael Foster 977bee8a3a Separate budget and loan views 2026-05-01 07:52:43 -03:00
Rafael Foster 9a80b785c8 Refine budget loan entry flow 2026-04-30 23:20:25 -03:00
Rafael Foster ce107c80a4 Add budget loan tracking 2026-04-30 23:12:38 -03:00
Ulas Kalayci e59a9818a9 fix(i18n): add time format translations to all 13 missing locales
Also translate server error message to English and remove stale
comment from calendar.js catch block.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 19:54:12 +02:00
Rafael Foster 8c9a5c6aa2 feat(settings): add time format preference 2026-04-30 13:48:35 -03:00
Rafael Foster f1050e1fdb Merge branch 'main' of github.com:rafaelfoster/oikos 2026-04-30 13:44:58 -03:00
Rafael Foster 04aa5f5527 feat(calendar): remember last selected view 2026-04-30 13:40:11 -03:00
ulsklyc 345350c80b fix: prevent dashboard horizontal overflow on portrait mobile (#111) (#113)
Two root causes fixed:
- dashboard.css: remove `overflow: visible` from the "Admin Dashboard Layout"
  block that overrode the earlier `overflow: clip`, letting child content escape
  the dashboard container and cause layout overflow
- layout.css: replace `overflow-x: clip` with `overflow-x: hidden` on
  .app-content so layout overflow is properly contained at the scroll
  container level (clip only clips painting, not layout)

Co-authored-by: Ulas Kalayci <ulas.kalayci@googlemail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 17:24:28 +02:00
Ulas Kalayci 1615b6bd0a chore: release v0.38.3 2026-04-30 13:16:13 +02:00
Ulas Kalayci edd8d0889d ux: accent glow on quick-add input after successful item add 2026-04-30 09:13:48 +02:00
Ulas Kalayci e10516d32f ux: pulse error border on repeated validation failures 2026-04-30 09:13:06 +02:00
Ulas Kalayci d720772939 ux: empty state CTA fades in with delay to draw attention 2026-04-30 09:11:45 +02:00
Ulas Kalayci acec9db260 ux: suppress success toasts after 50 saves (long loop) 2026-04-30 09:11:04 +02:00
Ulas Kalayci f1f307388e ux: hide search kbd hint after first keyboard use (long loop) 2026-04-30 09:10:30 +02:00
Ulas Kalayci 89deb7b0ee ux: FAB entry animation stops after 5 views (long loop) 2026-04-30 09:09:39 +02:00
Ulas Kalayci 5a93ac36aa chore: release v0.37.2 2026-04-30 08:20:36 +02:00
Ulas Kalayci 3cd6eb40d4 chore: release v0.37.1 2026-04-30 07:44:30 +02:00
Ulas Kalayci 6e40ba89df fix(calendar): zeige korrekte Fehlermeldung bei zu großem Anhang; nutze --module-accent statt --module-calendar im Dropzone-CSS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 07:15:14 +02:00
Rafael Foster 4aa9bc2a48 fix(calendar): tighten modal and attachment rendering 2026-04-29 22:44:25 -03:00
Ulas Kalayci 4f80903b04 chore: release v0.36.1 2026-04-29 21:33:10 +02:00
Ulas Kalayci 3f69c7c698 chore: release v0.36.0 2026-04-29 21:15:26 +02:00
Ulas Kalayci 5fd2ff80ad fix(ux): dashboard-metriken — wert-zahl xl/bold, label 2xs/uppercase 2026-04-29 21:04:49 +02:00
Ulas Kalayci 8e75a2584b feat(nav): küche-super-modul in desktop-sidebar — konsistent mit mobile nav 2026-04-29 21:04:26 +02:00
Ulas Kalayci 6974d7a86d fix(ux): more-icon auf ellipsis; sidebar-labels ab 1280px statt 1440px 2026-04-29 21:03:13 +02:00
Ulas Kalayci e7f0b21de9 fix(ux): such-overlay input nach oben — standard scan-pfad oben→unten 2026-04-29 21:02:34 +02:00
Ulas Kalayci 17232cf35f fix(ux): touch-targets auf 44px (iOS-Minimum) anheben 2026-04-29 21:02:00 +02:00
Rafael Foster 3b93cf0643 Merge branch 'ulsklyc:main' into main 2026-04-29 15:30:32 -03:00
Ulas Kalayci dcc87f02d8 fix: kitchen tabs bar cleared by second container.innerHTML in shopping.js 2026-04-29 20:14:30 +02:00
Ulas Kalayci bf345380a2 feat: link kitchen-tabs.css in index.html 2026-04-29 20:02:04 +02:00
Ulas Kalayci 6501588370 feat: more-sheet 2-column, drag handle, kitchen/search button styles 2026-04-29 20:01:11 +02:00
Ulas Kalayci 1ac2fbd2b5 feat: restructure bottom nav — kitchen/search buttons, navItems cleanup, g-k shortcuts 2026-04-29 19:59:15 +02:00
Ulas Kalayci 88778a95c9 feat: integrate kitchen tabs bar into meals, recipes, shopping 2026-04-29 19:56:41 +02:00
Ulas Kalayci 7e137d1c21 feat: add kitchen-tabs utility, CSS, token and test 2026-04-29 19:55:28 +02:00
Ulas Kalayci b59c63bbb7 feat: add nav.kitchen, nav.search and shortcuts.goKitchen i18n keys 2026-04-29 19:54:07 +02:00
Rafael Foster f44d018d5c fix(docs): restore backups without helper script 2026-04-29 14:35:59 -03:00
Rafael Foster a31865beef fix(docs): simplify docker restore command 2026-04-29 14:26:58 -03:00
Rafael Foster 7d02ac6c18 fix(settings): guard backup binding during cache updates 2026-04-29 14:07:21 -03:00
Rafael Foster 0cbd93e4e0 feat(settings): add database backup management 2026-04-29 14:04:04 -03:00
Ulas Kalayci a872ac52a9 chore: release v0.33.1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 19:03:04 +02:00
Ulas Kalayci ab30c2ab35 feat: overlapping event layout and calendar event attachments (#107)
- Overlapping timed events in week/day views now render side-by-side using a column-layout algorithm
- Calendar events support optional file attachments (images, PDFs, documents up to 5 MB)
- Attachment images shown in event popup; other files as download links
- Birthday modal redesigned with photo/avatar side-by-side with name/date fields
- DB migration 27: adds attachment_name, attachment_mime, attachment_size, attachment_data columns to calendar_events
- Server-side MIME allowlist and size validation for attachments
- i18n: all 15 locales include new attachment keys (de properly translated)

Co-Authored-By: Rafael Foster <rafaelfoster@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 16:54:02 +02:00
Ulas Kalayci 3fc95da48f fix: innerHTML violations, German translations, and PT diacritics
- Replace innerHTML with replaceChildren/insertAdjacentHTML in birthdays.js and calendar.js (hook compliance)
- Translate calendar attachment i18n keys to German in de.json
- Fix missing diacritical marks in pt.json attachment strings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 16:53:45 +02:00
Ulas Kalayci d6ab4bb02f fix: explicit grid-column for widget--secondary at 768px breakpoint 2026-04-29 16:44:13 +02:00
Ulas Kalayci 593ca9009e feat: visual hierarchy in dashboard — primary widgets (tasks, calendar) span 2 columns
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 16:42:09 +02:00
Ulas Kalayci f973601922 feat: self-host Plus Jakarta Sans variable font for consistent cross-platform typography 2026-04-29 16:40:00 +02:00
Ulas Kalayci 115796c3c5 fix: use overflow: clip on page roots to allow sticky toolbar positioning 2026-04-29 16:36:53 +02:00