Commit Graph

357 Commits

Author SHA1 Message Date
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
Ulas Kalayci 91f15bc62f feat: sticky toolbars in all module pages 2026-04-29 16:34:02 +02:00
Ulas Kalayci 50b224eaef feat: restructure bottom-nav — search as primary slot, sidebar tooltips for collapsed mode 2026-04-29 13:12:56 +02:00
Ulas Kalayci 9b7909f690 fix: page transition crossfade eliminates dark-mode flash on navigation
Removes the sequential fade-out → wait → fade-in pattern that causes
a visible black flash in dark mode between page transitions. Replaces
with immediate crossfade (new page fades in over old content, no wait).

Changes:
- layout.css: Add page-crossfade-in keyframe (0.18s) + prefers-reduced-motion override
- router.js: Remove outClass/inClass direction logic and oldPage fadeout wait

The new approach:
1. Old page remains visible until new page renders
2. New page fades in (0.18s) with full opacity, overlaying old content
3. No 120ms delay = no visible flash in dark mode

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 13:09:21 +02:00
Ulas Kalayci ca26befecd fix: remove redundant toast-container properties in tablet media query 2026-04-29 13:07:59 +02:00
Ulas Kalayci 6852d9fbf8 fix: bottom-nav hide-on-scroll CSS, mehr-sheet 3-col, tablet toast position 2026-04-29 13:06:39 +02:00
Ulas Kalayci 2e3c84db56 fix(i18n): complete tasks and documents translations for all 15 locales
Add missing tasks.statusArchived, archiveButton, archivedToast,
kanbanArchived, reminderNeedsDueDate and translate the documents
section from English placeholders into all supported languages.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 12:24:34 +02:00
Rafael Foster 1ca8110d56 fix(documents): improve upload modal and document theme 2026-04-29 06:27:37 -03:00
Rafael Foster 72fca92066 feat(documents): add family document management 2026-04-29 06:14:29 -03:00
Rafael Foster 6eafe80395 feat(tasks): add archive button in list cards 2026-04-29 05:51:52 -03:00
Rafael Foster 6028c4562a Merge branch 'main' of github.com:rafaelfoster/oikos 2026-04-29 05:48:27 -03:00
Rafael Foster 175725a41c Merge branch 'ulsklyc:main' into main 2026-04-29 05:48:02 -03:00
Rafael Foster 72f103af04 fix(tasks): make task modal body size to content when reminder is enabled 2026-04-29 05:45:41 -03:00
Rafael Foster 6a47cda9a9 fix(tasks): remove extra modal space when enabling reminders 2026-04-29 05:43:04 -03:00
Ulas Kalayci 99783ca600 fix: correct onSave pattern for ICS edit modal
onSave(panel) is a setup hook, not a submit handler. Bind the form's
submit event inside it and call closeModal({ force: true }) on success.
Also add explicit submit/cancel buttons to the modal content.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 10:39:17 +02:00
Rafael Foster 84b794b739 Merge branch 'main' of github.com:rafaelfoster/oikos 2026-04-29 05:38:59 -03:00
Ulas Kalayci 06adc0f3f5 feat: add edit button for ICS subscriptions (#100)
Adds a pencil-icon edit button to each ICS subscription row. Clicking it
opens a modal to update name, color, and shared visibility via PATCH
/calendar/subscriptions/:id. Adds updatedToast i18n key to all 15 locales.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 10:37:16 +02:00
Rafael Foster 0e7142edc2 feat(tasks): advanced reminders UI and recurrence layout improvements 2026-04-29 05:33:06 -03:00
ulsklyc 64fbad8cbf fix: restore native date picker for birthday fields on iOS (#101)
Birthday date inputs in Settings (profile, new member, edit member) and
the Birthdays page were using type="text" with a custom mask, which
suppresses the native iOS date picker wheel. Switching to type="date"
with a plain ISO value restores the native picker while keeping the
existing parseDateInput / isDateInputValid logic intact.

Closes #98

Co-authored-by: Ulas Kalayci <ulas.kalayci@googlemail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 10:28:27 +02:00
Ulas Kalayci 7940ea4ded release: v0.31.0 — family-contacts integration & settings restructure
- Family member records now store phone, email, and birthday, auto-synced
  to Contacts and Birthdays modules (PR #99 by @rafaelfoster)
- Settings gets dedicated Family and API Tokens tabs (admin-only)
- Avatar editor redesigned with icon buttons; tab bar fits standard width
- Dentist calendar icon normalised to 'tooth'; theme reset bug fixed
- i18n: missing family field translations added to 12 locales

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 07:20:53 +02:00
Rafael Foster 4d3c2688fe Prevent deletion of family members from contact list 2026-04-28 22:17:21 -03:00
Rafael Foster 7174bd6560 Fixing light theme selector so it can be stored and remember after page refresh 2026-04-28 22:07:08 -03:00
Rafael Foster 5062e1e61f Improve account profile and sidebar details 2026-04-28 21:11:49 -03:00
Rafael Foster d22f3c1034 Separate API token settings tab 2026-04-28 20:31:53 -03:00
Rafael Foster 69897666fb Refine family settings and calendar dentist icon 2026-04-28 20:28:50 -03:00
Rafael Foster 7b85db9b07 Sync family members with contacts and birthdays 2026-04-28 20:04:13 -03:00
Ulas Kalayci 801c77dec6 fix(calendar): restore native date picker on iOS (type=date) 2026-04-28 18:46:54 +02:00
Ulas Kalayci ed65cf099c fix(i18n/el): correct typo Διδαγραφή → Διαγραφή in recipes.deleteConfirm 2026-04-28 15:49:01 +02:00
Serhiy Bobrov a67a225b96 feat(locales): update recipe translations across multiple languages
Co-authored-by: Copilot <copilot@github.com>
2026-04-28 15:03:10 +03:00
Ulas Kalayci 774d9e87ef fix(dashboard): weather widget white-on-white in light mode 2026-04-28 12:46:49 +02:00
Rafael Foster b4d74f239b Expand calendar event icon options 2026-04-27 22:22:30 -03:00
Rafael Foster 33e4afc009 Refine calendar icon picker 2026-04-27 21:53:18 -03:00
Rafael Foster 1d1d2291e5 Add calendar event icons and flexible date inputs 2026-04-27 21:38:06 -03:00
Ulas Kalayci 890b00f0b0 fix(ux): toast swipe-to-dismiss, widget-icons neutral, reminders.css lazy 2026-04-27 22:32:09 +02:00
Ulas Kalayci 688d6a6efa feat(ux): kontextuelle Onboarding-Tipps in Empty-States aller Module 2026-04-27 22:31:01 +02:00
Ulas Kalayci 56252d3537 feat(desktop): globale Keyboard Shortcuts (/, n, ?, g+Buchstabe) 2026-04-27 22:29:09 +02:00
Ulas Kalayci 218282875c feat(dashboard): Widget-Reihenfolge per Drag-and-Drop anpassbar
Config-Schema um order-Feld erweitert.
Bestehende Configs werden automatisch migriert.
Drag-and-Drop zusätzlich zu Up/Down-Buttons im Customize-Modal.
2026-04-27 22:27:59 +02:00
Ulas Kalayci a66bd2b05c feat(ux): zentrales deleteWithUndo + Undo-Toast in Birthdays
deleteWithUndo in ux.js: onDelete ausführen, Undo-Toast anzeigen.
Birthdays migriert; Contacts/Notes/Meals haben bereits optimistische Undo-Logik.
2026-04-27 22:26:46 +02:00
Ulas Kalayci 048e31e933 feat(pwa): Offline-Banner in App-Shell, reminders.css lazy geladen
Zeigt automatisch wenn navigator.onLine === false.
Blendet sich aus sobald Verbindung wiederhergestellt.
reminders.css aus globalem <link> entfernt (wird lazy geladen).
2026-04-27 22:24:42 +02:00
Ulas Kalayci d0adde29c4 chore(css): totes .fab-CSS entfernen, alle Seiten nutzen .page-fab 2026-04-27 22:22:39 +02:00
Ulas Kalayci 94309a2294 fix(nav): title-tooltip für icon-only Sidebar (1024–1279px) 2026-04-27 22:22:03 +02:00
Ulas Kalayci e839e40906 fix(ui): modal-close 44px, widget-link tap-target 44px
Modal-Close: --target-md (40px) → --target-base (44px), Apple HIG.
Widget-Link: min-height 44px + padding für ausreichendes Tap-Target.
2026-04-27 22:21:36 +02:00
Rafael Foster a1c839d4e7 Skip discard prompt after saving member edits 2026-04-27 09:09:31 -03:00
Rafael Foster 2dd38bfae3 Fix profile picture preview under CSP 2026-04-27 09:04:54 -03:00
Rafael Foster 7e4db48a9f Merge branch 'main' of github.com:rafaelfoster/oikos 2026-04-27 08:52:18 -03:00
Rafael Foster 6e410cb671 Add member editing and profile pictures 2026-04-27 08:09:00 -03:00
Rafael Foster b82a86c4b3 Add family roles to member management 2026-04-27 07:53:43 -03:00
Ulas Kalayci 29d9d28ee5 chore: release v0.26.4 2026-04-27 12:47:43 +02:00