package com.covalima.rekomendasaunaihan import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.ActionBarDrawerToggle import androidx.drawerlayout.widget.DrawerLayout import androidx.fragment.app.Fragment import com.google.android.material.navigation.NavigationView import com.covalima.rekomendasaunaihan.databinding.ActivityMainBinding import com.covalima.rekomendasaunaihan.ui.home.HomeFragment import com.covalima.rekomendasaunaihan.ui.aihan.ListAihanFragment import com.covalima.rekomendasaunaihan.ui.kategoria.ListKategoriaFragment import com.covalima.rekomendasaunaihan.ui.ingredientes.ListIngredientesFragment import com.covalima.rekomendasaunaihan.ui.rekomendasi.RekomendasiFragment import com.covalima.rekomendasaunaihan.ui.favorito.FavoritoFragment import com.covalima.rekomendasaunaihan.ui.profile.ProfileFragment import com.covalima.rekomendasaunaihan.ui.about.AboutFragment import com.covalima.rekomendasaunaihan.ui.auth.LoginActivity import com.covalima.rekomendasaunaihan.util.SessionManager class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding private lateinit var session: SessionManager override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) session = SessionManager(this) // Proteksaun: se user seidauk login, fila fali ba LoginActivity if (!session.isLoggedIn()) { startActivity(Intent(this, LoginActivity::class.java)) finish() return } binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) setSupportActionBar(binding.toolbar) val toggle = ActionBarDrawerToggle( this, binding.drawerLayout, binding.toolbar, R.string.app_name, R.string.app_name ) binding.drawerLayout.addDrawerListener(toggle) toggle.syncState() // Hatudu naran user ne'ebe login iha nav header val headerView = binding.navView.getHeaderView(0) val tvHeaderNaran = headerView.findViewById(R.id.tv_header_naran) tvHeaderNaran?.text = session.getUser()?.naran ?: "" if (savedInstanceState == null) { openFragment(HomeFragment(), "Baranda") binding.navView.setCheckedItem(R.id.nav_baranda) } binding.navView.setNavigationItemSelectedListener { menuItem -> when (menuItem.itemId) { R.id.nav_baranda -> openFragment(HomeFragment(), "Baranda") R.id.nav_lista_aihan -> openFragment(ListAihanFragment(), "Lista Ai-han Tradisional") R.id.nav_lista_kategoria -> openFragment(ListKategoriaFragment(), "Lista Kategoria") R.id.nav_lista_ingredientes -> openFragment(ListIngredientesFragment(), "Lista Ingredientes") R.id.nav_lista_rekomendasaun -> openFragment(RekomendasiFragment(), "Lista Rekomendasaun") R.id.nav_lista_favoritu -> openFragment(FavoritoFragment(), "Lista Favoritu") R.id.nav_akun -> openFragment(ProfileFragment(), "Konta") R.id.nav_about -> openFragment(AboutFragment(), "Kona-ba Aplikasaun") } binding.drawerLayout.closeDrawers() true } } private fun openFragment(fragment: Fragment, title: String) { supportFragmentManager.beginTransaction() .replace(R.id.fragment_container, fragment) .commit() supportActionBar?.title = title } override fun onBackPressed() { if (binding.drawerLayout.isDrawerOpen(androidx.core.view.GravityCompat.START)) { binding.drawerLayout.closeDrawers() } else { super.onBackPressed() } } }