Exemples React Native
Configuration minimale avec AzeooProvider
Enveloppez votre application avec AzeooProvider, puis appelez connect(token, gender, height, weight) depuis un composant enfant (via useAzeoo()) avant que NutritionView puisse afficher le contenu du module.
import { useEffect } from 'react';
import { AzeooProvider, NutritionView, useAzeoo } from 'react-native-azeoo-lib';
function AppBody() {
const { isConnected, connect } = useAzeoo();
useEffect(() => {
// When you have the JWT and profile fields from your backend / auth:
connect('jwt-from-backend', 'male', 175, 72).catch(console.error);
}, [connect]);
if (!isConnected) {
return null; // or a loading screen
}
return (
<NutritionView
bottomSafeArea={false}
style={{ flex: 1 }}
onLoad={() => {}}
onError={(e) => console.error(e)}
/>
);
}
export default function App() {
return (
<AzeooProvider
apiKey="your-sdk-api-key"
config={{ locale: 'en', analyticsEnabled: true, offlineEnabled: true }}
theme={{ isDarkMode: false, colors: { primary: '#007AFF' } }}
onConnected={(profile) => console.log('Connected', profile?.displayName ?? profile?.name)}
onError={(err) => console.error(err)}
>
<AppBody />
</AzeooProvider>
);
}
AzeooProvider ne prend pas en charge userId, authToken ni autoConnect.
Après la connexion
Gardez <AzeooProvider> à la racine ; lorsque votre propre connexion se termine, appelez connect avec la session que vous avez reçue (JWT + gender + taille + poids en cm / kg) :
import { useAzeoo } from 'react-native-azeoo-lib';
type Session = {
token: string;
gender: string;
heightCm: number;
weightKg: number;
};
function MainAfterLogin({ session }: { session: Session }) {
const { connect, isConnected } = useAzeoo();
useEffect(() => {
if (!isConnected) {
connect(session.token, session.gender, session.heightCm, session.weightKg).catch(
console.error
);
}
}, [session, isConnected, connect]);
if (!isConnected) {
return null; // or loading
}
return <MainTabs />;
}
Utilisez votre “auth gate” pour rendre MainAfterLogin uniquement lorsque session est définie.
Application d’exemple complète
Consultez le exemple React Native dans le dépôt pour une application complète (connexion, onglets : Accueil, Nutrition, SDK, et intégration du SDK).