mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 13:28:11 +00:00
Optymalizacja listy ze sceneriami | v1.3.4 -> .5
This commit is contained in:
Generated
+57
@@ -4927,6 +4927,63 @@
|
|||||||
"locate-path": "^3.0.0"
|
"locate-path": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"firebase": {
|
||||||
|
"version": "2.4.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/firebase/-/firebase-2.4.2.tgz",
|
||||||
|
"integrity": "sha1-ThEZ7AOWylYdinrL/xYw/qxsCjE=",
|
||||||
|
"requires": {
|
||||||
|
"faye-websocket": ">=0.6.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"faye-websocket": {
|
||||||
|
"version": "0.9.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.9.3.tgz",
|
||||||
|
"integrity": "sha1-SCpQWw3wrmJrlphm0710DNuWLoM=",
|
||||||
|
"requires": {
|
||||||
|
"websocket-driver": ">=0.5.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"websocket-driver": {
|
||||||
|
"version": "0.5.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.5.2.tgz",
|
||||||
|
"integrity": "sha1-jHyF2gcTtAYFVrTXHAF3XuEmnrk=",
|
||||||
|
"requires": {
|
||||||
|
"websocket-extensions": ">=0.1.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"websocket-extensions": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz",
|
||||||
|
"integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"firebase-token-generator": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/firebase-token-generator/-/firebase-token-generator-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-l2fXWewTq9yZuhFf1eqZ2Lk9EgY="
|
||||||
|
},
|
||||||
|
"firestore": {
|
||||||
|
"version": "1.1.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/firestore/-/firestore-1.1.6.tgz",
|
||||||
|
"integrity": "sha1-cyhLzp/psIva1sGCeNJbaW4SPMI=",
|
||||||
|
"requires": {
|
||||||
|
"firebase": "^2.1.2",
|
||||||
|
"firebase-token-generator": "^2.0.0",
|
||||||
|
"lodash": "^3.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"lodash": {
|
||||||
|
"version": "3.10.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
|
||||||
|
"integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"flush-write-stream": {
|
"flush-write-stream": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.2.0",
|
||||||
|
"firestore": "^1.1.6",
|
||||||
"howler": "^2.2.1",
|
"howler": "^2.2.1",
|
||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-class-component": "^7.2.5",
|
"vue-class-component": "^7.2.5",
|
||||||
|
|||||||
@@ -18,7 +18,9 @@
|
|||||||
const firebaseConfig = {
|
const firebaseConfig = {
|
||||||
apiKey: "AIzaSyBI36X2-p7vU1flxoJdCEc0noByyTe1mpw",
|
apiKey: "AIzaSyBI36X2-p7vU1flxoJdCEc0noByyTe1mpw",
|
||||||
authDomain: "stacjownik-td2.firebaseapp.com",
|
authDomain: "stacjownik-td2.firebaseapp.com",
|
||||||
|
databaseURL: "https://stacjownik-td2.firebaseio.com",
|
||||||
projectId: "stacjownik-td2",
|
projectId: "stacjownik-td2",
|
||||||
|
storageBucket: "stacjownik-td2.appspot.com",
|
||||||
};
|
};
|
||||||
|
|
||||||
firebase.initializeApp(firebaseConfig);
|
firebase.initializeApp(firebaseConfig);
|
||||||
|
|||||||
+1
-1
@@ -59,7 +59,7 @@ export default class App extends Vue {
|
|||||||
@Action("synchronizeData") synchronizeData;
|
@Action("synchronizeData") synchronizeData;
|
||||||
@Getter("getAllData") data;
|
@Getter("getAllData") data;
|
||||||
|
|
||||||
private VERSION = "1.3.4";
|
private VERSION = "1.3.5";
|
||||||
|
|
||||||
async mounted() {
|
async mounted() {
|
||||||
this.synchronizeData();
|
this.synchronizeData();
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -23,10 +23,14 @@ export default interface Station {
|
|||||||
reqLevel: string;
|
reqLevel: string;
|
||||||
supportersOnly: string;
|
supportersOnly: string;
|
||||||
|
|
||||||
|
SBL: string;
|
||||||
|
TWB: string;
|
||||||
signalType: string;
|
signalType: string;
|
||||||
controlType: string;
|
controlType: string;
|
||||||
|
|
||||||
default: boolean;
|
default: boolean;
|
||||||
nonPublic: boolean;
|
nonPublic: boolean;
|
||||||
|
unavailable: boolean;
|
||||||
|
|
||||||
routes: {
|
routes: {
|
||||||
oneWay: { catenary: number; noCatenary: number };
|
oneWay: { catenary: number; noCatenary: number };
|
||||||
@@ -40,6 +44,8 @@ export default interface Station {
|
|||||||
}[]
|
}[]
|
||||||
| null;
|
| null;
|
||||||
|
|
||||||
|
stops: string[] | null;
|
||||||
|
|
||||||
online: boolean;
|
online: boolean;
|
||||||
occupiedTo: string;
|
occupiedTo: string;
|
||||||
statusTimestamp: number;
|
statusTimestamp: number;
|
||||||
|
|||||||
+53
-7
@@ -1,7 +1,7 @@
|
|||||||
import { Module, VuexModule, Mutation, Action } from 'vuex-module-decorators';
|
import { Module, VuexModule, Mutation, Action } from 'vuex-module-decorators';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
import JSONStationData from '@/data/stations.json';
|
import JSONStationData from '@/data/stationData.json';
|
||||||
|
|
||||||
import Station from '@/scripts/interfaces/Station';
|
import Station from '@/scripts/interfaces/Station';
|
||||||
import Train from '@/scripts/interfaces/Train';
|
import Train from '@/scripts/interfaces/Train';
|
||||||
@@ -310,9 +310,56 @@ export default class Store extends VuexModule {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Mutation setJSONData() {
|
@Mutation setJSONData() {
|
||||||
this.stationList = JSONStationData.map(stationData => ({
|
/*
|
||||||
...stationData,
|
0: stationName,
|
||||||
stationProject: '',
|
1: stationURL,
|
||||||
|
2: stationlines,
|
||||||
|
3: stationProject?,
|
||||||
|
4: reqLevel,
|
||||||
|
5: supportersOnly,
|
||||||
|
6: signalType,
|
||||||
|
7: controlType,
|
||||||
|
8: SBL,
|
||||||
|
9: two-way block,
|
||||||
|
10: routes, one-way, catenary,
|
||||||
|
11: routes, one-way, no catenary,
|
||||||
|
12: routes, two-way, catenary,
|
||||||
|
13: routes, two-way, no catenary,
|
||||||
|
14: subStations?,
|
||||||
|
15: stops?,
|
||||||
|
16: default,
|
||||||
|
17: nonPublic,
|
||||||
|
18: unavailable
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.stationList = JSONStationData.map(station => ({
|
||||||
|
stationName: station[0] as string,
|
||||||
|
stationURL: station[1] as string,
|
||||||
|
stationLines: station[2] as string,
|
||||||
|
stationProject: station[3] as string,
|
||||||
|
reqLevel: station[4] as string,
|
||||||
|
supportersOnly: station[5] as string,
|
||||||
|
signalType: station[6] as string,
|
||||||
|
controlType: station[7] as string,
|
||||||
|
SBL: station[8] as string,
|
||||||
|
TWB: station[9] as string,
|
||||||
|
routes: {
|
||||||
|
oneWay: {
|
||||||
|
catenary: station[10] as number,
|
||||||
|
noCatenary: station[11] as number,
|
||||||
|
},
|
||||||
|
twoWay: {
|
||||||
|
catenary: station[12] as number,
|
||||||
|
noCatenary: station[13] as number,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
checkpoints: station[14] ? (station[14] as string[]).map(sub => ({ checkpointName: sub, scheduledTrains: [] })) : null,
|
||||||
|
stops: station[15] as string[],
|
||||||
|
|
||||||
|
default: station[16] as boolean,
|
||||||
|
nonPublic: station[17] as boolean,
|
||||||
|
unavailable: station[18] as boolean,
|
||||||
|
|
||||||
stationHash: '',
|
stationHash: '',
|
||||||
maxUsers: 0,
|
maxUsers: 0,
|
||||||
currentUsers: 0,
|
currentUsers: 0,
|
||||||
@@ -327,7 +374,6 @@ export default class Store extends VuexModule {
|
|||||||
stationTrains: [],
|
stationTrains: [],
|
||||||
scheduledTrains: [],
|
scheduledTrains: [],
|
||||||
spawns: [],
|
spawns: [],
|
||||||
checkpoints: stationData.subStations ? stationData.subStations.map(sub => ({ checkpointName: sub, scheduledTrains: [] })) : null,
|
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -335,7 +381,7 @@ export default class Store extends VuexModule {
|
|||||||
private updateOnlineStations(updatedStationList: any[]) {
|
private updateOnlineStations(updatedStationList: any[]) {
|
||||||
this.stationList = this.stationList.reduce((acc, station) => {
|
this.stationList = this.stationList.reduce((acc, station) => {
|
||||||
const onlineStationData = updatedStationList.find(updatedStation => updatedStation.stationName === station.stationName);
|
const onlineStationData = updatedStationList.find(updatedStation => updatedStation.stationName === station.stationName);
|
||||||
const registeredStation = JSONStationData.find(data => data.stationName === station.stationName);
|
const registeredStation = JSONStationData.find(data => data[0] === station.stationName);
|
||||||
|
|
||||||
if (onlineStationData)
|
if (onlineStationData)
|
||||||
acc.push({
|
acc.push({
|
||||||
@@ -417,7 +463,7 @@ export default class Store extends VuexModule {
|
|||||||
if (stationName.includes(stopName) && !stop.stopName.includes('po.') && !stop.stopName.includes('podg.')) return true;
|
if (stationName.includes(stopName) && !stop.stopName.includes('po.') && !stop.stopName.includes('podg.')) return true;
|
||||||
if (stopName.includes('podg.') && stopName.split(', podg.')[0] && stationName === stopName.split(', podg.')[0]) return true;
|
if (stopName.includes('podg.') && stopName.split(', podg.')[0] && stationName === stopName.split(', podg.')[0]) return true;
|
||||||
|
|
||||||
if (JSONStationData.some(data => data.stationName.includes(station.stationName) && data.stops && data.stops.includes(stop.stopNameRAW))) return true;
|
if (station.stops && station.stops.includes(stop.stopNameRAW)) return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user