fix sortowania statusów dr; linting

This commit is contained in:
2023-11-17 16:52:53 +01:00
parent 451d90f854
commit 6ef04f0dbd
6 changed files with 33 additions and 3 deletions
+6 -1
View File
@@ -23,6 +23,9 @@ export default defineComponent({
dispatcherStatus: {
type: Number as PropType<Status.ActiveDispatcher | number>
},
dispatcherTimestamp: {
type: Number as PropType<number | null>
},
isOnline: {
type: Boolean
}
@@ -59,7 +62,9 @@ export default defineComponent({
return 'unknown';
default:
if (this.dispatcherStatus >= Date.now() + 25500000) return 'no-limit';
if (this.dispatcherTimestamp != null && this.dispatcherStatus >= Date.now() + 25500000)
return 'no-limit';
return 'online';
}
}
@@ -24,6 +24,7 @@
<StationStatusBadge
:isOnline="onlineScenery ? true : false"
:dispatcherStatus="onlineScenery?.dispatcherStatus"
:dispatcherTimestamp="onlineScenery?.dispatcherTimestamp"
/>
</section>
</template>
+1 -1
View File
@@ -52,7 +52,7 @@ export default defineComponent({
mixins: [modalTrainMixin],
setup(props) {
setup() {
const store = useStore();
const searchedTrain = inject('searchedTrain') as Ref<string>;
const searchedDriver = inject('searchedDriver') as Ref<string>;
+16 -1
View File
@@ -3,6 +3,17 @@ import { Status } from '../../typings/common';
import { HeadIdsTypes } from '../data/stationHeaderNames';
import Station from '../interfaces/Station';
const dispatcherStatusPriority = [
Status.ActiveDispatcher.UNKNOWN,
Status.ActiveDispatcher.INVALID,
Status.ActiveDispatcher.NOT_LOGGED_IN,
Status.ActiveDispatcher.UNAVAILABLE,
Status.ActiveDispatcher.AFK,
Status.ActiveDispatcher.ENDING,
Status.ActiveDispatcher.NO_SPACE,
undefined
];
export const sortStations = (
a: Station,
b: Station,
@@ -19,7 +30,11 @@ export const sortStations = (
break;
case 'status':
diff = (a.onlineInfo?.dispatcherStatus || 0) - (b.onlineInfo?.dispatcherStatus || 0);
diff =
(a.onlineInfo?.dispatcherTimestamp ??
dispatcherStatusPriority.indexOf(a.onlineInfo?.dispatcherStatus)) -
(b.onlineInfo?.dispatcherTimestamp ??
dispatcherStatusPriority.indexOf(b.onlineInfo?.dispatcherStatus));
break;
case 'dispatcher':
+8
View File
@@ -138,6 +138,13 @@ export const useStore = defineStore('store', {
[] as ScheduledTrain[]
);
const dispatcherTimestamp =
scenery.dispatcherStatus == Status.ActiveDispatcher.NO_LIMIT
? Date.now() + 25500000
: scenery.dispatcherStatus > 5
? scenery.dispatcherStatus
: null;
list.push({
name: scenery.stationName,
hash: scenery.stationHash,
@@ -153,6 +160,7 @@ export const useStore = defineStore('store', {
scheduledTrains: scheduledTrains,
stationTrains: stationTrains,
dispatcherStatus: scenery.dispatcherStatus,
dispatcherTimestamp: dispatcherTimestamp,
isOnline: scenery.isOnline == 1,
+1
View File
@@ -105,6 +105,7 @@ export interface OnlineScenery {
dispatcherIsSupporter: boolean;
dispatcherStatus: Status.ActiveDispatcher | number;
dispatcherTimestamp: number | null;
isOnline: boolean;