package com.renrenliao.im.di


import com.renrenliao.im.model.repository.LocalDataSource
import com.renrenliao.im.model.repository.RemoteDataSource
import com.renrenliao.im.utils.RingToast
import com.renrenliao.im.viewmodel.*
import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.dsl.module


val commonModule = module {
//    single {
//        RetrofitClient.createApi(ApiService::class.java, BASE_URL)
//    }


}

val viewModelModule = module {
    viewModel{ SplashViewModel(get(),get()) }
    viewModel{ LoginViewModel(get(),get()) }
    viewModel{ MainViewModel(get(),get())}
    viewModel{ AlarmViewModel(get(),get())}
    viewModel{ SettingViewModel(get(),get())}
    viewModel{ MineViewModel(get())}
    viewModel{ UserInfoViewModel(get(),get())}
    viewModel{ RrlFriendViewModel(get(),get())}
    viewModel{ GroupListViewModel(get(),get())}
    viewModel{ GroupMemberViewModel(get(),get())}
    viewModel{ FriendSearchViewModel(get())}
    viewModel{ FriendInfoViewModel(get(),get())}
    viewModel{ FriendAddViewModel(get(),get())}
    viewModel{ FriendRemarkViewModel(get(),get())}
    viewModel { FriendCircleViewModel(get()) }
    viewModel { VerificationViewModel(get(),get()) }
    viewModel { ProcessAddFriendViewModel(get(),get()) }
    
    viewModel { AddFriendSureViewModel(get(),get()) }


}

val repositoryModule = module {
    single { RemoteDataSource() }
    single { LocalDataSource() }

}
val appModule = listOf(commonModule, viewModelModule, repositoryModule)
