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
trackDishUsagein 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, Geminigemini-3-flash-preview, Anthropicclaude-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_v2werden 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:
.kaliooder.jsonauswä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
imageDataUrltragen - 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-
imageDataUrlwird 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.diraufrtl - 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
| Bereich | Features |
|---|---|
| Tracking | Tageslog, Gruppen, Einzeleinträge, Kalorien/Makros, Tagesziel, Tage markieren, Gerichtsfotos |
| Hinzufügen | Suche (integriert + optionale große Offline-DB + OpenFoodFacts), Barcode (zuerst Offline, dann API), KI (Text/Foto/Diktat + Review), Eigene Mahlzeit, Menge anpassen |
| Bearbeiten | Einzel bearbeiten, Gruppe bearbeiten, Duplizieren, Kopieren (Item/Gruppe/Tag), Löschen, Favoriten, Drag & Drop (Merge/Extract) |
| Ziele | Kalorien, Makros, Presets, Calorie Cycling, High Days, Custom Split |
| Statistik | Woche/Monat/Jahr/All, Ø Kalorien/Makros, markierte Tage, Scope-Toggle, scrollbare Balken, Datum auswählen |
| Kalender | Monat/Jahr, Ziel-/Markierungs-Status, Datum auswählen |
| Profil | Sprache, 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) |
| Daten | IndexedDB, 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.