Fix empty characterSheetEdit page.

This commit is contained in:
Andres Gomez, Thomas (ITDV RL) 2025-04-12 10:42:45 +02:00
parent 5a55d38fb2
commit a55753494f
2 changed files with 21 additions and 4 deletions

View file

@ -6,6 +6,8 @@ import com.pixelized.desktop.lwa.repository.alteration.AlterationRepository
import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetRepository
import com.pixelized.desktop.lwa.repository.network.NetworkRepository
import com.pixelized.desktop.lwa.repository.settings.SettingsRepository
import com.pixelized.desktop.lwa.ui.navigation.window.WindowController
import com.pixelized.desktop.lwa.ui.navigation.window.destination.navigateToCharacterSheetEdit
import com.pixelized.shared.lwa.protocol.websocket.CharacterSheetEvent
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.SharingStarted
@ -14,6 +16,9 @@ import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.launch
import lwacharactersheet.composeapp.generated.resources.Res
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__edit__title
import org.jetbrains.compose.resources.getString
class CharacterDetailViewModel(
private val characterSheetRepository: CharacterSheetRepository,
@ -78,6 +83,19 @@ class CharacterDetailViewModel(
displayedCharacterId.value = characterSheetId
}
suspend fun editCharacter(
characterSheetId: String,
windows: WindowController,
) {
if (characterSheetRepository.characterDetail(characterSheetId = characterSheetId) == null) {
characterSheetRepository.updateCharacterSheet(characterSheetId = characterSheetId)
}
windows.navigateToCharacterSheetEdit(
characterId = characterSheetId,
title = getString(Res.string.character_sheet_edit__edit__title),
)
}
fun hideCharacter() {
displayedCharacterId.value = null
}

View file

@ -52,7 +52,6 @@ import com.pixelized.desktop.lwa.ui.theme.color.component.LwaButtonColors
import kotlinx.coroutines.launch
import lwacharactersheet.composeapp.generated.resources.Res
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__create__title
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__edit__title
import lwacharactersheet.composeapp.generated.resources.game_master__create_character_sheet
import org.jetbrains.compose.resources.getString
import org.jetbrains.compose.resources.stringResource
@ -87,9 +86,9 @@ fun GMCharacterPage(
},
onCharacterSheetEdit = { characterSheetId ->
scope.launch {
windows.navigateToCharacterSheetEdit(
characterId = characterSheetId,
title = getString(Res.string.character_sheet_edit__edit__title),
characterDetailViewModel.editCharacter(
characterSheetId = characterSheetId,
windows = windows,
)
}
},