-
-
+
-
-
-
+
+
+
@@ -122,6 +101,7 @@ import { defineComponent } from 'vue';
import { useMainStore } from '../stores/mainStore';
import { useApiStore } from '../stores/apiStore';
import { RowIndex, type ITableRow } from '../typings/common';
+import FiltersDropdown from '../components/FiltersDropdown.vue';
const departureInfoEmptyObj: ITableRow = {
timetableId: -1,
@@ -151,6 +131,8 @@ const departureInfoEmptyObj: ITableRow = {
};
export default defineComponent({
+ components: { FiltersDropdown },
+
props: {
stationName: {
type: String,
@@ -170,6 +152,8 @@ export default defineComponent({
includeNonPassenger: true,
includeArrivals: true,
+ isFiltersDropdownOpen: false,
+
isAnimationRunning: true,
lastRefreshTime: 0,
@@ -362,6 +346,20 @@ export default defineComponent({
this.mainStore.selectedStation?.stationCheckpoints[0] || this.stationName;
},
+ selectStation() {
+ console.log('xd');
+ this.$router.push({
+ path: '/board',
+ query: {
+ name: this.mainStore.selectedStationName,
+ region: this.mainStore.region
+ }
+ });
+
+ this.selectDefaultCheckpoint();
+ this.shuffleRoutes();
+ },
+
abbrevStationName(name: string) {
return name.toUpperCase();
},
@@ -466,6 +464,19 @@ export default defineComponent({
}
}
+.filters-anim {
+ &-enter-active,
+ &-leave-active {
+ transition: all 100ms ease-in-out;
+ }
+
+ &-enter-from,
+ &-leave-to {
+ opacity: 0;
+ transform: translateY(15px);
+ }
+}
+
/* ************** */
.pragotron {
@@ -475,11 +486,19 @@ export default defineComponent({
}
.pragotron_options {
+ position: relative;
display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
+ justify-content: flex-end;
width: 100%;
- margin-bottom: 0.5em;
+}
+
+.options-btn {
+ display: flex;
+ align-items: center;
+ gap: 0.25em;
+ font-weight: bold;
+ padding: 0.25em 0.5em;
+ border-radius: 0.5em 0.5em 0 0;
}
.pragotron_content {