mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-04 05:48:11 +00:00
Poprawki wizualne
This commit is contained in:
@@ -2,28 +2,15 @@
|
|||||||
<div class="train-stats">
|
<div class="train-stats">
|
||||||
<div class="stats_button">
|
<div class="stats_button">
|
||||||
<action-button @click="toggleStatsOpen">
|
<action-button @click="toggleStatsOpen">
|
||||||
<img
|
<img :src="statsIcon" :alt="$t('trains.stats')" />
|
||||||
:src="statsIcon"
|
<p>{{ $t("trains.stats") }}</p>
|
||||||
:alt="$t('trains.stats')"
|
|
||||||
/>
|
|
||||||
<p class="xd">{{ $t("trains.stats") }}</p>
|
|
||||||
</action-button>
|
</action-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<transition
|
<transition name="stats-anim" class="stats_wrapper" tag="div">
|
||||||
name="stats-anim"
|
<div class="stats-body" v-if="trainStatsOpen">
|
||||||
class="stats_wrapper"
|
|
||||||
tag="div"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="stats-body"
|
|
||||||
v-if="trainStatsOpen"
|
|
||||||
>
|
|
||||||
<h2 class="stats-header">
|
<h2 class="stats-header">
|
||||||
<img
|
<img :src="statsIcon" :alt="$t('trains.stats')" />
|
||||||
:src="statsIcon"
|
|
||||||
:alt="$t('trains.stats')"
|
|
||||||
/>
|
|
||||||
{{ $t("trains.stats") }}
|
{{ $t("trains.stats") }}
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
@@ -83,11 +70,7 @@
|
|||||||
<div class="title stats-title">{{ $t("trains.stats-locos") }}</div>
|
<div class="title stats-title">{{ $t("trains.stats-locos") }}</div>
|
||||||
|
|
||||||
<div class="loco-list stats-content">
|
<div class="loco-list stats-content">
|
||||||
<div
|
<div class="loco-item" v-for="(loco, i) in locoList" :key="i">
|
||||||
class="loco-item"
|
|
||||||
v-for="(loco, i) in locoList"
|
|
||||||
:key="i"
|
|
||||||
>
|
|
||||||
{{ loco[0] }} | {{ loco[1] }}
|
{{ loco[0] }} | {{ loco[1] }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -259,16 +242,11 @@ export default defineComponent({
|
|||||||
position: relative;
|
position: relative;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 99;
|
z-index: 99;
|
||||||
|
|
||||||
&:focus {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.stats {
|
.stats {
|
||||||
&_wrapper {
|
&_wrapper {
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
|
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
:key="i"
|
:key="i"
|
||||||
:ref="
|
:ref="
|
||||||
(el) => {
|
(el) => {
|
||||||
|
observer.observe(el);
|
||||||
|
|
||||||
if (!train.timetableData) return;
|
if (!train.timetableData) return;
|
||||||
elList[train.timetableData.timetableId] = el;
|
elList[train.timetableData.timetableId] = el;
|
||||||
}
|
}
|
||||||
@@ -264,32 +266,40 @@ export default defineComponent({
|
|||||||
|
|
||||||
onBeforeUpdate(() => {
|
onBeforeUpdate(() => {
|
||||||
elList.value.length = 0;
|
elList.value.length = 0;
|
||||||
|
observer.disconnect();
|
||||||
});
|
});
|
||||||
|
|
||||||
const timetableDataStatus: ComputedRef<DataStatus> = computed(
|
const timetableDataStatus: ComputedRef<DataStatus> = computed(
|
||||||
() => store.getters[GETTERS.timetableDataStatus]
|
() => store.getters[GETTERS.timetableDataStatus]
|
||||||
);
|
);
|
||||||
|
|
||||||
const timetableLoaded = computed(
|
const observer = new IntersectionObserver((entries) => {
|
||||||
() => timetableDataStatus.value === DataStatus.Loaded
|
entries.forEach((entry) => {
|
||||||
);
|
if (entry.isIntersecting) {
|
||||||
const timetableError = computed(
|
(entry.target as HTMLElement).classList.add("visible");
|
||||||
() => timetableDataStatus.value === DataStatus.Error
|
return;
|
||||||
);
|
}
|
||||||
|
|
||||||
const distanceLimitExceeded = computed(
|
(entry.target as HTMLElement).classList.remove("visible");
|
||||||
() =>
|
});
|
||||||
props.computedTrains.findIndex(
|
});
|
||||||
({ timetableData }) =>
|
|
||||||
timetableData && timetableData.routeDistance > 200
|
|
||||||
) != -1
|
|
||||||
);
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
timetableLoaded,
|
|
||||||
timetableError,
|
|
||||||
distanceLimitExceeded,
|
|
||||||
elList,
|
elList,
|
||||||
|
observer,
|
||||||
|
timetableLoaded: computed(
|
||||||
|
() => timetableDataStatus.value === DataStatus.Loaded
|
||||||
|
),
|
||||||
|
timetableError: computed(
|
||||||
|
() => timetableDataStatus.value === DataStatus.Error
|
||||||
|
),
|
||||||
|
distanceLimitExceeded: computed(
|
||||||
|
() =>
|
||||||
|
props.computedTrains.findIndex(
|
||||||
|
({ timetableData }) =>
|
||||||
|
timetableData && timetableData.routeDistance > 200
|
||||||
|
) != -1
|
||||||
|
),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
overflow: auto;
|
overflow: auto;
|
||||||
background: $primaryCol;
|
background: $primaryCol;
|
||||||
|
|
||||||
box-shadow: 0 0 15px 5px #474747;
|
box-shadow: 0 0 15px 5px #292929;
|
||||||
|
|
||||||
width: 650px;
|
width: 650px;
|
||||||
max-height: 95%;
|
max-height: 95%;
|
||||||
|
|||||||
Reference in New Issue
Block a user