package com.longnh15.heimdall.di import com.longnh15.heimdall.MainViewModel import com.longnh15.heimdall.data.preferences.PreferenceDataSource import com.longnh15.heimdall.data.repository.CredentialRepositoryImpl import com.longnh15.heimdall.data.source.local.LocalDataSource import com.longnh15.heimdall.data.vault.VaultSessionManagerImpl import com.longnh15.heimdall.domain.repository.CredentialRepository import com.longnh15.heimdall.domain.vault.VaultSessionManager import com.longnh15.heimdall.ui.onboarding.OnboardingViewModel import com.longnh15.heimdall.ui.vault.VaultViewModel import com.longnh15.heimdall.ui.vault.edit.AddEditVaultViewModel import org.koin.core.annotation.Module import org.koin.core.annotation.Single 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() viewModel() viewModel() viewModel() viewModel() }