Add tests
This commit is contained in:
@@ -10,9 +10,14 @@ import androidx.compose.foundation.lazy.grid.GridCells
|
||||
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
|
||||
import androidx.compose.material3.OutlinedCard
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.alpha
|
||||
import androidx.compose.ui.unit.dp
|
||||
import domain.Clue
|
||||
import domain.Grid
|
||||
import domain.HorizontalClue
|
||||
import domain.ItemClass
|
||||
@@ -28,12 +33,18 @@ import yaep.composeapp.generated.resources.Res
|
||||
import yaep.composeapp.generated.resources.neighbour
|
||||
import yaep.composeapp.generated.resources.order
|
||||
|
||||
class DisplayClue<C : Clue>(val clue: C) {
|
||||
var isActive by mutableStateOf(true)
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun App(modifier: Modifier = Modifier) {
|
||||
val game = generateGame()
|
||||
val game = remember { generateGame() }
|
||||
val horizontalClues = remember { game.horizontalClues.map { DisplayClue(it) } }
|
||||
val verticalClues = remember { game.verticalClues.map { DisplayClue(it) } }
|
||||
Row(modifier = modifier) {
|
||||
PuzzleGrid(modifier = Modifier.weight(1f), game.grid)
|
||||
PuzzleClues(modifier = Modifier.weight(1f), game.horizontalClues, game.verticalClues)
|
||||
PuzzleClues(modifier = Modifier.weight(1f), horizontalClues, verticalClues)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,8 +79,8 @@ fun PuzzleGrid(
|
||||
@Composable
|
||||
fun PuzzleClues(
|
||||
modifier: Modifier = Modifier,
|
||||
horizontalClues: List<HorizontalClue>,
|
||||
verticalClues: List<SameRowClue<ItemClass<*>>>
|
||||
horizontalClues: List<DisplayClue<HorizontalClue>>,
|
||||
verticalClues: List<DisplayClue<SameRowClue<ItemClass<*>>>>
|
||||
) {
|
||||
Column(modifier = modifier) {
|
||||
LazyVerticalGrid(
|
||||
@@ -80,7 +91,7 @@ fun PuzzleClues(
|
||||
item {
|
||||
HorizontalClue(
|
||||
modifier = Modifier.clickable { clue.isActive = false },
|
||||
clue = clue
|
||||
clue = clue.clue
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -90,7 +101,7 @@ fun PuzzleClues(
|
||||
modifier = Modifier
|
||||
.alpha(0.5f)
|
||||
.clickable { clue.isActive = true },
|
||||
clue = clue
|
||||
clue = clue.clue
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -104,7 +115,7 @@ fun PuzzleClues(
|
||||
item {
|
||||
VerticalClue(
|
||||
modifier = Modifier.clickable { clue.isActive = false },
|
||||
clue = clue
|
||||
clue = clue.clue
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -114,7 +125,7 @@ fun PuzzleClues(
|
||||
modifier = Modifier
|
||||
.alpha(0.5f)
|
||||
.clickable { clue.isActive = true },
|
||||
clue = clue
|
||||
clue = clue.clue
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user