# Loading Animations Update ## ✅ Was wurde geändert Die schwere Lottie-Animation wurde durch leichtgewichtige, native React Native Animationen ersetzt. ### Neue Animationskomponenten Alle neuen Komponenten befinden sich in `components/molecules/`: 1. **LogoSpinnerAnimation** - Logo mit rotierendem Ring (⭐ Hauptanimation) 2. **PulsingLogoAnimation** - Pulsierendes Logo 3. **SpinnerAnimation** - Einfacher rotierender Spinner 4. **DotsAnimation** - Drei pulsierende Punkte ### Aktualisierte Dateien #### ✏️ `components/LoadingScreen.tsx` - **Vorher:** LottieAnimation (12KB JSON + Library) - **Nachher:** LogoSpinnerAnimation - **Verwendung:** App-weiter Ladebildschirm (Auth, Initial Load) ```tsx // Neu: import { LogoSpinnerAnimation } from './molecules/LogoSpinnerAnimation'; ``` #### ✏️ `components/atoms/LoadingOverlay.tsx` - **Vorher:** ActivityIndicator - **Nachher:** SpinnerAnimation - **Verwendung:** Modales Loading (Translationen, Memory-Erstellung, etc.) ```tsx // Neu: import { SpinnerAnimation } from '../molecules/SpinnerAnimation'; ``` ## 📊 Vorteile - ✅ **Kleiner:** Kein 12KB JSON + keine externe Library mehr nötig - ✅ **Schneller:** Native Animationen laufen auf UI Thread - ✅ **Customizable:** Farben passen sich automatisch an Theme an - ✅ **Minimalistischer:** Weniger ablenkend, fokussierter - ✅ **Branded:** Nutzt MemoroLogo statt generischer Lock-Animation ## 🧪 Testen Alle Animationen können getestet werden mit: ```tsx import LoadingAnimationDemo from '~/components/LoadingAnimationDemo'; ``` ## 🗑️ Optional: Lottie entfernen Falls die Lottie-Animation nirgendwo anders verwendet wird, kannst du die Dependency entfernen: ### 1. Prüfe ob Lottie noch verwendet wird: ```bash grep -r "lottie-react-native" apps/mobile --exclude-dir=node_modules grep -r "LottieAnimation" apps/mobile --exclude-dir=node_modules grep -r "loading.json" apps/mobile --exclude-dir=node_modules ``` ### 2. Falls nicht mehr verwendet, entfernen: ```bash # Package entfernen npm uninstall lottie-react-native # Dateien löschen rm apps/mobile/components/molecules/LottieAnimation.tsx rm apps/mobile/assets/animations/loading.json ``` ### 3. Rebuild: ```bash npx expo prebuild --clean ``` ## 🎨 Anpassungen Alle Animationen unterstützen folgende Props: ```tsx interface AnimationProps { size?: number; // Größe der Animation style?: ViewStyle; // Custom Styles color?: string; // Überschreibt Theme-Farbe } // Beispiel: ``` ## 📝 Weitere Verwendung Die neuen Komponenten können überall verwendet werden: ```tsx // In Listen beim Laden // Bei Buttons // Für wichtige Prozesse // Für subtile Inline-Loading ``` ## 🔄 Rollback (falls nötig) Falls du zur alten Lottie-Animation zurück willst: ```tsx // In LoadingScreen.tsx: import { LottieAnimation } from './molecules/LottieAnimation'; ```