import AsyncStorage from '@react-native-async-storage/async-storage';
import * as SecureStore from 'expo-secure-store';
import { Platform } from 'react-native';

/** Le jeton vit dans le trousseau du téléphone (SecureStore) ; sur web
 *  (vérifications de dev seulement), repli AsyncStorage. */
const CLE = 'siop.jeton';
const natif = Platform.OS !== 'web';

export async function lireJeton(): Promise<string | null> {
  return natif ? SecureStore.getItemAsync(CLE) : AsyncStorage.getItem(CLE);
}

export async function ecrireJeton(jeton: string): Promise<void> {
  if (natif) await SecureStore.setItemAsync(CLE, jeton);
  else await AsyncStorage.setItem(CLE, jeton);
}

export async function effacerJeton(): Promise<void> {
  if (natif) await SecureStore.deleteItemAsync(CLE);
  else await AsyncStorage.removeItem(CLE);
}
