mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-04 22:08:12 +00:00
Zmiana w ułożeniu elementów w widoku scenerii
This commit is contained in:
@@ -37,10 +37,6 @@ export default defineComponent({
|
|||||||
@import '../../styles/variables.scss';
|
@import '../../styles/variables.scss';
|
||||||
@import '../../styles/responsive.scss';
|
@import '../../styles/responsive.scss';
|
||||||
|
|
||||||
.info-header {
|
|
||||||
padding-top: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scenery-name {
|
.scenery-name {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: $accentCol;
|
color: $accentCol;
|
||||||
@@ -48,7 +44,6 @@ export default defineComponent({
|
|||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
font-size: 3.5em;
|
font-size: 3.5em;
|
||||||
margin-top: 0.25em;
|
|
||||||
|
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
|
|
||||||
@@ -63,11 +58,9 @@ export default defineComponent({
|
|||||||
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.scenery-authors {
|
.scenery-authors {
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,12 @@
|
|||||||
<!-- spawn list -->
|
<!-- spawn list -->
|
||||||
<scenery-info-spawn-list :station="station" />
|
<scenery-info-spawn-list :station="station" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="info-actions">
|
||||||
|
<button class="btn btn--option">Pokaż historię obecnego dyżurnego</button>
|
||||||
|
<button class="btn btn--option">Pokaż historię dyżurów tej scenerii</button>
|
||||||
|
<button class="btn btn--option">Pokaż temat forum scenerii</button>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -81,10 +87,22 @@ h3.section-header {
|
|||||||
|
|
||||||
.info-lists {
|
.info-lists {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(auto-fit, minmax(300px, 400px));
|
grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.info-actions {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
margin-top: 1em;
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
margin: 0.5em;
|
||||||
|
box-shadow: 0 0 10px 4px #242424;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.badge {
|
.badge {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<transition name="scenery-timetable-list-anim" mode="out-in">
|
<transition name="scenery-timetable-list-anim" mode="out-in">
|
||||||
<div :key="store.dataStatuses.trains + selectedCheckpoint">
|
<div :key="store.dataStatuses.trains + selectedCheckpoint" class="scenery-timetable-list">
|
||||||
<div style="padding-bottom: 5em" v-if="store.dataStatuses.trains == 0 && computedScheduledTrains.length == 0">
|
<div style="padding-bottom: 5em" v-if="store.dataStatuses.trains == 0 && computedScheduledTrains.length == 0">
|
||||||
<Loading />
|
<Loading />
|
||||||
</div>
|
</div>
|
||||||
@@ -63,11 +63,11 @@
|
|||||||
<span class="content" v-html="scheduledTrain.stopInfo.comments"> </span>
|
<span class="content" v-html="scheduledTrain.stopInfo.comments"> </span>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
|
||||||
<span style="color: white">
|
<span style="color: white">
|
||||||
{{ scheduledTrain.driverName }}
|
{{ scheduledTrain.driverName }}
|
||||||
</span>
|
</span>
|
||||||
|
|
|
|
||||||
<span class="general-status">
|
<span class="general-status">
|
||||||
<span :class="scheduledTrain.stopStatus">
|
<span :class="scheduledTrain.stopStatus">
|
||||||
{{ $t(`timetables.${scheduledTrain.stopStatus}`) }}
|
{{ $t(`timetables.${scheduledTrain.stopStatus}`) }}
|
||||||
@@ -272,15 +272,13 @@ export default defineComponent({
|
|||||||
@import '../../styles/variables.scss';
|
@import '../../styles/variables.scss';
|
||||||
|
|
||||||
h3.timetable-header {
|
h3.timetable-header {
|
||||||
margin: 0.5em 0;
|
|
||||||
padding: 0.3em;
|
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
|
margin: 1em 0;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -318,6 +316,13 @@ h3.timetable-header {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.scenery-timetable-list {
|
||||||
|
max-height: 75vh;
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
|
padding: 0 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
.timetable {
|
.timetable {
|
||||||
&-count {
|
&-count {
|
||||||
margin-left: 0.5em;
|
margin-left: 0.5em;
|
||||||
@@ -358,7 +363,6 @@ h3.timetable-header {
|
|||||||
&-schedule {
|
&-schedule {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(auto-fit, minmax(30px, 1fr));
|
grid-template-columns: repeat(auto-fit, minmax(30px, 1fr));
|
||||||
font-size: 1.15em;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -367,8 +371,8 @@ h3.timetable-header {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
font-size: 1.1em;
|
||||||
font-size: 1.2em;
|
margin: 0.75em 0;
|
||||||
|
|
||||||
.checkpoint_item {
|
.checkpoint_item {
|
||||||
&.current {
|
&.current {
|
||||||
@@ -412,6 +416,9 @@ h3.timetable-header {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.general-info {
|
.general-info {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
.info-number {
|
.info-number {
|
||||||
color: $accentCol;
|
color: $accentCol;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -344,6 +344,7 @@ export const useStore = defineStore('store', {
|
|||||||
|
|
||||||
socket.on('UPDATE', (data: APIData) => {
|
socket.on('UPDATE', (data: APIData) => {
|
||||||
this.apiData = data;
|
this.apiData = data;
|
||||||
|
this.dataStatuses.connection = DataStatus.Loaded;
|
||||||
this.setOnlineData();
|
this.setOnlineData();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -353,7 +354,6 @@ export const useStore = defineStore('store', {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.webSocket = socket;
|
this.webSocket = socket;
|
||||||
this.dataStatuses.connection = DataStatus.Loaded;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
async connectToAPI() {
|
async connectToAPI() {
|
||||||
|
|||||||
+36
-22
@@ -9,6 +9,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="scenery-wrapper" v-if="stationInfo" ref="card-wrapper">
|
<div class="scenery-wrapper" v-if="stationInfo" ref="card-wrapper">
|
||||||
|
<div class="scenery-left">
|
||||||
|
<div class="scenery-actions">
|
||||||
<button
|
<button
|
||||||
v-if="!timetableOnly"
|
v-if="!timetableOnly"
|
||||||
class="back-btn btn btn--image"
|
class="back-btn btn btn--image"
|
||||||
@@ -18,7 +20,7 @@
|
|||||||
<img :src="icons.back" alt="Back to scenery" />
|
<img :src="icons.back" alt="Back to scenery" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<!-- <button
|
||||||
v-if="!timetableOnly && store.region.id == 'eu' && stationInfo"
|
v-if="!timetableOnly && store.region.id == 'eu' && stationInfo"
|
||||||
class="history-btn btn btn--image"
|
class="history-btn btn btn--image"
|
||||||
@click="
|
@click="
|
||||||
@@ -28,14 +30,18 @@
|
|||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img :src="viewMode == 'history' ? icons.user : icons.history" alt="icon" />
|
<img :src="viewMode == 'history' ? icons.user : icons.history" alt="icon" />
|
||||||
</button>
|
</button> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
<SceneryHeader :station="stationInfo" />
|
<SceneryHeader :station="stationInfo" />
|
||||||
|
|
||||||
<SceneryInfo :station="stationInfo" :timetableOnly="timetableOnly" />
|
<SceneryInfo :station="stationInfo" :timetableOnly="timetableOnly" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="scenery-right">
|
||||||
<SceneryTimetable :station="stationInfo" :timetableOnly="timetableOnly" />
|
<SceneryTimetable :station="stationInfo" :timetableOnly="timetableOnly" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@@ -121,8 +127,6 @@ $sceneryBgCol: #333;
|
|||||||
|
|
||||||
.scenery {
|
.scenery {
|
||||||
&-view {
|
&-view {
|
||||||
min-height: 550px;
|
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
@@ -142,42 +146,52 @@ $sceneryBgCol: #333;
|
|||||||
margin: 1em auto;
|
margin: 1em auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.scenery-wrapper {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 4fr 5fr;
|
||||||
|
gap: 0 1em;
|
||||||
|
|
||||||
&-wrapper {
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 1100px;
|
max-width: 1500px;
|
||||||
|
|
||||||
@include midScreen {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
background: #292929;
|
background: #292929;
|
||||||
padding: 1em;
|
padding: 1.5em;
|
||||||
margin: 1rem 0;
|
margin: 1rem 0;
|
||||||
|
|
||||||
border-radius: 1.5em;
|
border-radius: 1.5em;
|
||||||
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.scenery-left {
|
||||||
|
height: 80vh;
|
||||||
|
max-height: 1000px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scenery-actions {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
button.btn {
|
button.btn {
|
||||||
position: absolute;
|
|
||||||
padding: 0.25em;
|
|
||||||
|
|
||||||
top: 0.5em;
|
|
||||||
img {
|
img {
|
||||||
width: 2em;
|
width: 2em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
button.history-btn {
|
@include midScreen {
|
||||||
right: 0.5em;
|
.scenery-wrapper {
|
||||||
}
|
grid-template-columns: 1fr;
|
||||||
|
gap: 0;
|
||||||
|
}
|
||||||
|
|
||||||
button.back-btn {
|
.scenery-left {
|
||||||
left: 0.5em;
|
height: auto;
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user