import * as SecureStore from 'expo-secure-store';

export const saveUserData = async (userData: any) => {
  try {
    await SecureStore.setItemAsync('userData', JSON.stringify(userData));
  } catch (error) {
    console.error('Error saving user data:', error);
  }
};

export const getUserData = async () => {
  try { 
    const userData = await SecureStore.getItemAsync('userData');
    return userData ? JSON.parse(userData) : null;
  } catch (error) {
    console.error('Error getting user data:', error);
    return null;
  }
};

export const updateUserData = async (updatedFields: Partial<any>) => {
  try {
    const currentUserData = await getUserData();
    if (currentUserData) {
      const updatedUserData = { ...currentUserData, ...updatedFields };
      await saveUserData(updatedUserData);
      return updatedUserData;
    }
    return null;
  } catch (error) {
    console.error('Error updating user data:', error);
    return null;
  }
};
