import React, { useEffect, useState } from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import HomeScreen from './Home';
import ProfileScreen from './Profile';
import LoginScreen from './Login';
import SignupScreen from './Signup';
import AsyncStorage from '@react-native-async-storage/async-storage';
import SwitScreen from './Swit';
import UserProfileScreen from './UserProfile';
import { createNativeStackNavigator } from '@react-navigation/native-stack'
import {TailwindProvider} from 'tailwind-rn';
import utilities from './tailwind.json';
import FollowingScreen from './Following';
import SwitDetailScreen from './SwitDetail';
import SettingsScreen from './Settings';
import SearchScreen from './Search';
import Toast from 'react-native-toast-message'
import Notifications from './Notification';
import LikesScreen from './LikesScreen';
import { socket } from './services/socket';
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
import { SafeAreaView } from 'react-native-safe-area-context';
import EditProfileScreen from './EditProfileScreen';
import DirectMessagesScreen from './DirectMessagesScreen';
import ConversationScreen from './ConversationScreen';
const Tab = createBottomTabNavigator();
const HomeStack = createNativeStackNavigator();
const HomeTopTab = createMaterialTopTabNavigator();
function HomeTopTabNavigator() {
return (
);
}
function HomeStackScreen() {
return (
({ title: route.params.username })}
/>
}
/>
({ title: route.params.username })}
/>
);
}
export default function App() {
const [userToken, setUserToken] = useState(null);
// Listen for 'notification' messages
const checkUserToken = async () => {
const token = await AsyncStorage.getItem('token');
setUserToken(token);
};
useEffect(() => {
checkUserToken();
}, []);
useEffect(() => {
const setDefaultAPI = async () => {
const apiEndpoint = await AsyncStorage.getItem('apiEndpoint');
if (!apiEndpoint) {
await AsyncStorage.setItem('apiEndpoint', 'http://staging.swifter.win');
}
};
setDefaultAPI();
}, []);
return (
<>
{userToken ? (
) : (
} />
)}
>
);
}