Aller au contenu principal

🖥️ Navigation, modules, thème (React Native)

Après connect, le sdk de useAzeoo() expose :

  • sdk.navigate(...) + opérations retour — navigation typée
  • sdk.setModuleContainer(...) — garder votre nav native JS synchronisée
  • <NutritionView /> / <TrainingView /> — vues de modules intégrées
  • Helpers thème + affichage
import { Destination } from 'react-native-azeoo-lib';

await sdk.navigate(Destination.nutrition.plan('abc-123'));
await sdk.navigate(Destination.training.workouts());
await sdk.goBack();
await sdk.backToRoot();
const can = await sdk.canGoBack();
const current = await sdk.getCurrentRoute();

Catalogue complet : Catalogue des destinations (nutrition + entraînement).

Coordinateur de module (setModuleContainer)

La nav native RN (React Navigation, barres d'onglets personnalisées, tiroirs) vit en JS, donc le SDK ne peut pas la basculer directement — mais vous fournissez un petit callback une fois, et les sdk.navigate(...) inter-modules garderont votre état JS synchronisé :

useEffect(() => {
if (!sdk) return;
sdk.setModuleContainer((module) => {
if (module === 'nutrition') { navigation.navigate('NutritionTab'); return true; }
if (module === 'training') { navigation.navigate('TrainingTab'); return true; }
return false;
});
return () => sdk.setModuleContainer(null);
}, [sdk]);

Intégration

import { NutritionView, TrainingView } from 'react-native-azeoo-lib';

<NutritionView bottomSafeArea={false} onLoad={...} onError={...} />
<TrainingView bottomSafeArea={false} onLoad={...} onError={...} />

Helpers d'affichage des modules

await sdk.showNutrition(true);
await sdk.hideNutrition();
await sdk.showTraining(true);
await sdk.hideTraining();
await sdk.displayNutritionModal(false);
await sdk.dismissNutritionModal();

Ils contrôlent si la surface du module est visible — complémentaires à la navigation, pas un remplacement.

Thème

await sdk.setThemeMode(1); // 0=light, 1=dark, 2=system
const mode = await sdk.getThemeMode();

Voir aussi