package com.socialapp import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import com.socialapp.presentation.ui.screens.HomeScreen import com.socialapp.presentation.ui.screens.LoginScreen import com.socialapp.presentation.ui.screens.ProfileScreen import com.socialapp.presentation.ui.screens.SignUpScreen import com.socialapp.presentation.ui.theme.SocialAppTheme import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { SocialAppTheme { val navController = rememberNavController() NavHost( navController = navController, startDestination = "login" ) { composable("login") { LoginScreen( onLoginSuccess = { navController.navigate("home") }, onSignUpClick = { navController.navigate("signup") } ) } composable("signup") { SignUpScreen( onSignUpSuccess = { navController.navigate("home") }, onLoginClick = { navController.navigate("login") } ) } composable("home") { HomeScreen( onPostClick = { postId -> navController.navigate("post/$postId") }, onProfileClick = { userId -> navController.navigate("profile/$userId") } ) } composable("profile/{userId}") { backStackEntry -> val userId = backStackEntry.arguments?.getString("userId")?.toIntOrNull() ?: 0 ProfileScreen( userId = userId, isOwnProfile = false, onBackClick = { navController.popBackStack() } ) } } } } } }