Fix empty characterSheetEdit page.
This commit is contained in:
parent
5a55d38fb2
commit
a55753494f
2 changed files with 21 additions and 4 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue