Commit Graph

10 Commits

Author SHA1 Message Date
Rafael Foster 140fa78ca1 Initial commit after fork. Moving Budget categories to Database and adding subcategories, with customization options 2026-04-25 10:05:27 -03:00
ulsklyc 37efff3ba5 fix: add missing i18n keys across all non-German locales (#83)
* fix: add missing i18n keys for nav, search, tasks, calendar, settings, reminders in all locales

Resolves #82

nav.more, calendar.ics.reset/resetToast, settings.ics.*, tasks.filter*,
tasks.swiped*, search.* and reminders.* keys were missing in all 14
non-German locale files, causing the app to fall back to German strings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: release v0.23.15

---------

Co-authored-by: Ulas Kalayci <ulas.kalayci@googlemail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 08:54:09 +02:00
Ulas Kalayci e1ea0bdb7e fix(weather): show correct wind speed and unit for imperial units
When OPENWEATHER_UNITS=imperial, OpenWeatherMap returns wind speed in
mph directly — the server was incorrectly multiplying by 3.6 (m/s→km/h)
on top of that. All locale strings also hardcoded the unit label instead
of using a {{windUnit}} placeholder, so the label always read km/h.

Resolves #79

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 07:39:13 +02:00
Konrad M. bc8acea12a fix(i18n): add task due-date locale keys for all 16 supported languages
Adds overdue, dueSoon, dueToday, dueTomorrow, and noDueDate keys to
the tasks section of every locale file used by formatDueDate().
2026-04-21 22:18:14 +02:00
Serhiy Bobrov 0b54fe255b feat: add recipes module with CRUD functionality and integrate with meals
- Implemented new recipes page with UI for managing recipes.
- Added REST API routes for recipes including create, read, update, and delete operations.
- Introduced database schema for recipes and recipe ingredients.
- Updated meals to link with recipes, allowing meals to reference specific recipes.
- Enhanced validation for recipe-related fields in meals.
- Added styles for the recipes page and components.
2026-04-21 14:15:39 +02:00
ulsklyc d1ec7367a0 fix(auth): resolve post-login navigate race condition and add version display (#68) (#70)
Root cause: when auth.me() failed during initial navigation, the catch block
called navigate('/login') without clearing _pendingLoginRedirect. The outer
finally then fired a second concurrent navigate('/login'), which held
isNavigating=true while running. If the user submitted the login form (or
iCloud Keychain autofilled credentials) before the second navigation
completed, navigate('/', user) was silently blocked by the isNavigating guard —
login appeared to succeed but the app never advanced to the dashboard.

Fix: clear _pendingLoginRedirect in the catch block so the finally handler
does not spawn the duplicate navigation.

Also adds a GET /api/v1/version endpoint (no auth required) and shows the
version on the login page, so users can verify their PWA has received the
latest cached JS.

Resolves #68

Co-authored-by: Ulas Kalayci <ulas.kalayci@googlemail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 08:19:53 +02:00
Ulas Kalayci 87be39364d chore: release v0.20.20
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 07:17:30 +02:00
Ulas Kalayci 52b494241e fix: replace innerHTML with DOM API in updateCategoryOptions; restore uk.json newline
innerHTML violates project convention (PostToolUse hook blocks it); use
replaceChildren with createElement/textContent instead. Also restore the
trailing newline removed from uk.json.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 13:07:32 +02:00
Serhiy Bobrov 7910636ffa feat: add income categories to budget management 2026-04-19 09:15:29 +03:00
Ulas Kalayci 6746a5a175 feat: Ukrainian translation, UAH currency, shopping category i18n (closes #52)
- Add Ukrainian (uk) locale to SUPPORTED_LOCALES and locale picker
- Add public/locales/uk.json (622 keys, full Ukrainian translation)
- Add UAH (Ukrainian Hryvnia) to SUPPORTED_CURRENCIES and VALID_CURRENCIES
- Add CATEGORY_I18N map and catLabel() in settings.js to translate default
  shopping category names in the settings panel; rename and delete dialogs
  now also use the translated name instead of the raw German DB string
- Align server VALID_CURRENCIES with frontend: add missing AED, BRL, INR, SAR

Co-Authored-By: baragoon <baragoon@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 22:09:42 +02:00