Alle Features & Funktionen

Vollständige Auflistung aller in der Kalio-App vorhandenen Features.

1. Dashboard & Tagesansicht

1.1 Datumsnavigation

  • Vor/Zurück: Datum per Pfeil-Buttons um einen Tag wechseln
  • Sprung zu Heute: Klick auf das angezeigte Datum springt zum heutigen Tag
  • Swipe: Wischen nach links/rechts wechselt das Datum (auch über der Einträge-Liste)
  • Koexistenz mit Drag & Drop: Während eines aktiven Entry-Drags ist der Tages-Swipe pausiert
  • Visuelle Hervorhebung: Heutiger Tag wird farblich hervorgehoben (Indigo)
  • Slide-Animation: Übergangsanimation beim Wechsel des Datums

1.2 Kalorien- und Makro-Anzeige

  • Radialer Fortschritt: Kreisförmige Anzeige für Kalorien (aktuell vs. Tagesziel)
  • Farbwechsel: Rot bei Überschreitung des Ziels, sonst Indigo
  • Makro-Balken: Fortschrittsbalken für Protein, Kohlenhydrate, Fett
  • Kalorien-Ansicht umschaltbar: Anzeige „Verbraucht“ oder „Übrig“ (remaining)
  • Label bei Überschreitung: Anzeige „Zuviel“ statt „übrig“, wenn über dem Ziel

1.3 Tagesziele (historisch)

  • Tagesziel-Snapshot: Kalorienziel wird pro Tag gespeichert
  • Anpassung an Calorie Cycling: An „High Days“ wird das Ziel automatisch erhöht

1.4 Einträge-Liste

  • Gruppierte Einträge: Mahlzeiten (Gruppen) mit mehreren Zutaten
  • Einzeleinträge: Nicht gruppierte Lebensmittel
  • Bereich „Einzelne Einträge“: Eigener Block für Einzelitems
  • Gerichtsfoto: Optionaler Thumbnail über dem Mahlzeitennamen (wenn vorhanden und Toggle aktiv); Tap öffnet die Bearbeitung
  • Kopieren des ganzen Tages: Button zum Kopieren aller Einträge eines Tages
  • Drag & Drop: Long-Press auf Eintrag/Zutat zum Zusammenführen oder Herausziehen (siehe 3.7)

2. Mahlzeiten tracken & hinzufügen

2.1 Hinzufügen (Add Food Modal)

  • FAB (Floating Action Button): Großer Plus-Button zum Öffnen des „Mahlzeit hinzufügen“-Modals
  • Drei Einstiege:
  • Suche/Datenbank: Öffnet FoodSearchOverlay (Offline + API)
  • Barcode: Öffnet Barcode-Scanner
  • Mahlzeiten-Bibliothek: Gespeicherte Gerichte und eigene Mahlzeiten
  • KI-Tab: Text-/Foto-/Diktat-Erfassung im gleichen Modal

2.2 Suche & Offline-Datenbank

  • Offline-Suche (integriert): Über 1000 Einträge aus der integrierten Datenbank (ohne Internet)
  • Kategorien: Basics, Milch, Obst, Gemüse, Hülsenfrüchte, Fleisch, Fisch, Nüsse, Teig, Backen, Süßes, Fette, Aufstriche, Toppings, Supplements, Getränke, Alkohol, Cereals, Mahlzeiten (deutsch, asiatisch, indisch, orientalisch, lateinamerikanisch, italienisch, Pizza, westlich, Desserts, vegan, Frühstück, Salate, Snacks), Modifikationen
  • Sprachübergreifende Suche: z. B. „Tomato“ findet auch „Tomate“
  • Token-basierte Suche: Mehrere Suchbegriffe, Stemming für bessere Treffer
  • Sortierung: Exakte Phrase zuerst, dann nach Namenslänge
  • Quellen-Kennzeichnung: Treffer mit Herkunft (integrierte Offline-DB, große Offline-DB, OpenFoodFacts, KI/Verlauf)
  • Verlaufseinträge löschen: Einträge aus Häufig/Zuletzt können aus der Historie entfernt werden
  • Optionale große Offline-Datenbank: Zusätzlich zur integrierten DB kann eine große Offline-Datenbank genutzt werden:
  • Android/iOS: Native SQLite-DB (z. B. offline.db), Download im Profil mit Fortschrittsanzeige, abbrechbar, Löschen möglich
  • Browser: Offline-Suchindex (offline-index.json) in IndexedDB, Download mit Fortschrittsanzeige
  • Suche: Bei aktivierter großer DB/Index wird die Suche darin ausgeführt (searchOfflineNativeDb bzw. searchOfflineIndex), danach ggf. API-Ergebnisse
  • Vollständig offline: Mit heruntergeladener großer DB ist die App 100 % offline nutzbar; nur KI-Funktionen benötigen eine Internetverbindung

2.3 OpenFoodFacts API (Online)

  • Produktsuche: Live-Suche in OpenFoodFacts nach Suchbegriff
  • Sprachabhängige API: Subdomain je nach App-Sprache (z. B. de., world.)
  • Kombination: Offline-Ergebnisse + API-Ergebnisse in einer Liste
  • Abgleich mit Offline-DB: Wenn die optionale Offline-DB/Index aktiv ist, werden API-Treffer, die bereits in der Offline-DB vorkommen, optional gefiltert (productCodesExistInOfflineDb), um Dopplungen zu reduzieren

2.4 Barcode-Scanner

  • Nativ (MLKit): Nur auf echten Android/iOS-Geräten
  • Formate: EAN-13, EAN-8, UPC-A, UPC-E
  • Taschenlampe: Ein/Aus für schlechte Lichtverhältnisse
  • Nach Scan: Zuerst Abfrage in der optionalen Offline-Datenbank (native SQLite auf Android/iOS oder Offline-Index im Browser); nur bei keinem Treffer Abruf von OpenFoodFacts. Anschließend Menge anpassen (AmountAdjustmentOverlay)

2.5 KI-Erfassung (AI Capture)

  • Text-Eingabe: Essen beschreiben (z. B. „Zwei Eier mit Avocado-Toast“)
  • Zeichenlimit: Max. 1000 Zeichen mit Zähler in der UI
  • Diktat: Mikrofon-Button – Web Speech API bzw. natives Capacitor Speech Recognition (sprachabhängig)
  • Foto: Bild aus Kamera oder Galerie
  • Kombination: Foto + optionale Text-Ergänzung
  • Analyse: LLM zerlegt in Gerichtname + Zutaten mit Kalorien und Makros
  • KI-Foto speichern: Bei Foto-Analyse wird das Bild komprimiert und als Gerichtsfoto am Gericht übernommen
  • Review vor Speichern: Nach der Analyse öffnet sich die Gruppenbearbeitung (isReview) zum Prüfen/Anpassen vor dem Speichern
  • Provider: Google Gemini, OpenAI, Anthropic Claude (wählbar in Einstellungen)
  • BYOK (Bring Your Own Key): Eigener API-Key für Google (Gemini), OpenAI und Anthropic → KI ohne Abo; Aufruf lokal mit dem Key des gewählten Providers
  • Kalio Pro: Serverbasierte KI ohne eigenen Key
  • Zugang ohne Key/Pro: Hinweis PRO_OR_KEY_REQUIRED (kein freies Tageskontingent mehr)
  • Reviewer-Modus: Serverseitige Limits für Test-/Review-Zugang
  • Modelle: Umfangreiche Auswahl pro Provider inkl. aktueller Modelle (z. B. GPT-5.4 mini, Gemini 3 Flash, Claude Haiku 4.5) sowie benutzerdefinierte Modell-ID
  • Verlauf: Analysierte/gespeicherte Gerichte landen über trackDishUsage in Häufig/Zuletzt/Favoriten und sind danach offline wiederverwendbar

2.6 Eigener Eintrag / Mahlzeit erstellen (CreateMealModal)

  • Name der Mahlzeit: Freitext
  • Zutaten hinzufügen: Über Suche, Barcode oder manuell
  • Optionales Gerichtsfoto: Kamera/Galerie, Vorschau, Löschen; Tap auf Vorschau → Vollbild
  • Speichern als Gericht: Wird in der Mahlzeiten-Bibliothek gespeichert
  • Portionen-Skalierung: Bei Gerichten mit Zutaten Skalierung nach Portionen

2.7 Menge anpassen (AmountAdjustmentOverlay)

  • Nach Auswahl/Scan: Overlay zur Mengenangabe vor dem Speichern
  • Gewicht (g/ml): Freie Eingabe oder „100g (Basis)“
  • Portionen/Einheiten: Nutzung von possibleUnits (z. B. 1 Scheibe, 1 Tasse)
  • Metrisch/Imperial: Gramm oder Unzen (oz)
  • Live-Berechnung: Makros werden aus Basiswerten berechnet
  • Löschen: Eintrag verwerfen ohne zu speichern

2.8 Mahlzeiten-Bibliothek (Saved Meals)

  • Gespeicherte Gerichte: Alle selbst erstellten und getrackten Gerichte
  • Auswahl: Klick auf Gericht → Menge anpassen → Hinzufügen
  • Gericht bearbeiten: Name ändern, Zutaten anpassen
  • Gericht löschen: Aus Bibliothek entfernen

2.9 Gerichtsfotos

  • Speicherung: JPEG-Data-URL (imageDataUrl) am ersten Item einer Gruppe
  • Kompression: Vor dem Speichern verkleinert (ca. 480 px, JPEG-Qualität ~0,5)
  • Quellen: KI-Foto-Analyse, manuell in CreateMealModal / EditFoodModal
  • Dashboard: Thumbnail über dem Namen (wenn Toggle „Gerichtsfotos“ aktiv)
  • Tap Dashboard: Öffnet Bearbeitung der Mahlzeit
  • Vollbild: Nur aus Create/Edit über die Foto-Vorschau (MealPhotoViewer, Schließen unten rechts inkl. Safe Area)
  • Backup: Fotos sind Teil des .kalio-Exports (Base64 im Backup; Inhalt JSON)
  • Kopieren/Duplizieren: Gruppenfoto bleibt bei Gruppen-Kopie/Duplikat; einzelne Zutat aus Multi-Gruppe erhält kein Gruppenfoto

3. Einträge bearbeiten & verwalten

3.1 Einzeleintrag bearbeiten

  • Klick auf Eintrag: Öffnet AmountAdjustmentOverlay im Bearbeiten-Modus
  • Menge und Makros anpassen, speichern oder löschen
  • Als Gruppe öffnen: Einzelitem kann als Ein-Zutat-Gericht bearbeitet werden (u. a. inkl. Foto)

3.2 Gruppe/Mahlzeit bearbeiten (EditFoodModal)

  • Gruppenname ändern
  • Zutaten anzeigen und bearbeiten: Einzelne Zutaten anpassen (Menge, Makros)
  • Zutaten hinzufügen: Über Suche oder Barcode
  • Gerichtsfoto: Optional hinzufügen, ändern, löschen; Vorschau → Vollbild
  • Gesamtgewicht: Skalierung über eine Gewichtsangabe (alle Zutaten proportional)
  • Als Vorlage speichern: Gericht in Mahlzeiten-Bibliothek speichern (bei KI-Review ausgeblendet)
  • Gruppe löschen: Komplette Mahlzeit entfernen

3.3 Duplizieren

  • Einzeleintrag duplizieren: Plus-Button → gleicher Eintrag wird erneut hinzugefügt
  • Gruppe duplizieren: Plus-Button → alle Zutaten werden neu hinzugefügt (inkl. Gruppenfoto, sofern vorhanden)
  • Kein Foto auf Zutat: Beim Duplizieren einer Zutat innerhalb einer Gruppe wird das Gruppenfoto nicht auf die neue Zutat kopiert

3.4 Kopieren

  • Einzeleintrag kopieren: Copy-Button → CopyDateModal → Zieldatum wählen
  • Zutatsname bleibt erhalten: Beim Kopieren einer einzelnen Zutat wird der Zutatsname übernommen (nicht der Gerichtname)
  • Gruppe kopieren: Copy-Button → Zieldatum wählen (inkl. Gruppenfoto)
  • Tag kopieren: Copy-Button im Bereich „Einträge“ → alle Einträge des Tages in ein Zieldatum kopieren
  • CopyDateModal: Kalender zur Datumsauswahl, Legende (Ziel erreicht / Über Ziel / Gefastet)

3.5 Löschen

  • Einzeleintrag löschen: Trash-Button
  • Gruppe löschen: Trash-Button an der Gruppe

3.6 Favoriten

  • Als Favorit markieren: Stern-Button bei Eintrag oder Gruppe
  • Favoriten-Liste: In der Suche als Tab „Favoriten“ (neben Häufig, Zuletzt)
  • Gruppe als Favorit: Ganze Mahlzeit als favorisiertes Gericht speichern

3.7 Drag & Drop (Zusammenführen / Trennen)

  • Long-Press: Eintrag oder Zutat gedrückt halten, um den Drag zu starten
  • Zusammenführen (Merge): Auf eine andere Mahlzeit ziehen → Zutat(en) werden in diese Gruppe übernommen
  • Herausziehen (Extract): Zutat nach außen / auf leeren Bereich ziehen → wird zum eigenen Einzeleintrag
  • Drop-Hinweis: Visuelles Highlight der Ziel-Mahlzeit während des Drags
  • Tap vs. Drag: Kurzer Tap öffnet Bearbeiten; nach Drag-Start kein versehentliches Öffnen/Löschen
  • Tages-Swipe: Während Drag deaktiviert

4. Tage markieren

  • Toggle im Header: Ein Klick kennzeichnet den Tag als besonderen Tag (z. B. Fasten, alkoholfrei, vegan/vegetarisch – Nutzung frei wählbar)
  • Visueller Status: Icon wechselt (Timer ↔ Haken), farbliche Hervorhebung
  • Speicherung: Pro Tag in DayLog.isFasting (interner Flag-Name; Erklärungen behandeln ihn als generischen Tagesmarker)
  • Kalender: Markierte Tage in CalendarModal und CopyDateModal farblich hervorgehoben (Indigo)
  • Statistik: Anzahl markierter Tage in der Statistik-Ansicht

5. Ziele & Einstellungen (Profil)

5.1 Tagesziele (UserGoals)

  • Kalorien: Tageskalorienziel
  • Makros: Protein, Kohlenhydrate, Fett in Gramm
  • Makro-Verteilung: Prozentuale Aufteilung (P/C/F), Summe 100 %
  • Presets: Ausgewogen, High Protein, Low Carb, Keto

5.2 Calorie Cycling

  • Aktivierung: Optional einschaltbar
  • High Days: Wochentage auswählbar (Mo–So), an denen mehr Kalorien erlaubt sind
  • Zusätzliche Kalorien: Fester Betrag, der an High Days zum Basisziel addiert wird
  • Eigene Makro-Aufteilung an High Days: Optionale P/C/F-Verteilung nur für High Days
  • Tagesziel-Snapshot: Pro Tag wird das gültige Ziel (basis oder basis + Aufschlag) gespeichert

5.3 Erscheinungsbild

  • Sprache: Deutsch, Englisch, Spanisch, Französisch, Italienisch, Chinesisch, Türkisch, Polnisch, Norwegisch, Schwedisch, Tschechisch, Portugiesisch, Niederländisch, Russisch, Hindi, Arabisch, Japanisch, Koreanisch, Indonesisch, Vietnamesisch, Griechisch, Hebräisch, Ukrainisch
  • Dark Mode: Hell / Dunkel / System
  • StatusBar: Farbe und Style (hell/dunkel) an Theme angepasst

5.4 Einheiten

  • Metrisch: Gramm (g), Milliliter (ml)
  • Imperial: Unzen (oz)

5.5 Kalorien-Anzeige

  • Verbraucht: Anzeige der konsumierten Kalorien
  • Übrig: Anzeige der verbleibenden Kalorien bis zum Ziel (oder „Zuviel“)

5.6 Such-/Historie-Priorität

  • Umschalten: Häufig zuerst ↔ Zuletzt zuerst (Favoriten-Tab bleibt am Ende)
  • Standard-Tab: Letzter gewählter Tab wird gespeichert

5.7 Statistik-Durchschnitts-Scope

  • Toggle im Profil: „Aktuelle Ansicht“ oder „Gesamter Zeitraum“ für Statistik-Durchschnitte
  • Wirkung: Steuert den Scope in der Statistik-Ansicht (siehe 6.3)

5.8 Gerichtsfotos anzeigen

  • Toggle: Gerichtsfotos auf dem Dashboard ein-/ausblenden (showMealPhotos, Standard: an)
  • Wirkung: Nur die Anzeige; gespeicherte Fotos bleiben erhalten

5.9 Haptik

  • Ein/Aus: Haptisches Feedback bei Aktionen (leicht/mittel/stark, Erfolg, Auswahl)
  • Einstellung: In Profil umschaltbar

5.10 KI-Einstellungen (Profil)

  • Provider: Google (Gemini), OpenAI, Anthropic (Claude)
  • API-Key (BYOK): Für alle drei Provider (inkl. Gemini)
  • Modell-Dropdown: Viele aktuelle Modelle pro Provider, u. a.:
  • OpenAI: GPT-5.4 mini/nano, GPT-5.4, GPT-5.6 Luna/Terra/Sol, GPT-5 mini/nano, GPT-4.1, GPT-4o …
  • Gemini: Gemini 3 Flash/Pro, 3.1 Pro/Flash-Lite, 2.5 Flash/Pro/Flash-Lite, 2.0 Flash
  • Claude: Haiku 4.5, Sonnet 5 / 4.6, Opus 4.8 / 4.7, Fable 5, ältere 3.x-Modelle
  • Benutzerdefiniertes Modell: Option „Benutzerdefiniert“ + freies Textfeld für die Modell-ID
  • Defaults: OpenAI gpt-5.4-mini, Gemini gemini-3-flash-preview, Anthropic claude-haiku-4-5

5.11 Kalio Pro (RevenueCat)

  • Abo: Optionales Pro-Abo für KI ohne eigenen API-Key
  • Käufe wiederherstellen: Button zum Wiederherstellen von Käufen
  • Reviewer-Modus: Code-Eingabe für Test-/Review-Zugang

5.12 Datenbank-Info & optionale große Offline-DB

  • Integrierte Offline-DB (klein): Version, Zuletzt aktualisiert, Quelle (z. B. USDA, BLS, Custom), Anzahl Einträge, Hinweis „Veraltet“ (älter als 6 Monate), Kurzbeschreibung
  • Optionale große Offline-Datenbank (Profil):
  • Android/iOS: Download der nativen SQLite-DB (z. B. offline.db) mit Fortschrittsanzeige, abbrechbar; Löschen zum Freigeben von Speicher; Infodialog (Größe/Dauer)
  • Browser: Download des Offline-Index (offline-index.json) mit Fortschrittsanzeige, abbrechbar; Infodialog
  • Status: Anzeige „Heruntergeladen“ oder Download-Button; Fehler- und Abbruchmeldungen

5.13 Backup

  • Export: Vollständiger Export als .kalio-Datei (JSON-Inhalt; Logs, Einstellungen, Ziele, Favoriten, Verlauf, Gerichtsfotos etc.)
  • API-Keys werden nicht exportiert: In ai_config_v2 werden Keys beim Export geleert
  • Share/Download: Web Share (Datei) → native Datei in Cache + Share-URI → Download-Link als Fallback; kein Teilen des Backup-Texts im Intent (vermeidet Abstürze bei großen Backups)
  • Export-Hinweis: Infodialog: im Teilen-Menü Drive/Dateien/Speichern bevorzugen – nicht Messenger
  • Import: .kalio oder .json auswählen → Daten werden importiert, App-Neustart empfohlen
  • Geheimes Raw-JSON: 10× Tippen auf die Überschrift „Daten Backup“ → Vollbild mit JSON + Kopieren in die Zwischenablage
  • Hinweis: Empfehlung z. B. Export zu Google Drive

5.14 Verwerfen-Dialog

  • Bei unsaved goals: Hinweis „Änderungen verwerfen?“ mit Optionen „Weiter bearbeiten“ / „Verwerfen“

5.15 Onboarding (Erststart)

  • Anzeige: Einmalig nach erstem Start, wenn Onboarding noch nicht abgeschlossen
  • Sechs Schritte:

1. Begrüßung + Kalorienziel + Makro-Preset

2. Sprache, Erscheinungsbild (Hell/Dunkel/System), Einheiten (metrisch/imperial)

3. Hinweis: Daten verlassen Gerät nicht / keine Cloud → nur lokal → deshalb .kalio-Backups (Drive/Dateien, nicht Messenger)

4. Kurzüberblick Features (Tage markieren, Kopieren, +, Mahlzeiten, Verlauf, Drag & Drop)

5. Optionale große Offline-Datenbank

6. Hinweis auf Kalio Pro + KI-Disclaimer (Schätzungen können fehlerhaft sein)

  • Swipe: Zwischen Schritten nach links/rechts wischen
  • Speicherung: „Onboarding abgeschlossen“ wird gespeichert
  • Erneut ansehen: Im Profil Button „Initialsetup ansehen“ (Start ab Schritt 3)
  • Überspringen/Weiter: Pro Schritt „Weiter“, am Ende „Fertig“; gespeicherte Ziele/Einstellungen übernehmen

6. Statistik (StatsModal)

6.1 Ansichten

  • Woche: Letzte 7 Tage (rollierend)
  • Monat: Aktueller Monat = 30 Tage bis heute; vergangene Monate = Kalendermontat
  • Jahr: Alle Tage des gewählten Jahres
  • Gesamt: Alle gespeicherten Tage

6.2 Navigation

  • Vor/Zurück: Zeitraum wechseln (Woche/Monat/Jahr)
  • „Heute“: Zurück zur aktuellen Woche/Monat/Jahr
  • Gespeicherte Ansicht: Letzte gewählte Ansicht (Woche/Monat/Jahr/All) wird gespeichert

6.3 Daten

  • Durchschnittswerte: Ø Kalorien, Ø Protein, Ø Fett, Ø Kohlenhydrate (über aktive Tage)
  • Markierte Tage: Anzahl der als besonders gekennzeichneten Tage (z. B. Fasten, alkoholfrei, …)
  • Scope: „Aktuelle Ansicht“ oder „Gesamter Zeitraum“ (einstellbar im Profil, siehe 5.7)

6.4 Darstellung

  • Scrollbare Balken: Pro Tag/Woche/Monat/Jahr (je nach Ansicht)
  • Farbcodierung: Nach Erreichung des Ziels (z. B. grün/gelb/rot)
  • Klick auf Zeile: Datum auswählen → Statistik schließen, Dashboard springt zu diesem Datum
  • Jahresansicht: 12 Monate mit Durchschnittswerten
  • Gesamtansicht: Jahre mit Durchschnittswerten

7. Kalender (CalendarModal)

  • Monats-/Jahreszoom: Umschaltbar (ein Monat oder ganzes Jahr)
  • Monat/Jahr wechseln: Pfeile vor/zurück
  • „Heute“: Zurück zum aktuellen Monat/Jahr
  • Tage: Pro Tag Status (leer / Ziel erreicht / über Ziel / Gefastet)
  • Legende: Ziel erreicht (grün), Über Ziel (rot), Gefastet (indigo)
  • Klick auf Tag: Datum auswählen, Modal schließt, Dashboard wechselt zu diesem Datum
  • Heute: Ring-Hervorhebung um den aktuellen Tag

8. Datenspeicherung & Technik

8.1 Local-First (IndexedDB)

  • Logs: Pro Tag ein Eintrag (Datum, Items, isFasting, calorieGoal); Items können imageDataUrl tragen
  • Settings: Ziele, Theme, Sprache, Einheitensystem, Kalorien-Ansicht, AI-Config, Stats-Preferences, History-Tab-Order, Haptik, showMealPhotos
  • frequentItems: Häufig genutzte Lebensmittel/Gerichte (mit usageCount, lastUsed, optional Foto)
  • Cleanup: Alte frequentItems nach 180 Tagen bereinigt

8.2 Tracking & Cache

  • trackItemUsage: Einzelne Lebensmittel werden für „Häufig/Zuletzt“ gespeichert
  • trackDishUsage: Gerichte (Gruppen) werden als Mahlzeit + ggf. Favorit gespeichert (inkl. Foto)
  • getFrequentItems / getRecentItems: Sortiert nach Nutzung
  • getSavedMeals: Alle gespeicherten Gerichte
  • lastAmount: Zuletzt genutzte Menge kann mitgetrackt werden

8.3 Export/Import

  • exportFullBackup: Kompletter Export (JSON-Inhalt in .kalio; API-Keys gestrippt)
  • importFullBackup: Import aus .kalio oder .json (Validierung, dann Übernahme)
  • Gerichtsfotos: Base64-imageDataUrl wird mitgesichert

8.4 Bild-Hilfen

  • compressImageForStorage: Verkleinern/Komprimieren vor Persistenz
  • applyGroupImage / getGroupImage: Foto nur am ersten Gruppen-Item halten bzw. lesen

9. UX & System

9.1 Haptik

  • Leicht/Mittel/Schwer: Für verschiedene Aktionen
  • Erfolg: Beim Speichern/Kopieren
  • Auswahl: Bei Tabs/Buttons
  • Einstellbar: In Profil ein-/ausschaltbar

9.2 Android-spezifisch

  • Back-Button: Schließt Modals/Overlays stufenweise, sonst App beenden
  • StatusBar: Farbe und Style an Theme angepasst
  • Safe Area: Berücksichtigung der Notch/Statusleiste (pt-safe-area)
  • 16 KB Page Size: Native Libs/Dependencies für aktuelle Play-Anforderungen vorbereitet

9.3 Fehlerbehandlung

  • Toast: Kurze Meldungen (z. B. „Fehler beim Speichern“, „Erfolgreich kopiert“)
  • Error-Toast mit Retry: Bei Netzwerk-/API-Fehlern mit „Erneut versuchen“-Button
  • Konsistente Fehlermeldungen: Über errorHandler (Netzwerk, API, Limit, Permission)

9.4 Mehrsprachigkeit (i18n)

  • Unterstützte Sprachen: DE, EN, ES, FR, IT, ZH, TR, PL, NO, SV, CS, PT, NL, RU, HI, AR, JA, KO, ID, VI, EL, HE, UK
  • Spracherkennung: Browser/System-Sprache
  • RTL: Arabisch und Hebräisch setzen document.dir auf rtl
  • Kein Cache: caches: [] für i18n, damit Sprache sofort wechselt

9.5 Weitere UI-Details

  • Optimistic Updates: Sofortige UI-Aktualisierung beim Speichern/Löschen, bei Fehler Rollback
  • Loading-Zustände: Spinner beim Laden von Tagen, Statistik, Kalender, Export
  • Custom Scrollbar: Eigenes Scrollbar-Styling
  • Animationen: fade-in, slide-in, animate-in für Modals/Overlays
  • App-Version: Anzeige der App-Version im Profil (z. B. unten in den Einstellungen)
  • Add-Modal Einstieg: Optional direkter Einstieg in Suche, Barcode oder KI (z. B. aus Onboarding)

10. Zusammenfassung nach Bereichen

BereichFeatures
TrackingTageslog, Gruppen, Einzeleinträge, Kalorien/Makros, Tagesziel, Tage markieren, Gerichtsfotos
HinzufügenSuche (integriert + optionale große Offline-DB + OpenFoodFacts), Barcode (zuerst Offline, dann API), KI (Text/Foto/Diktat + Review), Eigene Mahlzeit, Menge anpassen
BearbeitenEinzel bearbeiten, Gruppe bearbeiten, Duplizieren, Kopieren (Item/Gruppe/Tag), Löschen, Favoriten, Drag & Drop (Merge/Extract)
ZieleKalorien, Makros, Presets, Calorie Cycling, High Days, Custom Split
StatistikWoche/Monat/Jahr/All, Ø Kalorien/Makros, markierte Tage, Scope-Toggle, scrollbare Balken, Datum auswählen
KalenderMonat/Jahr, Ziel-/Markierungs-Status, Datum auswählen
ProfilSprache, Dark Mode, Einheiten, Kalorien-Anzeige, Historie-Priorität, Stats-Scope, Gerichtsfotos-Toggle, Haptik, KI-Provider/Key/Modelle/Custom-ID, Pro-Abo, DB-Info, optionale große Offline-DB, Backup Export/Import (.kalio/.json) + Raw-JSON, Onboarding (Erststart + erneut)
DatenIndexedDB, frequentItems, savedMeals, Favoriten, imageDataUrl, optionale große Offline-DB (native/Index), Export/Import als .kalio (Keys gestrippt), Cleanup

Diese Liste erhebt den Anspruch, alle in der App vorhandenen Features und Funktionen zu erfassen.

← Zurück zur Startseite