fix(falukant): map house types to matching models
All checks were successful
Deploy to production / deploy (push) Successful in 1m50s

This commit is contained in:
Torsten Schulz (local)
2026-09-29 12:04:56 +02:00
parent 2ebd8216fa
commit e45d02673f
2 changed files with 13 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
const HOUSE_MODELS = Object.freeze({
const LEGACY_HOUSE_MODELS = Object.freeze({
'Unter der Brücke': 'under_bridge',
'Strohhütte': 'straw_hut',
Holzhaus: 'wooden_house',
@@ -10,6 +10,11 @@ const HOUSE_MODELS = Object.freeze({
Schloss: 'castle',
});
const MODEL_NAMES = new Set(Object.values(LEGACY_HOUSE_MODELS));
export function getFalukantHouseModel(houseType) {
return HOUSE_MODELS[houseType?.labelTr] || 'under_bridge';
// HouseType.labelTr is the stable database key (e.g. "wooden_house"),
// while older data may still contain the German display label.
const key = houseType?.abbr || houseType?.labelTr;
return MODEL_NAMES.has(key) ? key : (LEGACY_HOUSE_MODELS[key] || 'under_bridge');
}

View File

@@ -133,7 +133,12 @@
<h3>{{ $t('falukant.house.buyablehouses') }}</h3>
<div class="houses-list">
<div v-for="house in buyableHouses" :key="house.id" class="house-item">
<div class="house-preview house-preview--static" aria-hidden="true">⌂</div>
<House3D
v-if="house.houseType?.labelTr"
class="house-preview"
:model="houseModel(house.houseType)"
:label="$t(`falukant.house.type.${house.houseType.labelTr}`)"
/>
<div class="house-info">
<h4>{{ $t(`falukant.house.type.${house.houseType.labelTr}`) }}</h4>
<div class="buyable-house-stats">
@@ -594,16 +599,6 @@ h2 {
border-radius: 4px;
}
.house-preview--static {
display: grid;
place-items: center;
color: #75553d;
background: linear-gradient(145deg, #f6ecd9, #dbc19a);
border: 1px solid rgba(117, 85, 61, 0.25);
font-size: 4rem;
line-height: 1;
}
.house-info {
width: 100%;
display: flex;