diff --git a/src/components/DriverView/DriverPropositions.vue b/src/components/DriverView/DriverPropositions.vue
index e7c57e3..a10e2e8 100644
--- a/src/components/DriverView/DriverPropositions.vue
+++ b/src/components/DriverView/DriverPropositions.vue
@@ -45,20 +45,61 @@
{{ t('trains.number-propositions-empty') }}
-
+
{{ t('cargo-warnings.title') }}
- {{ t('cargo-warnings.' + warning) }}
+ {{ t('cargo-warnings.' + warningKey) }}
+
+
+
+
+
+
@@ -160,22 +201,41 @@ const chosenCategory = computed(() => {
return availableCategories.value[chosenCategoryIndex.value];
});
-const getCargoWarnings = computed(() => {
+const cargoWarnings = computed(() => {
const stockList = props.chosenTrain.stockList;
- let warnings: Set = new Set();
+ let warnings: Record = {};
stockList.forEach((stockVehicle) => {
const [vehicleName, vehicleCargo] = stockVehicle.split(':');
- if (vehicleName.startsWith('WB117')) warnings.add(vehicleCargo ? 'twr-un1965' : 'tn-un1965');
- else if (vehicleName.startsWith('445Rb'))
- warnings.add(vehicleCargo ? 'tn-un1202' : 'tn-un1202-empty');
- else if (vehicleName.startsWith('EDK80')) warnings.add('pn-edk80');
+ if (/^WB117/.test(vehicleName)) {
+ if (vehicleCargo) {
+ // warnings.add('twr-un1965');
+ warnings['zags-loaded-twr'] = (warnings['zags-loaded-twr'] || 0) + 1;
+ } else {
+ // warnings.add('tn-un1965');
+ warnings['zags-empty-tn'] = (warnings['zags-empty-tn'] || 0) + 1;
+ }
+ } else if (/^445Rb/.test(vehicleName)) {
+ if (vehicleCargo) {
+ // warnings.add(vehicleCargo ? 'tn-un1202' : 'tn-un1202-empty');
+ warnings['zans-loaded-tn'] = (warnings['zans-loaded-tn'] || 0) + 1;
+ } else {
+ // warnings.add(vehicleCargo ? 'tn-un1202' : 'tn-un1202-empty');
+ warnings['zans-empty-tn'] = (warnings['zans-empty-tn'] || 0) + 1;
+ }
+ } else if (/^EDK80/.test(vehicleName)) {
+ // warnings.add('pn-edk80');
+ warnings['edk80-all-pn'] = (warnings['edk80-all-pn'] || 0) + 1;
+ }
- if (vehicleCargo) {
- if (vehicleCargo.startsWith('wt_20')) warnings.add('pn-innofreight');
- else if (/^(tank|vehicles_01|truck)/.test(vehicleCargo)) warnings.add('pn-military');
+ if (/^wt_20/.test(vehicleCargo)) {
+ warnings['innofreight-all-pn'] = (warnings['innofreight-all-pn'] || 0) + 1;
+ }
+
+ if (/^(tank|vehicles_01|truck)/.test(vehicleCargo)) {
+ warnings['military-all-pn'] = (warnings['military-all-pn'] || 0) + 1;
}
});
@@ -254,6 +314,42 @@ function selectCategory(i: number) {
chosenCategoryIndex.value = i;
generateNumberPropositions();
}
+
+const analysisString = computed(() => {
+ let analysisStr = 'Analiza: ';
+
+ analysisStr = `$number, ${chosenCategory.value} (${props.chosenTrain.stockList[0]}, ${(props.chosenTrain.mass / 1000).toFixed(1)}t, ${props.chosenTrain.length}m)`;
+
+ if (Object.keys(cargoWarnings.value).length > 0) {
+ if (Object.keys(cargoWarnings.value).some((k) => k.includes('-twr')))
+ analysisStr += `
${t('cargo-warnings.has-twr')}`;
+
+ if (Object.keys(cargoWarnings.value).some((k) => k.includes('-tn')))
+ analysisStr += `
${t('cargo-warnings.has-tn')}`;
+
+ if (cargoWarnings.value['zags-loaded-twr'] || cargoWarnings.value['zags-empty-tn']) {
+ analysisStr += `
33UN1965 ${cargoWarnings.value['zags-loaded-twr'] || 0}/${cargoWarnings.value['zags-empty-tn'] || 0} Zags`;
+ }
+
+ if (cargoWarnings.value['zans-loaded-tn'] || cargoWarnings.value['zans-empty-tn']) {
+ analysisStr += `
33UN1203 ${cargoWarnings.value['zans-loaded-tn'] || 0}/${cargoWarnings.value['zans-empty-tn'] || 0} Zans`;
+ }
+
+ if (Object.keys(cargoWarnings.value).some((k) => k.includes('-pn'))) {
+ analysisStr += `${t('cargo-warnings.has-pn')}:`;
+
+ if (cargoWarnings.value['innofreight-all-pn']) {
+ analysisStr += `
- Innofreight - przekroczona skrajnia`;
+ }
+
+ if (cargoWarnings.value['military-all-pn']) {
+ analysisStr += `
- transport wojskowy`;
+ }
+ }
+ }
+
+ return analysisStr;
+});