diff --git a/composeApp/src/commonMain/composeResources/drawable/ic_cognition_24dp.xml b/composeApp/src/commonMain/composeResources/drawable/ic_cognition_24dp.xml
new file mode 100644
index 0000000..c42772c
--- /dev/null
+++ b/composeApp/src/commonMain/composeResources/drawable/ic_cognition_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/composeApp/src/commonMain/composeResources/drawable/ic_heart_plus_24dp.xml b/composeApp/src/commonMain/composeResources/drawable/ic_heart_plus_24dp.xml
new file mode 100644
index 0000000..9e66c66
--- /dev/null
+++ b/composeApp/src/commonMain/composeResources/drawable/ic_heart_plus_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/composeApp/src/commonMain/composeResources/drawable/ic_shield_24dp.xml b/composeApp/src/commonMain/composeResources/drawable/ic_shield_24dp.xml
new file mode 100644
index 0000000..41794c9
--- /dev/null
+++ b/composeApp/src/commonMain/composeResources/drawable/ic_shield_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/composeApp/src/commonMain/composeResources/drawable/ic_swords_24dp.xml b/composeApp/src/commonMain/composeResources/drawable/ic_swords_24dp.xml
new file mode 100644
index 0000000..a5cf03c
--- /dev/null
+++ b/composeApp/src/commonMain/composeResources/drawable/ic_swords_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/Module.kt b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/Module.kt
index fae4d5f..147317c 100644
--- a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/Module.kt
+++ b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/Module.kt
@@ -15,6 +15,7 @@ import com.pixelized.desktop.lwa.repository.settings.SettingsRepository
import com.pixelized.desktop.lwa.repository.settings.SettingsStore
import com.pixelized.desktop.lwa.ui.composable.character.characteristic.CharacterDetailCharacteristicDialogViewModel
import com.pixelized.desktop.lwa.ui.composable.character.characteristic.CharacterSheetCharacteristicDialogFactory
+import com.pixelized.desktop.lwa.ui.screen.campaign.CampaignViewModel
import com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.CharacterDetailFactory
import com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.CharacterDetailViewModel
import com.pixelized.desktop.lwa.ui.screen.campaign.player.detail.CharacterDiminishedViewModel
@@ -106,6 +107,7 @@ val factoryDependencies
val viewModelDependencies
get() = module {
+ viewModelOf(::CampaignViewModel)
viewModelOf(::MainPageViewModel)
viewModelOf(::CharacterSheetViewModel)
viewModelOf(::CharacterSheetEditViewModel)
diff --git a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/repository/alteration/AlterationRepository.kt b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/repository/alteration/AlterationRepository.kt
index ec0ba3c..84336ed 100644
--- a/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/repository/alteration/AlterationRepository.kt
+++ b/composeApp/src/commonMain/kotlin/com/pixelized/desktop/lwa/repository/alteration/AlterationRepository.kt
@@ -2,7 +2,7 @@ package com.pixelized.desktop.lwa.repository.alteration
import com.pixelized.shared.lwa.model.alteration.Alteration
import com.pixelized.shared.lwa.model.alteration.FieldAlteration
-import com.pixelized.shared.lwa.model.campaign.Campaign
+import com.pixelized.shared.lwa.model.campaign.Campaign.CharacterInstance
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
@@ -20,7 +20,7 @@ class AlterationRepository(
private val store: AlterationStore,
) {
private val scope = CoroutineScope(Dispatchers.IO + Job())
- private val activeAlterationMapFlow: StateFlow