// src/modules/core/splash/index.tsx import React, { useEffect, useState } from 'react'; import { View, Text, StyleSheet, Animated } from 'react-native'; const SplashScreen = () => { const [fadeAnim] = useState(new Animated.Value(0)); const [scaleAnim] = useState(new Animated.Value(0.8)); useEffect(() => { // Fade in and scale animation Animated.parallel([ Animated.timing(fadeAnim, { toValue: 1, duration: 1000, useNativeDriver: true, }), Animated.spring(scaleAnim, { toValue: 1, tension: 40, friction: 8, useNativeDriver: true, }), ]).start(); }, [fadeAnim, scaleAnim]); return ( 💰 Banking App Secure. Fast. Reliable. v1.0.0 ); }; const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#3498db', justifyContent: 'center', alignItems: 'center', }, content: { flex: 1, justifyContent: 'center', alignItems: 'center', }, logoContainer: { width: 80, height: 80, borderRadius: 40, backgroundColor: 'rgba(255, 255, 255, 0.2)', justifyContent: 'center', alignItems: 'center', marginBottom: 24, }, logoText: { fontSize: 40, }, title: { fontSize: 36, fontWeight: 'bold', color: '#fff', marginBottom: 16, }, subtitle: { fontSize: 18, color: '#fff', opacity: 0.9, }, footer: { position: 'absolute', bottom: 40, alignItems: 'center', }, version: { fontSize: 12, color: '#fff', opacity: 0.7, }, }); // Module metadata export const metadata = { name: 'Splash Screen', version: '1.0.0', features: ['splash', 'onboarding', 'branding', 'loading'], api: { showSplash: () => { console.log('Splash screen shown'); }, getAppInfo: () => ({ name: 'Banking App', version: '1.0.0', description: 'Secure Banking Application', }), }, }; export default SplashScreen;