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 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()
}