Commit Graph

80 Commits

Author SHA1 Message Date
Ulas Kalayci d00bb0aaa8 Redesign GitHub Pages: Hero-Layout, Sektionsreihenfolge, Dark Mode Farben
- Hero: Tablet-Screenshot neben Überschrift platziert, mobile Screenshot entfernt
- Grid-Layout für Hero-Bereich (Text links, Bild rechts)
- Sektionsreihenfolge: "Your Data. Your Private Place" vor "Features"
- Dark Mode Farben an App-Design angepasst (aus tokens.css):
  - Neutral-Skala: #1A1A18, #222220 statt #111015, #222130
  - Akzent: #818CF8 (Indigo-400) statt #A78BFA
  - Konsistente Farbgebung mit der App
- Responsive Design für neues Layout angepasst

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-05 12:55:30 +02:00
Ulas Kalayci 82f1a76a5d Update GitHub Page design and screenshots
- Implement modern design with DM Serif Display + DM Sans fonts
- Switch accent color to purple/violet (#6C3AED / #A78BFA)
- Add hero section with desktop + mobile mockups
- Add feature showcase with alternating layouts
- Add screenshot carousel
- Update all screenshots to new versions
- Maintain dark/light mode and EN/DE language support

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-05 12:36:20 +02:00
Ulas Kalayci dd5ba80541 Reorder GitHub Pages sections: Preview before Features
Improved content flow by showing screenshots (Preview section) before the Features section, giving visitors a visual first impression before diving into the feature list.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-05 11:29:11 +02:00
Ulas Kalayci f1dd8e5161 docs: update screenshots to reflect current UI state
Replace old screenshots with new ones showing updated dashboard design and weather widget. Update README to display mobile + desktop side-by-side, regenerate social preview images with new dashboard screenshot.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-05 11:22:37 +02:00
Ulas Kalayci 6cdef0102c feat(settings): add dedicated Sync tab with CardDAV contacts integration
- Rename Calendar tab to Synchronization with two sections:
  * Calendar Sync (Google, Apple, CalDAV, ICS)
  * Contact Sync (CardDAV) - NEW
- Add visual tab grouping with CSS separators between sections
- Implement CardDAV account management UI:
  * Add/delete accounts
  * Enable/disable addressbooks
  * Manual sync trigger
  * Connection testing
- Add UX improvements:
  * Status badges (success/error/syncing)
  * Empty states with onboarding
  * Inline help tooltips (prepared)
  * Breadcrumb navigation (prepared)
- Update i18n keys in all 14 locales
- All 109 tests passing

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-04 21:50:59 +02:00
Ulas Kalayci dd16078f7a docs: archive implemented plans, specs, and design documents
Move completed implementation plans (2026-04-20), design specs,
and audit documents to docs/archive/ for historical reference
while keeping the main docs/ directory focused on active
documentation.

Archived:
- 1 implementation plan (superpowers/plans/)
- 2 design specs (superpowers/specs/)
- 3 design documents (designs/)
- 5 audit/proposal documents (root level)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-04 20:09:23 +02:00
Ulas Kalayci 7349037880 docs: add repo cleanup design specification
Design document for comprehensive repository and documentation
maintenance after v0.45.0 release. Covers archiving strategy for
implemented plans/specs, BACKLOG/CHANGELOG updates, and README
improvements.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-04 20:06:44 +02:00
Ulas Kalayci 8b8ac083a5 docs: Clarify REPLACEMENT semantics for PUT /contacts/:id multi-values
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 12:29:29 +02:00
Ulas Kalayci bb961a417c docs: Add CardDAV API Routes implementation design
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 12:28:17 +02:00
Ulas Kalayci 6cc72676c6 docs: add CardDAV contacts sync design spec
- Multi-account CardDAV support with addressbook selection
- Inbound-only sync (CardDAV → Oikos)
- Smart merge by email/phone, preserve manual changes
- Extended contacts schema: organization, job_title, birthday, website, photo, nickname
- Separate tables for multiple phones/emails/addresses
- UI integration in Settings → Calendar tab
- Issue #10

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 10:33:01 +02:00
Ulas Kalayci 2a4a6b945b docs: update documentation for CalDAV multi-account feature
- README.md: Updated Calendar feature description to mention multi-account CalDAV support
- docs/SPEC.md: Added caldav_accounts and caldav_calendar_selection table schemas, updated external_source enum, documented target columns
- public/locales/en.json: Added missing CalDAV i18n keys (calendarEnabled, calendarDisabled, calendarsRefreshed, deleteAccountConfirm, lastSync)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 08:51:38 +02:00
Ulas Kalayci 26168ebef0 docs: spec self-review - klarstellungen zu scope und designentscheidungen 2026-05-04 07:24:29 +02:00
Ulas Kalayci d9aa70eedf docs: design spec für generisches CalDAV Multi-Account Sync
- Transformation Apple CalDAV → generisch
- Multiple Accounts parallel
- Kalenderauswahl per Checkboxen
- Bidirektional mit Account-Auswahl
- Vollständige Architektur, DB-Schema, API, UI, Migration, Testing

Siehe Issue #90
2026-05-04 07:23:38 +02:00
Ulas Kalayci 3b02cb1aee docs: update BACKLOG, SPEC, README, and CONTRIBUTING to v0.41.0
- BACKLOG: added completed entries for v0.38.2–v0.41.0 (loans, widget sizes,
  date formats, birthday badge, calendar improvements, typography, reminders)
- SPEC: added Budget Loans and Budget Loan Payments data-model tables; updated
  Budget module description with Loans tab and API; updated Dashboard with
  widget size presets; corrected Settings tab count from 8 to 9
- README: Budget feature row now mentions the loans tracker
- CONTRIBUTING: added test:kitchen-tabs and test:setup to individual suite list

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 20:16:26 +02:00
Ulas Kalayci a6ecf7e9ca chore: release v0.38.1 2026-04-30 10:42:51 +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 0cbd93e4e0 feat(settings): add database backup management 2026-04-29 14:04:04 -03:00
Ulas Kalayci d88133c503 chore: release v0.29.2 — documentation catch-up 2026-04-28 12:35:59 +02:00
Ulas Kalayci e31231aa7b chore: release v0.25.2 2026-04-26 09:14:26 +02:00
Ulas Kalayci 3bfda59fc0 fix: compact widget empty states, view transitions for reordering, widget body padding
- widget__empty: column → row layout, icon 28→20px, padding space-5 → space-3
  saves ~40px vertical space per empty widget on mobile, keeps populated widgets
  visible above the fold
- widget__body: bottom padding space-3 → space-4 for slightly more breathing room
- rebuildList() now uses document.startViewTransition with prefers-reduced-motion
  guard; each customize-row gets a stable view-transition-name for smooth reorder
  animation without a JS animation library

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 09:03:45 +02:00
Ulas Kalayci 4e03d5cdcd docs: update audit docs with implementation status and decisions 2026-04-25 22:29:45 +02:00
Ulas Kalayci e5669fec24 docs: update SPEC, BACKLOG, and README for v0.20–v0.23 changes
- SPEC.md: add Recipes + Recipe Ingredients tables, recipe_id FK on Meals,
  External Calendars table, calendar_ref_id FK on Calendar Events, Recipes
  module section, recipe integration in Meals module, external calendar
  name/color badge and location display in Calendar module
- BACKLOG.md: add completed entries for ICS subscriptions, web/CLI installer,
  bootstrap setup endpoint, Recipes module, external calendar names/colors,
  event location, and Tasks/Dashboard improvements
- README.md: add Recipes to module list and Highlights section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 08:02:52 +02:00
Ulas Kalayci eaf48eb5fb chore: release v0.23.4 2026-04-22 07:57:11 +02:00
Serhiy Bobrov e8e4a63898 fix(docs): update setup commands formatting for better readability 2026-04-21 19:20:47 +03:00
Ulas Kalayci 196e8a7d17 chore: add installer files to .dockerignore and update docs
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 13:23:51 +02:00
Ulas Kalayci 143582458e docs(installer): add reconnaissance findings and implementation plan 2026-04-21 12:49:45 +02:00
Ulas Kalayci c1bdd4361d chore: release v0.20.40 2026-04-21 06:55:52 +02:00
Ulas Kalayci a8a50d31c5 chore: release v0.20.39 2026-04-21 06:52:52 +02:00
Ulas Kalayci faa3c0159b docs: add ICS subscription implementation plan 2026-04-20 23:18:00 +02:00
Ulas Kalayci 2419efbeaf docs: add reviewed ICS subscription v2 spec 2026-04-20 23:06:44 +02:00
Ulas Kalayci 0b8c0213a1 docs: fix ambiguities in ICS subscription spec 2026-04-20 22:53:34 +02:00
Ulas Kalayci a68b02ca04 docs: add ICS subscription design spec 2026-04-20 22:53:08 +02:00
Ulas Kalayci 18c90653d4 refactor: dark-mode token deduplication via private-variable indirection (v0.20.17)
All tokens with dark-mode overrides gain a private --_name counterpart in :root.
Public tokens (--color-*, --module-*, --glass-* etc.) become stable var(--_name)
references. Both dark blocks now only override compact private tokens — no more
manual two-block sync for every future colour change.

Also removes the redundant --color-surface-2 dark override (already auto-derived
via var(--neutral-50)). No visual change.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 06:53:08 +02:00
Ulas Kalayci e89f4259bc chore: complete colour-redesign follow-up — PWA theme sync, glass tokens, print normalisation (v0.20.16)
- index.html: theme-color #2563EB → #4F46E5 (Indigo-600)
- oikos-install-prompt.js: CSS fallback #2554C7 → #4338CA; #fff → var(--color-text-on-accent)
- tokens.css: add --glass-inset-{soft,base,medium,elevated,strong} tokens
- glass.css: replace 9 inset rgba() literals with --glass-inset-* token refs
- tasks.css: replace 1 inset rgba() literal with --glass-inset-base
- layout.css: normalise @media print shorthand hex to six-digit notation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 22:22:30 +02:00
Ulas Kalayci c567ff17e4 chore: release v0.20.15 — colour redesign + nav-badge visibility fix
Bundles the Indigo accent migration, module-colour decoupling, WCAG
contrast improvements and nav-badge base-style relocation into one
release. See CHANGELOG.md [0.20.15] for full details.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 22:16:07 +02:00
Ulas Kalayci 592287ea4e docs: add installation guide page for GitHub Pages
Adds docs/install.html — a visually polished, bilingual (EN/DE)
installation guide matching the index.html design system. Features
step-by-step layout with numbered steps, copy buttons, tabbed
Option A/B install paths, troubleshooting accordion, and dark mode
support.

Updates docs/index.html with a secondary "Installation Guide" CTA
in the hero section and updated setup-note link pointing to the
new page instead of the raw GitHub markdown file.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:17:28 +02:00
Ulas 8af730e9cf feat: add Japanese, Arabic, Hindi, Portuguese locales + new currencies
- 4 new locale files (ja, ar, hi, pt) with 567 keys each - full coverage
- Japanese (日本語): Hiragana/Kanji script
- Arabic (العربية): RTL-ready text
- Hindi (हिन्दी): Devanagari script
- Portuguese (Português): Brazilian Portuguese
- SUPPORTED_LOCALES updated in i18n.js (10 → 14 locales)
- LOCALE_LABELS updated in oikos-locale-picker.js
- New currencies: AED, BRL, INR, SAR added to budget settings
- Service Worker v31: new locale files pre-cached in APP_SHELL
- Docs: README, SPEC.md, BACKLOG.md, CHANGELOG.md updated
2026-04-14 10:28:17 +02:00
Ulas 3f387b616e fix: default TRUST_PROXY to 1 for Docker+reverse-proxy setups (#46)
With the previous default of 'loopback', Express ignored X-Forwarded-Proto
headers from Caddy/nginx when running in Docker (bridge IP, not loopback).
This caused req.secure=false, which made express-session silently drop the
session cookie on login - resulting in a 401 on every subsequent request.

Changing the default to 1 (trust one proxy hop) fixes this for all standard
Docker+reverse-proxy deployments without requiring manual configuration.
2026-04-14 09:04:06 +02:00
Ulas 6f532e45ec feat: Liquid Glass Phase 4 - vibrancy, module tint, deeper glass penetration
Dashboard widgets, task cards, note items, meal slots, form inputs,
toolbars, and FAB actions now use semi-transparent glass backgrounds
with backdrop-filter blur. Each surface gets a subtle module accent
color tint via color-mix gradient overlay. App background uses a
radial accent gradient for ambient vibrancy.

New tokens: --glass-bg-card, --glass-bg-input, --glass-bg-toolbar,
--glass-tint-strength with full dark mode and accessibility overrides.
2026-04-14 07:35:59 +02:00
Ulas 70cf691f56 chore: release v0.17.0 - Liquid Glass redesign
Bump version to 0.17.0, update CHANGELOG with full Phase 0-3 glass layer
changes, and update SPEC.md design system documentation with glass tokens,
glass.css layer architecture, and corrected color token values.
2026-04-13 17:19:05 +02:00
Ulas ddb8294eff docs: update BACKLOG, SPEC, and design system to reflect v0.9.0–v0.16.3 changes
- BACKLOG: add completed features from v0.7.1 through v0.16.3 (shopping
  widget, priority none, kanban persistence, meal visibility, currency,
  custom categories, recipe links, Spanish/FR/TR/RU/EL/ZH locales,
  settings tabs, CNY/TRY/RUB currencies)
- SPEC: add recipe_url field to Meals table (v0.13.0)
- SPEC: add shopping_categories table (v0.12.0)
- SPEC: fix i18n fallback language from de to en (v0.16.1)
- SPEC: update locale file list to include all 10 languages
- SPEC: document Settings tab navigation (v0.16.0)
- design/system.md: fix priority levels from 4 to 5 (none added v0.9.0)
2026-04-13 10:35:33 +02:00
Ulas e61644702c feat: add French, Turkish, Russian, Greek and Chinese UI languages + TRY/RUB currencies 2026-04-13 09:40:38 +02:00
Ulas cde511da1d docs: update README, installation guide and GitHub Pages
- README: GHCR badge, Kanban quick-status buttons and configurable
  currency mentioned in highlights
- installation.md: Option A (pre-built image, no clone) as primary path,
  Option B (build from source) as alternative; Updates section updated;
  SQLCipher troubleshooting tip added
- index.html: Get Started block now shows pre-built image path;
  task and budget feature cards updated (EN + DE translations)
2026-04-05 16:29:12 +02:00
Ulas 3a7d6d0e0a docs: update language references to include Italian and Swedish
README, SPEC.md, and BACKLOG.md now list all four supported locales:
German (de), English (en), Italian (it), Swedish (sv).
2026-04-05 12:03:58 +02:00
Ulas 08159ec8b4 feat(meals): customizable meal type visibility in Settings (#14)
Users can now toggle which meal types (breakfast, lunch, dinner, snack)
are displayed in the meal planner via a new Settings section. Preference
is stored household-wide in sync_config and applied as a filter on the
meals page. Includes preferences API, i18n (DE/EN/IT), and Settings UI.
2026-04-04 22:51:57 +02:00
Ulas d472e9b9e8 docs: update SPEC.md for none-priority and view mode persistence
- Add 'none' to task priority enum in data model
- Document view mode persistence (localStorage + ?view= URL param)
- Add --color-priority-none to design tokens section
2026-04-04 22:42:26 +02:00
Ulas 1146588212 docs: update public docs post-audit for v0.7.0
- SECURITY.md: add bcrypt v6 reference and mandatory SESSION_SECRET note
- CODE_OF_CONDUCT.md: add enforcement contact (GitHub Private Reporting)
- BACKLOG.md: add completed features table entries for v0.5.0 through v0.7.0
- docs/SPEC.md: add supported languages table with Italian (v0.5.8)
- Remove CLAUDE.md.proposed (tracked, deleted from disk)
2026-04-04 01:37:20 +02:00
Ulas c1176de661 fix(audit): address security audit findings
- Translate German error/warn messages in auth.js to English
- Add CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- Remove docs/claude-md-migration.md (internal migration artifact)
- Clarify README first-login instruction with credential hint
2026-04-04 01:13:50 +02:00
Ulas 2f6127911e fix(imports): convert require() to ESM import for randomBytes in auth.js 2026-04-03 23:00:38 +02:00