chore(scenery): changed appearance of the return button

This commit is contained in:
2025-07-02 18:50:11 +02:00
parent bb5fc395d2
commit 4af856b833
6 changed files with 51 additions and 84 deletions
+48 -16
View File
@@ -1,5 +1,13 @@
<template> <template>
<section class="info-header"> <section class="info-header">
<button
class="btn btn-return btn--action"
:title="$t('scenery.return-btn')"
@click="onReturnButtonClick"
>
<img src="/images/icon-back.svg" alt="return button" />
</button>
<a class="scenery-name" :href="station?.generalInfo?.url" target="_blank"> <a class="scenery-name" :href="station?.generalInfo?.url" target="_blank">
{{ stationName.replace(/_/g, ' ') }} {{ stationName.replace(/_/g, ' ') }}
</a> </a>
@@ -12,39 +20,57 @@
</section> </section>
</template> </template>
<script lang="ts"> <script lang="ts" setup>
import { PropType, defineComponent } from 'vue'; import { onMounted, PropType, ref } from 'vue';
import { ActiveScenery, Station } from '../../typings/common'; import { ActiveScenery, Station } from '../../typings/common';
import { useRoute, useRouter } from 'vue-router';
export default defineComponent({ const route = useRoute();
props: { const router = useRouter();
station: {
type: Object as PropType<Station>
},
stationName: { const prevPath = ref('/');
type: String,
required: true
},
onlineScenery: { onMounted(() => {
type: Object as PropType<ActiveScenery> prevPath.value = (route.meta['prevPath'] as string) ?? '/';
} });
defineProps({
station: {
type: Object as PropType<Station>
},
stationName: {
type: String,
required: true
},
onlineScenery: {
type: Object as PropType<ActiveScenery>
} }
}); });
function onReturnButtonClick() {
router.push(prevPath.value);
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use '../../styles/responsive'; @use '../../styles/responsive';
.info-header { .btn-return {
margin-top: 1em; margin-bottom: 1em;
img {
width: 2em;
}
} }
.scenery-name { .scenery-name {
font-weight: bold; font-weight: bold;
font-size: 3em; font-size: 3em;
text-align: center;
text-transform: uppercase; text-transform: uppercase;
} }
@@ -58,4 +84,10 @@ export default defineComponent({
color: #aaa; color: #aaa;
font-size: 1.2em; font-size: 1.2em;
} }
@include responsive.smallScreen {
.scenery-name {
font-size: 2.5em;
}
}
</style> </style>
+1 -1
View File
@@ -543,7 +543,7 @@
"no-users": "NO ACTIVE PLAYERS", "no-users": "NO ACTIVE PLAYERS",
"no-spawns": "NO OPEN SPAWNS", "no-spawns": "NO OPEN SPAWNS",
"no-scenery": "Oops! This scenery doesn't exist!", "no-scenery": "Oops! This scenery doesn't exist!",
"return-btn": "Return", "return-btn": "BACK TO THE LAST SITE",
"history-btn": "View the dispatcher history", "history-btn": "View the dispatcher history",
"info-btn": "Return to the scenery view", "info-btn": "Return to the scenery view",
"authors-title": "Scenery author | Scenery authors", "authors-title": "Scenery author | Scenery authors",
+1 -1
View File
@@ -529,7 +529,7 @@
"no-users": "BRAK AKTYWNYCH GRACZY", "no-users": "BRAK AKTYWNYCH GRACZY",
"no-spawns": "BRAK OTWARTYCH SPAWNÓW", "no-spawns": "BRAK OTWARTYCH SPAWNÓW",
"no-scenery": "Ups! Ta sceneria nie istnieje!", "no-scenery": "Ups! Ta sceneria nie istnieje!",
"return-btn": "Powrót", "return-btn": "POWRÓT DO POPRZEDNIEJ STRONY",
"history-btn": "Przejdź do widoku historii dyżurnych ruchu", "history-btn": "Przejdź do widoku historii dyżurnych ruchu",
"info-btn": "Wróć do widoku scenerii", "info-btn": "Wróć do widoku scenerii",
"authors-title": "Autor scenerii | Autorzy scenerii", "authors-title": "Autor scenerii | Autorzy scenerii",
-42
View File
@@ -297,48 +297,6 @@ a.a-button {
} }
} }
.return-btn {
display: none;
justify-content: center;
align-items: center;
position: fixed;
right: 2.5rem;
bottom: 4rem;
z-index: 100;
width: 3.5rem;
font-size: 3rem;
background-color: #555;
outline: 3px solid #222;
color: white;
border-radius: 50%;
cursor: pointer;
&:hover {
background-color: #3c3c3c;
}
img {
width: 1.3em;
}
@include responsive.smallScreen {
bottom: 1em;
right: 0;
left: 50%;
width: 1em;
height: 1em;
transform: translateX(-50%);
}
}
// Basic tooltip // Basic tooltip
[data-tooltip] { [data-tooltip] {
cursor: help; cursor: help;
-23
View File
@@ -2,12 +2,6 @@
<div class="scenery-view"> <div class="scenery-view">
<div class="scenery-wrapper" ref="card-wrapper"> <div class="scenery-wrapper" ref="card-wrapper">
<div class="scenery-left"> <div class="scenery-left">
<div class="scenery-actions">
<button class="back-btn" :title="$t('scenery.return-btn')" @click="onReturnButtonClick">
<img src="/images/icon-back.svg" alt="return button" />
</button>
</div>
<SceneryHeader <SceneryHeader
:stationName="station" :stationName="station"
:station="stationInfo" :station="stationInfo"
@@ -63,14 +57,11 @@ import SceneryTimetablesHistory from '../components/SceneryView/SceneryTimetable
import SceneryDispatchersHistory from '../components/SceneryView/SceneryDispatchersHistory.vue'; import SceneryDispatchersHistory from '../components/SceneryView/SceneryDispatchersHistory.vue';
import { useApiStore } from '../store/apiStore'; import { useApiStore } from '../store/apiStore';
import { ref } from 'vue';
import { Status } from '../typings/common'; import { Status } from '../typings/common';
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const prevPath = ref('/');
const props = defineProps({ const props = defineProps({
region: { region: {
type: String, type: String,
@@ -101,10 +92,6 @@ const viewModes = [
} }
]; ];
onMounted(() => {
prevPath.value = (route.meta['prevPath'] as string) ?? '/';
});
const currentMode = computed(() => { const currentMode = computed(() => {
return route.query.view?.toString() ?? 'SceneryTimetable'; return route.query.view?.toString() ?? 'SceneryTimetable';
}); });
@@ -139,21 +126,11 @@ function setViewMode(componentName: string) {
} }
}); });
} }
function onReturnButtonClick() {
router.push(prevPath.value);
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@use '../styles/responsive'; @use '../styles/responsive';
button.back-btn {
img {
width: 2em;
}
}
.scenery { .scenery {
&-view { &-view {
display: flex; display: flex;
+1 -1
View File
@@ -3202,7 +3202,7 @@ sharp@*, sharp@^0.33.5:
showdown@^2.1.0: showdown@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.npmjs.org/showdown/-/showdown-2.1.0.tgz" resolved "https://registry.yarnpkg.com/showdown/-/showdown-2.1.0.tgz#1251f5ed8f773f0c0c7bfc8e6fd23581f9e545c5"
integrity sha512-/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ== integrity sha512-/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ==
dependencies: dependencies:
commander "^9.0.0" commander "^9.0.0"