Merge pull request #38 from nacabaro/vb/special_missions

Small fix related to special missions
This commit is contained in:
nacabaro 2025-09-05 02:19:36 +02:00 committed by GitHub
commit af2c852bac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 31 additions and 24 deletions

View File

@ -169,7 +169,7 @@ fun SpecialMissionsEntry(
Card(
modifier = modifier,
shape = androidx.compose.material.MaterialTheme.shapes.small,
onClick = if (specialMission.status == SpecialMission.Status.COMPLETED) {
onClick = if (specialMission.status == SpecialMission.Status.COMPLETED || specialMission.status == SpecialMission.Status.FAILED) {
onClickCard
} else {
{ }

View File

@ -1,8 +1,9 @@
package com.github.nacabaro.vbhelper.screens.homeScreens
import com.github.cfogrady.vbnfc.vb.SpecialMission
import com.github.nacabaro.vbhelper.dtos.ItemDtos
interface HomeScreenController {
fun didAdventureMissionsFinish(onCompletion: (Boolean) -> Unit)
fun clearSpecialMission(missionId: Long, onCleared: (ItemDtos.PurchasedItem) -> Unit)
fun clearSpecialMission(missionId: Long, missionCompletion: SpecialMission.Status, onCleared: (ItemDtos.PurchasedItem?) -> Unit)
}

View File

@ -2,6 +2,7 @@ package com.github.nacabaro.vbhelper.screens.homeScreens
import androidx.activity.ComponentActivity
import androidx.lifecycle.lifecycleScope
import com.github.cfogrady.vbnfc.vb.SpecialMission
import com.github.nacabaro.vbhelper.di.VBHelper
import com.github.nacabaro.vbhelper.dtos.ItemDtos
import kotlinx.coroutines.launch
@ -30,12 +31,13 @@ class HomeScreenControllerImpl(
}
}
override fun clearSpecialMission(missionId: Long, onCleared: (ItemDtos.PurchasedItem) -> Unit) {
override fun clearSpecialMission(missionId: Long, missionCompletion: SpecialMission.Status, onCleared: (ItemDtos.PurchasedItem?) -> Unit) {
componentActivity.lifecycleScope.launch {
database
.specialMissionDao()
.clearSpecialMission(missionId)
if (missionCompletion == SpecialMission.Status.COMPLETED) {
val randomItem = database
.itemDao()
.getAllItems()
@ -61,6 +63,10 @@ class HomeScreenControllerImpl(
)
onCleared(purchasedItem)
} else {
onCleared(null)
}
}
}
}

View File

@ -34,7 +34,7 @@ fun VBDiMHomeScreen(
homeScreenController: HomeScreenControllerImpl,
transformationHistory: List<CharacterDtos.TransformationHistory>,
contentPadding: PaddingValues,
onClickCollect: (ItemDtos.PurchasedItem) -> Unit
onClickCollect: (ItemDtos.PurchasedItem?) -> Unit
) {
Column(
modifier = Modifier
@ -181,7 +181,7 @@ fun VBDiMHomeScreen(
.padding(8.dp),
) {
homeScreenController
.clearSpecialMission(mission.id, onClickCollect)
.clearSpecialMission(mission.id, mission.status, onClickCollect)
}
}
}