diff --git a/src/components/App/StatusIndicator.vue b/src/components/App/StatusIndicator.vue
index 7d7332f..caffdf5 100644
--- a/src/components/App/StatusIndicator.vue
+++ b/src/components/App/StatusIndicator.vue
@@ -204,10 +204,18 @@ export default defineComponent({
deep: true,
handler(statuses: StoreState['dataStatuses']) {
+ const connectionStatus = statuses.connection;
const sceneryDataStatus = statuses.sceneries;
const trainsDataStatus = statuses.trains;
const dispatcherDataStatus = statuses.dispatchers;
+ if (connectionStatus == DataStatus.Error) {
+ this.setSignalStatus(connectionStatus);
+ this.indicator.status = connectionStatus;
+ this.indicator.message = 'data-status.S1a-connection';
+ return;
+ }
+
if (sceneryDataStatus == DataStatus.Error) {
this.setSignalStatus(sceneryDataStatus);
this.indicator.status = sceneryDataStatus;
diff --git a/src/locales/en.json b/src/locales/en.json
index 160a48c..c4e9bde 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -11,7 +11,7 @@
"migration-confirm": "Roger that!"
},
"data-status": {
- "S1a-connection": "S1a signal
Cannot connect with SWDR API service!",
+ "S1a-connection": "S1a signal
Cannot connect with Stacjownik API service!",
"S1a-sceneries": "S1a signal
Cannot load online stations data!",
"S2": "S2 signal
All data loaded successfully!",
"S3": "S3 signal
Loading data...",
diff --git a/src/locales/pl.json b/src/locales/pl.json
index 22ec563..f1e32cc 100644
--- a/src/locales/pl.json
+++ b/src/locales/pl.json
@@ -12,7 +12,7 @@
},
"data-status": {
- "S1a-connection": "Sygnał S1a
Błąd podczas próby połączenia się z serwisem SWDR!",
+ "S1a-connection": "Sygnał S1a
Błąd podczas próby połączenia się z API Stacjownika!",
"S1a-sceneries": "Sygnał S1a
Błąd podczas pobierania danych o sceneriach online!",
"S2": "Sygnał S2
Pomyślnie załadowano dane!",
"S3": "Sygnał S3
Pobieranie danych...",
diff --git a/src/store/store.ts b/src/store/store.ts
index d9f6e65..32b606d 100644
--- a/src/store/store.ts
+++ b/src/store/store.ts
@@ -334,6 +334,12 @@ export const useStore = defineStore('store', {
transports: ['websocket', 'polling'],
rememberUpgrade: true,
reconnection: true,
+ timeout: 10000
+ });
+
+ socket.on('connect_error', (err) => {
+ this.dataStatuses.connection = DataStatus.Error;
+ this.webSocket = undefined;
});
socket.on('UPDATE', (data: APIData) => {
@@ -347,6 +353,7 @@ export const useStore = defineStore('store', {
});
this.webSocket = socket;
+ this.dataStatuses.connection = DataStatus.Loaded;
},
async connectToAPI() {