diff --git a/app/src/main/java/com/pixelized/rplexicon/data/parser/map/WorldParser.kt b/app/src/main/java/com/pixelized/rplexicon/data/parser/map/WorldParser.kt
index c4b8fcc..caf905d 100644
--- a/app/src/main/java/com/pixelized/rplexicon/data/parser/map/WorldParser.kt
+++ b/app/src/main/java/com/pixelized/rplexicon/data/parser/map/WorldParser.kt
@@ -18,11 +18,14 @@ class WorldParser @Inject constructor() {
val child = line.parse(column = CHILD)
val x = line.parseFloat(column = X)
val y = line.parseFloat(column = Y)
- if (child != null && x != null && y != null) {
+ if (child != null) {
val world = WorldDto(
parent = parent,
child = child,
- position = Offset(x = x, y = y),
+ position = when {
+ x != null && y != null -> Offset(x = x, y = y)
+ else -> Offset.Unspecified
+ },
)
worlds.add(world)
}
diff --git a/app/src/main/java/com/pixelized/rplexicon/ui/screens/location/detail/LocationDetail.kt b/app/src/main/java/com/pixelized/rplexicon/ui/screens/location/detail/LocationDetail.kt
index 9221122..47318c2 100644
--- a/app/src/main/java/com/pixelized/rplexicon/ui/screens/location/detail/LocationDetail.kt
+++ b/app/src/main/java/com/pixelized/rplexicon/ui/screens/location/detail/LocationDetail.kt
@@ -14,6 +14,7 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.BoxWithConstraints
import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.heightIn
@@ -68,6 +69,7 @@ import com.pixelized.rplexicon.ui.composable.rememberBackgroundGradient
import com.pixelized.rplexicon.ui.navigation.LocalScreenNavHost
import com.pixelized.rplexicon.ui.navigation.screens.navigateToLocationDetail
import com.pixelized.rplexicon.ui.theme.LexiconTheme
+import com.pixelized.rplexicon.utilitary.LOS_HOLLOW
import com.pixelized.rplexicon.utilitary.annotateWithDropCap
import com.pixelized.rplexicon.utilitary.extentions.lexicon
import kotlinx.coroutines.CoroutineScope
@@ -359,12 +361,12 @@ private fun LocationContent(
modifier = Modifier
.fillMaxWidth()
.heightIn(min = this@constraint.maxHeight)
- .padding(all = 16.dp),
+ .padding(vertical = 16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.spacedBy(space = 24.dp),
) {
Text(
- textAlign = TextAlign.Center,
+ modifier = Modifier.padding(horizontal = 16.dp),
style = MaterialTheme.typography.headlineSmall,
text = annotateWithDropCap(
text = item.value?.name ?: "",
@@ -373,7 +375,9 @@ private fun LocationContent(
)
item.value?.description?.let {
Text(
- modifier = Modifier.fillMaxWidth(),
+ modifier = Modifier
+ .fillMaxWidth()
+ .padding(horizontal = 16.dp),
style = MaterialTheme.typography.bodyMedium,
text = annotateWithDropCap(
text = it,
@@ -381,6 +385,44 @@ private fun LocationContent(
),
)
}
+ if (item.value?.marquees?.isNotEmpty() == true) {
+ Column {
+ Text(
+ modifier = Modifier
+ .padding(bottom = 8.dp)
+ .padding(horizontal = 16.dp),
+ style = MaterialTheme.typography.titleMedium,
+ text = annotateWithDropCap(
+ text = stringResource(id = R.string.map_destination),
+ style = MaterialTheme.lexicon.typography.titleMediumDropCap,
+ )
+ )
+ item.value?.marquees?.forEach {
+ Row(
+ modifier = Modifier
+ .clickable { onDestination(it) }
+ .minimumInteractiveComponentSize()
+ .fillMaxWidth()
+ .padding(horizontal = 16.dp),
+ horizontalArrangement = Arrangement.spacedBy(space = 8.dp),
+ ) {
+ Text(
+ modifier = Modifier.alignByBaseline(),
+ style = MaterialTheme.typography.bodyMedium,
+ text = LOS_HOLLOW
+ )
+ Text(
+ modifier = Modifier.alignByBaseline(),
+ style = MaterialTheme.typography.bodyMedium,
+ text = annotateWithDropCap(
+ text = it.name,
+ style = MaterialTheme.lexicon.typography.bodyMediumDropCap,
+ )
+ )
+ }
+ }
+ }
+ }
}
}
}
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index f857244..9737c9b 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -88,6 +88,7 @@
Carte
Coordonnées
+ Destinations :
Talents
Inventaire
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6c3c507..b6e6910 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -88,6 +88,7 @@
Map
Coordinates
+ Destinations:
Proficiencies
Inventory