package com.longnh15.heimdall.di import com.longnh15.heimdall.MainViewModel import com.longnh15.heimdall.data.preferences.PreferenceDataSource import com.longnh15.heimdall.data.repository.AuthRepositoryImpl import com.longnh15.heimdall.data.repository.CredentialRepositoryImpl import com.longnh15.heimdall.data.vault.VaultSessionManagerImpl import com.longnh15.heimdall.domain.repository.AuthRepository import com.longnh15.heimdall.domain.repository.CredentialRepository import com.longnh15.heimdall.domain.vault.VaultSessionManager import com.longnh15.heimdall.ui.auth.login.LoginViewModel import com.longnh15.heimdall.ui.onboarding.OnboardingViewModel import com.longnh15.heimdall.ui.auth.register.RegisterViewModel import com.longnh15.heimdall.ui.vault.VaultViewModel import com.longnh15.heimdall.ui.vault.edit.AddEditVaultViewModel import org.koin.dsl.bind import org.koin.dsl.module import org.koin.plugin.module.dsl.single import org.koin.plugin.module.dsl.viewModel //@Module //class AppModule { // @Single // fun provideVaultSessionManager(): VaultSessionManager = VaultSessionManagerImpl() // @Single // fun bindCredentialRepository( // localDataSource: LocalDataSource // ): CredentialRepository = CredentialRepositoryImpl(localDataSource) //} val appModule = module { single() bind VaultSessionManager::class single() bind CredentialRepository::class single() bind AuthRepository::class single() viewModel() viewModel() viewModel() viewModel() viewModel() viewModel() }