diff --git a/app/Http/Controllers/Frontend/VueFrontendController.php b/app/Http/Controllers/Frontend/VueFrontendController.php
index f0003896f..b178f138b 100644
--- a/app/Http/Controllers/Frontend/VueFrontendController.php
+++ b/app/Http/Controllers/Frontend/VueFrontendController.php
@@ -2,8 +2,6 @@
namespace App\Http\Controllers\Frontend;
-
-
use Illuminate\View\View;
class VueFrontendController
diff --git a/lang/de.json b/lang/de.json
index f2c8fb06b..596728924 100644
--- a/lang/de.json
+++ b/lang/de.json
@@ -790,5 +790,9 @@
"trip_creation.limitations.2.small": "(wir versuchen, eine Route über Brouter zu finden, aber das funktioniert nicht immer zuverlässig)",
"trip_creation.limitations.3": "Der Trip wird öffentlich erstellt - wenn du also eincheckst, kann jeder, der deinen Status sehen kann, ebenfalls in diesen Trip einchecken.",
"trip_creation.limitations.4": "Der Betreiber kann in diesem Formular nicht festgelegt werden (über API möglich)",
- "trip_creation.limitations.5": "Es gibt keine sichtbaren Fehlermeldungen für dieses Formular. Wenn also beim Absenden nichts passiert, liegt irgendwo ein Fehler vor."
+ "trip_creation.limitations.5": "Es gibt keine sichtbaren Fehlermeldungen für dieses Formular. Wenn also beim Absenden nichts passiert, liegt irgendwo ein Fehler vor.",
+ "action.error": "Diese Aktion konnte leider nicht ausgeführt werden. Bitte versuche es später noch einmal.",
+ "action.like": "Status liken",
+ "action.dislike": "Status nicht mehr liken",
+ "action.set-home": "Heimathaltestelle setzen"
}
diff --git a/lang/en.json b/lang/en.json
index fc8daf631..abbb25b51 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -790,5 +790,9 @@
"trip_creation.limitations.2.small": "(we try to approximate a route via Brouter, but this may not always work properly)",
"trip_creation.limitations.3": "The trip is created public - so if you check in to a trip, everyone who can see your status can also check in to this trip.",
"trip_creation.limitations.4": "The operator can't be set in this form (possible via API)",
- "trip_creation.limitations.5": "There are no visible error messages for this form. So, if nothing happens on submit... sorry. There is an error."
+ "trip_creation.limitations.5": "There are no visible error messages for this form. So, if nothing happens on submit... sorry. There is an error.",
+ "action.error": "This action could not be executed. Please try again later.",
+ "action.like": "Like status",
+ "action.dislike": "Dislike status",
+ "action.set-home": "Set home station"
}
diff --git a/resources/types/Departure.ts b/resources/types/Departure.ts
new file mode 100644
index 000000000..011810f15
--- /dev/null
+++ b/resources/types/Departure.ts
@@ -0,0 +1,87 @@
+export type departureEntry = {
+ tripId: string;
+ stop: HafasStop;
+ when: string | null;
+ plannedWhen: string | null;
+ delay: number | null;
+ platform: string | null;
+ prognosisType: string;
+ direction: string;
+ provenance: any | null;
+ line: HafasLine;
+ remarks: any[];
+ origin: any;
+ destination: HafasDestination;
+ currentTripPosition: {
+ type: string;
+ latitude: number;
+ longitude: number
+ }
+ cancelled: boolean|null|undefined;
+ station: {
+ id: number;
+ ibnr: number;
+ wikidata_id: null|any;
+ ifopt_a: any|null;
+ ifopt_b: any|null;
+ ifopt_c: any|null;
+ ifopt_d: any|null;
+ ifopt_e: any|null;
+ rilIdentifier: string|null;
+ name: string;
+ latitude: number|null;
+ longitude: number|null;
+ ifopt: any|null;
+ }
+}
+
+export type HafasDestination = {
+ type: string;
+ id: string;
+ name: string;
+ location: HafasLocation;
+ products: {
+ [key: string]: boolean;
+ }
+ station: HafasStation;
+}
+
+export type HafasLine = {
+ type: string;
+ id: string;
+ fahrtNr: string;
+ name: string;
+ public: any;
+ adminCode: any;
+ productName: any;
+ mode: any;
+ product: any;
+ operator: any;
+}
+
+export type HafasStop = {
+ type: string;
+ id: string;
+ name: string;
+ location: HafasLocation;
+ products: {
+ [key: string]: boolean;
+ }
+ station: HafasStation
+}
+export type HafasStation = {
+ type: string;
+ id: string;
+ name: string;
+ location: HafasLocation;
+ products: {
+ [key: string]: boolean;
+ }
+}
+
+export type HafasLocation = {
+ type: string;
+ id: string;
+ latitude: number;
+ longitude: number;
+ }
diff --git a/resources/types/User.ts b/resources/types/User.ts
new file mode 100644
index 000000000..604e32112
--- /dev/null
+++ b/resources/types/User.ts
@@ -0,0 +1,17 @@
+import {ShortStation} from "./Station";
+
+export type User = {
+ displayName: string,
+ username: string,
+ profilePicture: string,
+ trainDistance: number,
+ trainDuration: number,
+ points: number,
+ mastodonUrl: string|null,
+ privateProfile: boolean,
+ privacyHideDays: number,
+ preventIndex: boolean,
+ role: number,
+ home: ShortStation,
+ language: string
+};
diff --git a/resources/vue/components/Checkin/AutocompleteListEntry.vue b/resources/vue/components/Checkin/AutocompleteListEntry.vue
new file mode 100644
index 000000000..9d652fce6
--- /dev/null
+++ b/resources/vue/components/Checkin/AutocompleteListEntry.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
+ {{ trans("stationboard.dep") }} {{ item.stop.name }}
+
+
+
+ {{ formatTime(item.when) }}
+