- Surse complete web (React/Vite) + mobil (React Native/Expo) + extensie (MV3) - Documentație de livrare: ghid utilizare, matrice trasabilitate cerințe, raport testare furnizor - Artefacte binare: imagine Docker didi-frontend:lot3-1.0, APK, extensie v3.2.6 + SHA256SUMS - Configurare adresă platformă externalizată (build args / .env / config.js) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
30 lines
1,016 B
TypeScript
30 lines
1,016 B
TypeScript
import React from 'react';
|
|
import { View, ActivityIndicator } from 'react-native';
|
|
import { StatusBar } from 'expo-status-bar';
|
|
import { ShareIntentProvider } from 'expo-share-intent';
|
|
import { useFonts } from 'expo-font';
|
|
import AppNavigator from './src/navigation/AppNavigator';
|
|
import { COLORS } from './src/theme/colors';
|
|
|
|
export default function App() {
|
|
const [fontsLoaded] = useFonts({
|
|
'Merriweather-Regular': require('./assets/fonts/Merriweather-Regular.ttf'),
|
|
'Merriweather-Italic': require('./assets/fonts/Merriweather-Italic.ttf'),
|
|
'Merriweather-Bold': require('./assets/fonts/Merriweather-Bold.ttf'),
|
|
});
|
|
|
|
if (!fontsLoaded) {
|
|
return (
|
|
<View style={{ flex: 1, backgroundColor: COLORS.bg.primary, justifyContent: 'center', alignItems: 'center' }}>
|
|
<ActivityIndicator color={COLORS.brand.primaryLight} size="large" />
|
|
</View>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<ShareIntentProvider>
|
|
<StatusBar style="light" />
|
|
<AppNavigator />
|
|
</ShareIntentProvider>
|
|
);
|
|
}
|