Nowe filtry statusów scenerii; aktualizacja scenerii

This commit is contained in:
2021-11-13 01:52:25 +01:00
parent 922c372c74
commit 1a2dd60c82
7 changed files with 89 additions and 9 deletions
+4
View File
@@ -168,6 +168,10 @@ export default defineComponent({
StorageManager.setStringValue("lang", lang);
},
updateToNewest() {
// to do
},
loadLang() {
const storageLang = StorageManager.getStringValue("lang");
+45 -1
View File
@@ -31,6 +31,14 @@
"value": true,
"defaultValue": true
},
{
"id": "unavailable",
"name": "unavailable",
"iconName": "user",
"section": "access",
"value": false,
"defaultValue": false
},
{
"id": "SPK",
@@ -130,7 +138,43 @@
"section": "status",
"value": true,
"defaultValue": true
}
},
{
"id": "endingStatus",
"name": "ending-status",
"iconName": "",
"section": "status",
"value": true,
"defaultValue": true
},
{
"id": "afkStatus",
"name": "afk-status",
"iconName": "",
"section": "status",
"value": true,
"defaultValue": true
},
{
"id": "noSpaceStatus",
"name": "no-space-status",
"iconName": "",
"section": "status",
"value": true,
"defaultValue": true
},
{
"id": "unavailableStatus",
"name": "unavailable-status",
"iconName": "",
"section": "status",
"value": true,
"defaultValue": true
}
],
"sliders": [{
"id": "min-lvl",
File diff suppressed because one or more lines are too long
+7
View File
@@ -50,11 +50,18 @@
"donate": "DONATE"
},
"filters": {
"endingStatus": "ENDS SOON",
"afkStatus": "AFK",
"noSpaceStatus":"NO SPACE",
"unavailableStatus": "UNAVAILABLE",
"title": "STATION FILTER",
"default": "DEFAULT",
"not-default": "OTHER",
"real": "REAL",
"fictional": "FICTIONAL",
"unavailable": "UNSUPPORTED",
"SPK": "SPK",
"SCS": "SCS",
"SPE": "SPE",
+6
View File
@@ -50,11 +50,17 @@
"donate": "WESPRZYJ"
},
"filters": {
"endingStatus": "KOŃCZY",
"afkStatus": "Z/W",
"noSpaceStatus":"BRAK MIEJSCA",
"unavailableStatus": "NIEDOSTĘPNY",
"title": "FILTRUJ STACJE",
"default": "DOMYŚLNA",
"not-default": "POZA PACZKĄ",
"real": "REALNA",
"fictional": "FIKCYJNA",
"unavailable": "NIEDOSTĘPNA",
"SPK": "SPK",
"SCS": "SCS",
"SPE": "SPE",
+7 -1
View File
@@ -25,6 +25,12 @@ export default interface Filter {
'include-selected': boolean;
free: boolean;
occupied: boolean;
ending: boolean;
nonPublic: boolean;
unavailable: boolean;
endingStatus: boolean;
afkStatus: boolean;
noSpaceStatus: boolean;
unavailableStatus: boolean;
unsignedStatus: boolean;
}
+19 -6
View File
@@ -29,7 +29,7 @@ const sortStations = (a: Station, b: Station, sorter: { index: number; dir: numb
case 7:
if (a.currentUsers > b.currentUsers) return sorter.dir;
if (a.currentUsers < b.currentUsers) return -sorter.dir;
if (a.maxUsers > b.maxUsers) return sorter.dir;
if (a.maxUsers < b.maxUsers) return -sorter.dir;
break;
@@ -60,8 +60,14 @@ const filterStations = (station: Station, filters: Filter) => {
if (station.online && station.statusID == 'ending' && filters['ending']) return returnMode;
if (station.statusID == 'ending' && filters['endingStatus']) return returnMode;
if (station.statusID == 'not-signed' && filters['unavailableStatus']) return returnMode;
if (station.statusID == 'brb' && filters['afkStatus']) return returnMode;
if (station.statusID == 'no-space' && filters['noSpaceStatus']) return returnMode;
if (station.online && filters['occupied']) return returnMode;
if (!station.online && filters['free']) return returnMode;
if (station.unavailable && filters['unavailable']) return returnMode;
if (station.default && filters['default']) return returnMode;
if (!station.default && filters['notDefault']) return returnMode;
@@ -97,6 +103,7 @@ const filterStations = (station: Station, filters: Filter) => {
if (filters['SBL'] && station.SBL) return returnMode;
return true;
}
@@ -128,7 +135,13 @@ export default class StationFilterManager {
free: true,
occupied: false,
ending: false,
nonPublic: false
nonPublic: false,
unavailable: true,
afkStatus: false,
endingStatus: false,
noSpaceStatus: false,
unavailableStatus: false,
unsignedStatus: false
};
private filters: Filter = { ...this.filterInitStates };
@@ -151,19 +164,19 @@ export default class StationFilterManager {
invertFilters() {
Object.keys(this.filters).forEach(prop => {
if(typeof this.filters[prop] !== "boolean") return;
if (typeof this.filters[prop] !== "boolean") return;
this.filters[prop] = !this.filters[prop];
})
// for(let prop in this.filters) {
// if(typeof prop !== "boolean") continue;
// this.filters[prop] = !this.filterInitStates[prop];
// console.log("inverted!");
// }
}