Improve conditionLabel method in BranchView component to handle edge cases and ensure accurate state representation. Added checks for null and undefined values, and clarified the return value for zero or negative conditions.

This commit is contained in:
Torsten Schulz (local)
2025-12-22 14:54:51 +01:00
parent d1b683344e
commit ea468c9878
7 changed files with 53 additions and 3 deletions

View File

@@ -0,0 +1,32 @@
/* eslint-disable */
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.sequelize.query(`
ALTER TABLE falukant_data.director
ADD COLUMN IF NOT EXISTS may_repair_vehicles boolean;
`);
await queryInterface.sequelize.query(`
UPDATE falukant_data.director
SET may_repair_vehicles = true
WHERE may_repair_vehicles IS NULL;
`);
await queryInterface.sequelize.query(`
ALTER TABLE falukant_data.director
ALTER COLUMN may_repair_vehicles SET DEFAULT true;
`);
await queryInterface.sequelize.query(`
ALTER TABLE falukant_data.director
ALTER COLUMN may_repair_vehicles SET NOT NULL;
`);
},
async down(queryInterface, Sequelize) {
// optional rollback: drop column
await queryInterface.sequelize.query(`
ALTER TABLE falukant_data.director
DROP COLUMN IF EXISTS may_repair_vehicles;
`);
},
};

View File

@@ -29,6 +29,10 @@ Director.init({
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: true},
mayRepairVehicles: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: true},
lastSalaryPayout: {
type: DataTypes.DATE,
allowNull: false,

View File

@@ -2645,6 +2645,7 @@ class FalukantService extends BaseService {
mayProduce: director.mayProduce,
maySell: director.maySell,
mayStartTransport: director.mayStartTransport,
mayRepairVehicles: director.mayRepairVehicles,
region: director.character.region?.name || null,
wishedIncome,
},

View File

@@ -104,6 +104,14 @@
/>
{{ $t('falukant.branch.director.starttransport') }}
</label>
<label>
<input
type="checkbox"
v-model="director.mayRepairVehicles"
@change="saveSetting('mayRepairVehicles', director.mayRepairVehicles)"
/>
{{ $t('falukant.branch.director.repairVehicles') }}
</label>
</div>
<div class="field">

View File

@@ -232,6 +232,7 @@
"produce": "Darf produzieren",
"sell": "Darf verkaufen",
"starttransport": "Darf Transporte veranlassen",
"repairVehicles": "Darf Fahrzeuge reparieren",
"emptyTransport": {
"title": "Transport ohne Produkte",
"description": "Bewege Transportmittel von dieser Niederlassung zu einer anderen, um sie besser zu nutzen.",

View File

@@ -163,7 +163,8 @@
},
"director": {
"income": "Income",
"incomeUpdated": "Salary has been successfully updated."
"incomeUpdated": "Salary has been successfully updated.",
"repairVehicles": "May repair vehicles"
},
"vehicles": {
"cargo_cart": "Cargo cart",

View File

@@ -692,7 +692,10 @@ export default {
},
conditionLabel(value) {
const v = Number(value) || 0;
// 0 ist ein gültiger Zustand (z.B. komplett kaputt) und darf nicht als "Unbekannt" enden.
if (value === null || value === undefined) return 'Unbekannt';
const v = Number(value);
if (!Number.isFinite(v)) return 'Unbekannt';
if (v >= 95) return 'Ausgezeichnet'; // 95100
if (v >= 72) return 'Sehr gut'; // 7294
if (v >= 54) return 'Gut'; // 5471
@@ -700,7 +703,7 @@ export default {
if (v >= 22) return 'Schlecht'; // 2238
if (v >= 6) return 'Sehr schlecht'; // 621
if (v >= 1) return 'Katastrophal'; // 15
return 'Unbekannt';
return 'Katastrophal'; // 0 oder kleiner
},
speedLabel(value) {