Add settings store/repo etc. to save user settings.

This commit is contained in:
Thomas Andres Gomez 2024-12-01 12:32:06 +01:00
parent 992c79a100
commit 2058a6a789
12 changed files with 238 additions and 19 deletions

View file

@ -2,6 +2,7 @@ package com.pixelized.desktop.lwa
import com.pixelized.desktop.lwa.business.CharacterSheetUseCase
import com.pixelized.desktop.lwa.business.RollUseCase
import com.pixelized.desktop.lwa.business.SettingsUseCase
import com.pixelized.desktop.lwa.business.SkillStepUseCase
import com.pixelized.desktop.lwa.business.SkillValueComputationUseCase
import com.pixelized.desktop.lwa.parser.arithmetic.ArithmeticParser
@ -11,6 +12,9 @@ import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetStore
import com.pixelized.desktop.lwa.repository.characterSheet.SkillDescriptionFactory
import com.pixelized.desktop.lwa.repository.network.NetworkRepository
import com.pixelized.desktop.lwa.repository.roll_history.RollHistoryRepository
import com.pixelized.desktop.lwa.repository.settings.SettingsFactory
import com.pixelized.desktop.lwa.repository.settings.SettingsRepository
import com.pixelized.desktop.lwa.repository.settings.SettingsStore
import com.pixelized.desktop.lwa.screen.characterSheet.detail.CharacterSheetFactory
import com.pixelized.desktop.lwa.screen.characterSheet.detail.CharacterSheetViewModel
import com.pixelized.desktop.lwa.screen.characterSheet.edit.CharacterSheetEditFactory
@ -21,6 +25,7 @@ import com.pixelized.desktop.lwa.screen.network.NetworkFactory
import com.pixelized.desktop.lwa.screen.network.NetworkViewModel
import com.pixelized.desktop.lwa.screen.roll.RollViewModel
import com.pixelized.desktop.lwa.screen.rollhistory.RollHistoryViewModel
import kotlinx.serialization.json.Json
import org.koin.core.module.dsl.factoryOf
import org.koin.core.module.dsl.singleOf
import org.koin.core.module.dsl.viewModelOf
@ -28,19 +33,32 @@ import org.koin.dsl.module
val moduleDependencies
get() = listOf(
toolsDependencies,
parserDependencies,
factoryDependencies,
useCaseDependencies,
storeDependencies,
repositoryDependencies,
viewModelDependencies,
useCaseDependencies,
)
val toolsDependencies
get() = module {
factory { Json { explicitNulls = false } }
}
val storeDependencies
get() = module {
singleOf(::CharacterSheetStore)
singleOf(::SettingsStore)
}
val repositoryDependencies
get() = module {
singleOf(::CharacterSheetStore)
singleOf(::NetworkRepository)
singleOf(::CharacterSheetRepository)
singleOf(::RollHistoryRepository)
singleOf(::SettingsRepository)
}
val factoryDependencies
@ -51,6 +69,7 @@ val factoryDependencies
factoryOf(::NetworkFactory)
factoryOf(::SkillFieldFactory)
factoryOf(::SkillDescriptionFactory)
factoryOf(::SettingsFactory)
}
val viewModelDependencies
@ -74,4 +93,5 @@ val useCaseDependencies
factoryOf(::RollUseCase)
factoryOf(::SkillValueComputationUseCase)
factoryOf(::CharacterSheetUseCase)
factoryOf(::SettingsUseCase)
}