mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-04 22:08:12 +00:00
Dodano uwagi eksploatacyjne na liście rozkładów scenerii; poprawki tooltipów
This commit is contained in:
@@ -40,22 +40,30 @@
|
|||||||
>
|
>
|
||||||
<span class="timetable-general">
|
<span class="timetable-general">
|
||||||
<span class="general-info">
|
<span class="general-info">
|
||||||
<span>
|
<span class="info-number">
|
||||||
<strong>{{ scheduledTrain.category }}</strong>
|
<strong>{{ scheduledTrain.category }}</strong>
|
||||||
{{ scheduledTrain.trainNo }}
|
{{ scheduledTrain.trainNo }}
|
||||||
|
|
||||||
|
<span class="g-tooltip" v-if="scheduledTrain.stopInfo.comments">
|
||||||
|
<img :src="icons.warning" />
|
||||||
|
<span class="content" v-html="scheduledTrain.stopInfo.comments"> </span>
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
|
||||||
<span style="color: white">
|
<span style="color: white">
|
||||||
{{ scheduledTrain.driverName }}
|
{{ scheduledTrain.driverName }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<div class="info-route">
|
<div class="info-route">
|
||||||
<strong>{{ scheduledTrain.beginsAt }} - {{ scheduledTrain.terminatesAt }}</strong>
|
<strong>{{ scheduledTrain.beginsAt }} - {{ scheduledTrain.terminatesAt }}</strong>
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="general-status">
|
<span class="general-status">
|
||||||
<span :class="scheduledTrain.stopStatus">{{ $t(`timetables.${scheduledTrain.stopStatus}`) }} </span>
|
<span :class="scheduledTrain.stopStatus">{{ $t(`timetables.${scheduledTrain.stopStatus}`) }} </span>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="timetable-schedule">
|
<span class="timetable-schedule">
|
||||||
<span class="schedule-arrival">
|
<span class="schedule-arrival">
|
||||||
<span
|
<span
|
||||||
@@ -64,10 +72,12 @@
|
|||||||
v-html="$t('timetables.begins')"
|
v-html="$t('timetables.begins')"
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="arrival-time" v-else>
|
<span class="arrival-time" v-else>
|
||||||
{{ scheduledTrain.stopInfo.arrivalTimeString }} ({{ scheduledTrain.stopInfo.arrivalDelay }})
|
{{ scheduledTrain.stopInfo.arrivalTimeString }} ({{ scheduledTrain.stopInfo.arrivalDelay }})
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="schedule-stop">
|
<span class="schedule-stop">
|
||||||
<span class="stop-time" v-if="scheduledTrain.stopInfo.stopTime">
|
<span class="stop-time" v-if="scheduledTrain.stopInfo.stopTime">
|
||||||
{{ scheduledTrain.stopInfo.stopTime }}
|
{{ scheduledTrain.stopInfo.stopTime }}
|
||||||
@@ -75,6 +85,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<span class="stop-arrow arrow"></span>
|
<span class="stop-arrow arrow"></span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="schedule-departure">
|
<span class="schedule-departure">
|
||||||
<span
|
<span
|
||||||
class="departure-time terminates"
|
class="departure-time terminates"
|
||||||
@@ -82,6 +93,7 @@
|
|||||||
v-html="$t('timetables.terminates')"
|
v-html="$t('timetables.terminates')"
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="departure-time" v-else>
|
<span class="departure-time" v-else>
|
||||||
{{ scheduledTrain.stopInfo.departureTimeString }} ({{ scheduledTrain.stopInfo.departureDelay }})
|
{{ scheduledTrain.stopInfo.departureTimeString }} ({{ scheduledTrain.stopInfo.departureDelay }})
|
||||||
</span>
|
</span>
|
||||||
@@ -118,6 +130,9 @@ export default defineComponent({
|
|||||||
data: () => ({
|
data: () => ({
|
||||||
viewIcon: require('@/assets/icon-view.svg'),
|
viewIcon: require('@/assets/icon-view.svg'),
|
||||||
listOpen: false,
|
listOpen: false,
|
||||||
|
icons: {
|
||||||
|
warning: require('@/assets/icon-warning.svg'),
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
|
|
||||||
setup(props) {
|
setup(props) {
|
||||||
@@ -128,7 +143,11 @@ export default defineComponent({
|
|||||||
|
|
||||||
const timetableDataStatus = computed(() => store.getters[GETTERS.timetableDataStatus]) as ComputedRef<DataStatus>;
|
const timetableDataStatus = computed(() => store.getters[GETTERS.timetableDataStatus]) as ComputedRef<DataStatus>;
|
||||||
|
|
||||||
const selectedCheckpoint = ref('');
|
const selectedCheckpoint = ref(
|
||||||
|
props.station?.generalInfo?.checkpoints?.length == 0
|
||||||
|
? ''
|
||||||
|
: props.station?.generalInfo?.checkpoints[0].checkpointName || ''
|
||||||
|
);
|
||||||
|
|
||||||
const computedScheduledTrains = computed(() => {
|
const computedScheduledTrains = computed(() => {
|
||||||
if (!props.station) return [];
|
if (!props.station) return [];
|
||||||
@@ -236,82 +255,6 @@ h3 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.select-box {
|
|
||||||
font-size: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.option {
|
|
||||||
&-container {
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
input {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
label {
|
|
||||||
padding: 0.5em 0.35em;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-item {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: rgba(#868686, 0.85);
|
|
||||||
}
|
|
||||||
|
|
||||||
transition: background 150ms ease-in;
|
|
||||||
}
|
|
||||||
|
|
||||||
&-selected,
|
|
||||||
&-list {
|
|
||||||
background: #444;
|
|
||||||
border-radius: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
&-selected {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
padding: 0.35em 0.7em;
|
|
||||||
min-width: 10em;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
span {
|
|
||||||
margin-right: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
max-width: 0.75em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&-list {
|
|
||||||
position: absolute;
|
|
||||||
top: 100%;
|
|
||||||
left: 0;
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
z-index: 10;
|
|
||||||
|
|
||||||
background-color: rgba(#222, 0.95);
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
max-height: 0;
|
|
||||||
|
|
||||||
&.open {
|
|
||||||
max-height: 250px;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
transition: all 150ms ease-in;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.timetable {
|
.timetable {
|
||||||
&-header {
|
&-header {
|
||||||
a {
|
a {
|
||||||
@@ -335,6 +278,7 @@ h3 {
|
|||||||
background: $bgLigtherCol;
|
background: $bgLigtherCol;
|
||||||
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
z-index: 10;
|
||||||
|
|
||||||
@include smallScreen() {
|
@include smallScreen() {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -363,8 +307,6 @@ h3 {
|
|||||||
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
@include smallScreen() {
|
@include smallScreen() {
|
||||||
width: 95%;
|
width: 95%;
|
||||||
font-size: 1.3em;
|
font-size: 1.3em;
|
||||||
@@ -433,13 +375,23 @@ h3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.general-info {
|
.general-info {
|
||||||
span {
|
.info-number {
|
||||||
color: $accentCol;
|
color: $accentCol;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-route {
|
.info-route {
|
||||||
margin-top: 0.5em;
|
margin-top: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.g-tooltip > .content {
|
||||||
|
z-index: 100;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 1.1em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.general-status {
|
.general-status {
|
||||||
|
|||||||
@@ -87,7 +87,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import TrainStop from '@/scripts/interfaces/TrainStop';
|
import TrainStop from '@/scripts/interfaces/TrainStop';
|
||||||
import { computed, defineComponent } from '@vue/runtime-core';
|
import { computed, defineComponent } from '@vue/runtime-core';
|
||||||
import decodedChars from '@/data/decodedChars.json';
|
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
props: {
|
props: {
|
||||||
@@ -148,11 +147,6 @@ export default defineComponent({
|
|||||||
'last-confirmed': index == this.lastConfirmed && !stop.terminatesHere,
|
'last-confirmed': index == this.lastConfirmed && !stop.terminatesHere,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
decodeSWDRComment(comment: string) {
|
|
||||||
const test = 'kurwęaę';
|
|
||||||
const charsToDecode = test.split('&#x');
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@@ -214,13 +208,12 @@ $stopNameClr: #22a8d1;
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.g-tooltip > .content {
|
.g-tooltip {
|
||||||
font-size: 0.9em;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
width: 1em;
|
|
||||||
margin-left: 0.5em;
|
margin-left: 0.5em;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 1em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"Ó": "Ó",
|
|
||||||
"ó": "ó",
|
|
||||||
"Ą": "Ą",
|
|
||||||
"ą": "ą",
|
|
||||||
"Ć": "Ć",
|
|
||||||
"ć": "ć",
|
|
||||||
"ʀ": "Ę",
|
|
||||||
"ʁ": "ę",
|
|
||||||
"Ł": "Ł",
|
|
||||||
"ł": "ł",
|
|
||||||
"Ń": "Ń",
|
|
||||||
"ń": "ń",
|
|
||||||
"Ś": "Ś",
|
|
||||||
"ś": "ś",
|
|
||||||
"Ź": "Ź",
|
|
||||||
"ź": "ź",
|
|
||||||
"Ż": "Ż",
|
|
||||||
"ż": "ż"
|
|
||||||
}
|
|
||||||
@@ -50,13 +50,16 @@ body {
|
|||||||
.g-tooltip {
|
.g-tooltip {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
z-index: 11;
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
|
||||||
|
z-index: 100;
|
||||||
|
|
||||||
transform: translate(-50%, -120%);
|
transform: translate(-50%, -120%);
|
||||||
|
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
@@ -67,10 +70,10 @@ body {
|
|||||||
background-color: gray;
|
background-color: gray;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
padding: 0.15em;
|
|
||||||
border-radius: .5em;
|
border-radius: .5em;
|
||||||
|
|
||||||
transition: opacity 0.3s;
|
transition: opacity 0.3s;
|
||||||
|
padding: 0.25em;
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
|
|||||||
Reference in New Issue
Block a user