package com.mdm.marathi // <--- इथे तुमचा package name ठेवा import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewmodel.compose.viewModel import androidx.room.Room import com.mdm.marathi.data.AppDatabase import com.mdm.marathi.ui.MdMApp import com.mdm.marathi.viewmodel.IngredientViewModel import com.mdm.marathi.viewmodel.MenuViewModel import com.mdm.marathi.viewmodel.SchoolViewModel import com.mdm.marathi.viewmodel.StaffViewModel import androidx.compose.material3.MaterialTheme class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Room Database तयार करा val db = Room.databaseBuilder( applicationContext, AppDatabase::class.java, "mdm_db" ).build() setContent { MaterialTheme { // SchoolViewModel val schoolVm: SchoolViewModel = viewModel( factory = SimpleViewModelFactory { SchoolViewModel(db.schoolDao()) } ) // IngredientViewModel val ingredientVm: IngredientViewModel = viewModel( factory = SimpleViewModelFactory { IngredientViewModel(db.ingredientDao()) } ) // MenuViewModel val menuVm: MenuViewModel = viewModel( factory = SimpleViewModelFactory { MenuViewModel(db.menuDao(), db.ingredientDao()) } ) // StaffViewModel val staffVm: StaffViewModel = viewModel( factory = SimpleViewModelFactory { StaffViewModel(db.staffDao()) } ) // मुख्य अॅप UI MdMApp( schoolVm = schoolVm, ingredientVm = ingredientVm, menuVm = menuVm, staffVm = staffVm ) } } } } /** * साधा ViewModelFactory – आपण custom constructor असलेले ViewModel वापरत आहोत */ class SimpleViewModelFactory<T : ViewModel>( private val creator: () -> T ) : ViewModelProvider.Factory { @Suppress("UNCHECKED_CAST") override fun <T2 : ViewModel> create(modelClass: Class<T2>): T2 { return creator() as T2 } }