package com.gamedog.vididin.di import com.gamedog.vididin.features.benefit.BenefitRouter import com.gamedog.vididin.features.benefit.DefaultBenefitRouter import com.gamedog.vididin.features.winrecords.DefaultWinRecordRouter import com.gamedog.vididin.features.winrecords.WinRecordRouter import com.gamedog.vididin.features.withdraw.DefaultWithdrawRouter import com.gamedog.vididin.features.withdraw.WithdrawRouter import com.gamedog.vididin.features.zero.DefaultZeroBuyRouter import com.gamedog.vididin.features.zero.ZeroBuyRouter import com.gamedog.vididin.router.DefaultFeedbackRouter import com.gamedog.vididin.router.DefaultPrivacyRouter import com.gamedog.vididin.router.DefaultSplashRouter import com.gamedog.vididin.router.DefaultVersionRouter import com.gamedog.vididin.router.DefaultWithdrawRecordRouter import com.gamedog.vididin.router.IRouterFeedback import com.gamedog.vididin.router.IRouterPrivacy import com.gamedog.vididin.router.IRouterSplash import com.gamedog.vididin.router.IRouterVersion import com.gamedog.vididin.router.IRouterWithdrawRecord import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) object BenefitModule { @Provides @Singleton fun provideRouter(): BenefitRouter = DefaultBenefitRouter() } @Module @InstallIn(SingletonComponent::class) object ZeroBuyModule { @Provides @Singleton fun provideRouter(): ZeroBuyRouter = DefaultZeroBuyRouter() } @Module @InstallIn(SingletonComponent::class) object WithdrawModule { @Provides @Singleton fun provideRouter(): WithdrawRouter = DefaultWithdrawRouter() } @Module @InstallIn(SingletonComponent::class) object WinRecordModule { @Provides @Singleton fun provideRouter(): WinRecordRouter = DefaultWinRecordRouter() } @Module @InstallIn(SingletonComponent::class) object PrivacyModule { @Provides @Singleton fun provideRouter(): IRouterPrivacy = DefaultPrivacyRouter() } @Module @InstallIn(SingletonComponent::class) object FeedbackModule { @Provides @Singleton fun provideRouter(): IRouterFeedback = DefaultFeedbackRouter() } @Module @InstallIn(SingletonComponent::class) object WithdrawRecordModule { @Provides @Singleton fun provideRouter(): IRouterWithdrawRecord = DefaultWithdrawRecordRouter() } @Module @InstallIn(SingletonComponent::class) object SplashModule { @Provides @Singleton fun provideRouter(): IRouterSplash = DefaultSplashRouter() } @Module @InstallIn(SingletonComponent::class) object VersionModule { @Provides @Singleton fun provideRouter(): IRouterVersion = DefaultVersionRouter() }