From f8b4ce103fb7be7b0b71afe577faf4b5a2b4a2d4 Mon Sep 17 00:00:00 2001 From: Spythere Date: Fri, 10 Nov 2023 15:04:49 +0100 Subject: [PATCH] =?UTF-8?q?refactor=20typ=C3=B3w=20danych?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 13 +- src/components/App/AppHeader.vue | 2 +- src/components/App/StatusIndicator.vue | 40 +-- src/components/Global/RegionDropdown.vue | 2 +- src/components/Global/StationStatusBadge.vue | 18 +- src/components/Global/StockList.vue | 6 +- src/components/Global/StopDate.vue | 6 +- src/components/Global/TrainModal.vue | 9 - src/components/Global/TrainThumbnail.vue | 6 +- src/components/JournalView/DailyStats.vue | 75 ++-- .../JournalView/DispatcherStats.vue | 11 +- .../JournalView/JournalDispatchersList.vue | 18 +- .../JournalView/JournalDriverStats.vue | 10 +- src/components/JournalView/JournalOptions.vue | 32 +- src/components/JournalView/JournalStats.vue | 7 +- .../JournalTimetablesList.vue | 16 +- .../JournalTimetables/TimetableExtra.vue | 4 +- .../JournalTimetables/TimetableGeneral.vue | 6 +- .../TimetableHistoryList.vue | 4 +- .../JournalTimetables/TimetableStatus.vue | 4 +- .../JournalTimetables/TimetableStops.vue | 5 +- src/components/JournalView/typings.ts | 49 +++ .../SceneryView/SceneryDispatchersHistory.vue | 28 +- src/components/SceneryView/SceneryHeader.vue | 3 +- src/components/SceneryView/SceneryInfo.vue | 4 +- .../SceneryInfo/SceneryInfoDispatcher.vue | 2 +- .../SceneryInfo/SceneryInfoSpawnList.vue | 8 +- .../SceneryInfo/SceneryInfoUserList.vue | 2 +- .../SceneryView/SceneryTimetable.vue | 4 +- .../SceneryView/SceneryTimetablesHistory.vue | 33 +- .../SceneryView/ScheduledTrainStatus.vue | 14 +- .../StationsView/StationFilterCard.vue | 4 +- src/components/StationsView/StationTable.vue | 7 +- .../StationsView/typings.ts} | 9 +- src/components/TrainsView/TrainOptions.vue | 15 +- src/components/TrainsView/TrainSchedule.vue | 4 +- src/components/TrainsView/TrainTable.vue | 2 +- .../TrainsView/typings.ts} | 56 ++- .../Journal/JournalTimetablesConsts.ts | 46 --- src/data/defaultVehicleIcons.json | 23 -- src/{scripts => }/managers/storageManager.ts | 0 .../managers/trainFilterManager.ts | 27 +- src/mixins/modalTrainMixin.ts | 2 +- src/mixins/trainInfoMixin.ts | 2 +- .../constants/stores/initFilterStates.ts | 49 --- src/scripts/enums/DataStatus.ts | 7 - src/scripts/enums/DispatcherStatus.ts | 9 - src/scripts/enums/JournalFilterType.ts | 14 - src/scripts/enums/TrainFilterType.ts | 21 -- src/scripts/interfaces/FilterOption.ts | 6 - src/scripts/interfaces/Scenery.ts | 38 -- src/scripts/interfaces/ScheduledTrain.ts | 43 --- src/scripts/interfaces/Station.ts | 3 +- src/scripts/interfaces/StoreData.ts | 13 - src/scripts/interfaces/Timetable.ts | 23 -- src/scripts/interfaces/Train.ts | 2 +- src/scripts/interfaces/TrainStop.ts | 30 -- src/scripts/interfaces/Trains/TrainFilter.ts | 7 - .../interfaces/api/DispatcherStatsAPIData.ts | 27 -- .../interfaces/api/DispatchersAPIData.ts | 18 - .../interfaces/api/DriverStatsAPIData.ts | 27 -- src/scripts/interfaces/api/SceneryAPIData.ts | 21 -- src/scripts/interfaces/api/StationAPIData.ts | 18 - src/scripts/interfaces/api/StatsAPIData.ts | 51 --- .../interfaces/api/TimetablesAPIData.ts | 67 ---- .../interfaces/api/TimetablesQueryParams.ts | 23 -- src/scripts/interfaces/api/TrainAPIData.ts | 68 ---- .../interfaces/github_api/ReleaseAPIData.ts | 41 --- .../github_api/StockInfoGithubData.ts | 13 - src/scripts/types/JournalDispatcherTypes.ts | 8 - src/scripts/types/JournalTimetablesTypes.ts | 25 -- src/scripts/utils/filterUtils.ts | 15 +- src/store/{store.ts => mainStore.ts} | 75 ++-- src/store/stationFiltersStore.ts | 54 ++- .../store/storeTypes.ts => store/typings.ts} | 135 ++++--- .../utils/storeUtils.ts => store/utils.ts} | 55 +-- src/typings/api.ts | 331 ++++++++++++++++++ src/typings/common.ts | 19 + src/views/JournalDispatchers.vue | 37 +- src/views/JournalTimetables.vue | 126 +++++-- src/views/SceneryView.vue | 2 +- src/views/StationsView.vue | 3 +- src/views/TrainsView.vue | 7 +- tsconfig.json | 15 +- 84 files changed, 1011 insertions(+), 1173 deletions(-) create mode 100644 src/components/JournalView/typings.ts rename src/{scripts/interfaces/Filter.ts => components/StationsView/typings.ts} (88%) rename src/{constants/Trains/TrainOptionsConsts.ts => components/TrainsView/typings.ts} (53%) delete mode 100644 src/constants/Journal/JournalTimetablesConsts.ts delete mode 100644 src/data/defaultVehicleIcons.json rename src/{scripts => }/managers/storageManager.ts (100%) rename src/{scripts => }/managers/trainFilterManager.ts (85%) delete mode 100644 src/scripts/constants/stores/initFilterStates.ts delete mode 100644 src/scripts/enums/DataStatus.ts delete mode 100644 src/scripts/enums/DispatcherStatus.ts delete mode 100644 src/scripts/enums/JournalFilterType.ts delete mode 100644 src/scripts/enums/TrainFilterType.ts delete mode 100644 src/scripts/interfaces/FilterOption.ts delete mode 100644 src/scripts/interfaces/Scenery.ts delete mode 100644 src/scripts/interfaces/ScheduledTrain.ts delete mode 100644 src/scripts/interfaces/StoreData.ts delete mode 100644 src/scripts/interfaces/Timetable.ts delete mode 100644 src/scripts/interfaces/TrainStop.ts delete mode 100644 src/scripts/interfaces/Trains/TrainFilter.ts delete mode 100644 src/scripts/interfaces/api/DispatcherStatsAPIData.ts delete mode 100644 src/scripts/interfaces/api/DispatchersAPIData.ts delete mode 100644 src/scripts/interfaces/api/DriverStatsAPIData.ts delete mode 100644 src/scripts/interfaces/api/SceneryAPIData.ts delete mode 100644 src/scripts/interfaces/api/StationAPIData.ts delete mode 100644 src/scripts/interfaces/api/StatsAPIData.ts delete mode 100644 src/scripts/interfaces/api/TimetablesAPIData.ts delete mode 100644 src/scripts/interfaces/api/TimetablesQueryParams.ts delete mode 100644 src/scripts/interfaces/api/TrainAPIData.ts delete mode 100644 src/scripts/interfaces/github_api/ReleaseAPIData.ts delete mode 100644 src/scripts/interfaces/github_api/StockInfoGithubData.ts delete mode 100644 src/scripts/types/JournalDispatcherTypes.ts delete mode 100644 src/scripts/types/JournalTimetablesTypes.ts rename src/store/{store.ts => mainStore.ts} (80%) rename src/{scripts/interfaces/store/storeTypes.ts => store/typings.ts} (50%) rename src/{scripts/utils/storeUtils.ts => store/utils.ts} (84%) create mode 100644 src/typings/api.ts create mode 100644 src/typings/common.ts diff --git a/src/App.vue b/src/App.vue index e8b19a8..15d25e8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -39,12 +39,12 @@ import Clock from './components/App/Clock.vue'; import packageInfo from '.././package.json'; import { regions } from './data/options.json'; -import { useStore } from './store/store'; +import { useStore } from './store/mainStore'; import StatusIndicator from './components/App/StatusIndicator.vue'; import TrainModal from './components/Global/TrainModal.vue'; -import StorageManager from './scripts/managers/storageManager'; import AppHeader from './components/App/AppHeader.vue'; import axios from 'axios'; +import StorageManager from './managers/storageManager'; export default defineComponent({ components: { @@ -72,12 +72,9 @@ export default defineComponent({ window.addEventListener('offline', () => { this.store.isOffline = true; - this.store.apiData = { - stations: [], - dispatchers: [], - trains: [], - connectedSocketCount: 0 - }; + this.store.activeData.sceneries = []; + this.store.activeData.trains = []; + this.store.activeData.connectedSocketCount = 0; this.store.setStatuses(); }); diff --git a/src/components/App/AppHeader.vue b/src/components/App/AppHeader.vue index ad78730..d10da58 100644 --- a/src/components/App/AppHeader.vue +++ b/src/components/App/AppHeader.vue @@ -68,7 +68,7 @@ diff --git a/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue b/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue index be53010..8fca022 100644 --- a/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue +++ b/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue @@ -34,7 +34,7 @@ import dateMixin from '../../../mixins/dateMixin'; import routerMixin from '../../../mixins/routerMixin'; import styleMixin from '../../../mixins/styleMixin'; import StationStatusBadge from '../../Global/StationStatusBadge.vue'; -import { OnlineScenery } from '../../../scripts/interfaces/store/storeTypes'; +import { OnlineScenery } from '../../../store/typings'; export default defineComponent({ mixins: [styleMixin, dateMixin, routerMixin], diff --git a/src/components/SceneryView/SceneryInfo/SceneryInfoSpawnList.vue b/src/components/SceneryView/SceneryInfo/SceneryInfoSpawnList.vue index fdbecb3..d6a4672 100644 --- a/src/components/SceneryView/SceneryInfo/SceneryInfoSpawnList.vue +++ b/src/components/SceneryView/SceneryInfo/SceneryInfoSpawnList.vue @@ -7,7 +7,11 @@ -
  • +
  • {{ $t('scenery.no-spawns') }}
  • @@ -26,7 +30,7 @@